- ベストアンサー
MSDOSコマンドでディレクトリ内をきれいにする方法とは?
- MSDOSコマンドを使用してディレクトリ内のファイルやサブディレクトリを移動および削除する方法について教えてください。
- バッチファイルを使用して複数のコマンドを実行する場合も考慮してください。
- del、move、rmdirコマンドなど単体では対応できない場合もありますので、代替策も教えていただけると幸いです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
MS-DOSはもう過去の物なので、「コマンドプロンプトで」とか「バッチファイルで」という質問ですよね? 簡単には、 (1) if exist C:\TEST_NEW rd /s /q C:\TEST_NEW move C:\TEST C:\TEST_NEW mkdir C:\TEST (2) rd /s /q C:\TEST mkdir C:\TEST 何かのプログラムが、C:\TEST をつかんでいるので、一時的にでもリネームや削除が出来ないということでしょうか?そういうことであれば、 (1) mkdir C:\TEST_NEW for %%A in (C:\TEST\*) do move "%%~A" C:\TEST_NEW\ for /d %%A in (C:\TEST\*) do move "%%~A" C:\TEST_NEW\ (2) for %%A in (C:\TEST\*) do del "%%~A" もしくは echo Y | del C:\TEST\* for /d %%A in (C:\TEST\*) do rd /s /q "%%~A" いずれもテストしてません。
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
MS-DOSのコマンドの数は少ないので一覧表から使いたいコマンドを選んでダミーを対象に操作してください。 http://www5f.biglobe.ne.jp/~emo/msdos.htm 使用例やオプションスウィッチについてはヘルプで確認されると良いでしょう。
補足
bunjiiさん ご返信ありがとうございました。 参考にさせていただきます。
- maiko0318
- ベストアンサー率21% (1483/6969)
1)すいません。「移動」とあったので元は消すのかと。 元は残しておいてコピーするのであれば xcopy /D /E /I /Q /Y C:\TEST C:\TEST_NEW オプションはコマンドプロンプトでhelp xcopy で確認して必要なものを付けてください。 2)こっちはrmdirでディレクトリーもファイルも全て消えます。 rmdir /Q /S TEST\ をしてみてください。空の時に実行したらTESTが消えるので、 mkdir TEST で作成できます。
補足
maiko0318さん ご返信ありがとうございます。 1)はおっしゃるとおり移動したいので、xcopyではやりたいことができません。 2)は私も考えたのですが、TEST\自体が消えてしまい、新たに作ることになりますが、一度消したくない(フォルダのアイコン場所が異なってしまうため)ためあきらめました。
- maiko0318
- ベストアンサー率21% (1483/6969)
1)move TEST TEST_NEW 2)del /Q TEST\*.* /Qは確認メッセージを表示しない
補足
maiko0318さん ありがとうございます。 1)これも試してみたのですが、これだとTEST_NEWの下にTESTが移動してしまい、かつTESTはなくなってしまいます。 2)これも試してみたのですが、a.txtやb.txtは消えますが、フォルダの中(xxx.txtやyyy.txt)は消えません。 希望としては、TESTとTEST_NEWはずっとそのままで中身だけ1)移動したり2)削除したいです。
お礼
notnotさん ご返信ありがとうございます。 後者のほうでやりたいことができそうだったのですが、何度かテストすると、移動先に、同じディレクトリ名があると、移動できずでした。 そこで教えていただいたサンプルを参考に、 for /d %%A in (C:\TEST\\*) do rmdir /S /Q "%%~A" を付け加えることでやりたいことができるようになりました。 大変助かりました。ありがとうございます。