web-dev-qa-db-ja.com

1つを除くすべてのファイルを削除するMS-DOSコマンド

1つを除くすべてのファイルを削除できるMS-DOSコマンドはありますか?

例として、次のファイルを考えてみます。

a.001  
a.002  
a.003  
a.exe  
a.c  

a.c以外のすべてのファイルを削除するコマンドはありますか?

26
nunos

forおよびifコマンドを使用して、これを実行できます。

for %i in (*) do if not "%~i" == a.c del "%~i"

これは、現在のディレクトリを通過し、各ファイル名をa.cと比較します。一致しない場合、ファイルは削除されます。

37
Kevin

すべてを削除する前にファイルを読み取り専用に設定できます

attrib +r a.c
del *.*
attrib -r a.c
16
feiht thief

いいえ、ありません。ディレクトリを作成し、重要なファイルをその中にコピーし、を削除して、ファイルを元に戻します。次に一時ファイルを削除します。

mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
10
David Pfeffer
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
3
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
1
Darth

スピードのために、私は delen を使用します:

delen /! a.c

TCC/LE には、より強力なdelコマンドもあります。

del /[!a.c] *
0
paradroid