Ответы:
Вы можете использовать for
и if
команды для достижения этой цели :
for %i in (*) do if not "%~i" == a.c del "%~i"
Он просматривает текущий каталог и сравнивает каждое имя файла с ac. Если оно не совпадает, файл удаляется.
for
регулярно, вы придумаете для него всевозможные сумасшедшие сценарии. :)
del "%i"
IF
заявлении не учитывался регистр, измените его на IF /I
.
Нет, нет Я бы сделал каталог, скопировал в него важный файл, сотри . и переместите файл обратно. Затем удалите временный файл.
mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
%f
могут быть пробелы в имени файла.
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
%app_path%
и %file%
являются корнем дерева для обхода и файлом, чтобы избежать удаления, соответственно. Что такое ^
и почему мы передаем четыре токена на файл Del
команде?
Для скорости я использую delen :
delen /! a.c
TCC / LE также имеет более мощнуюdel
команду:
del /[!a.c] *
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".