Как удалить файлы в расположении, кроме исполняемых файлов - PullRequest
0 голосов
/ 07 мая 2020

Я создал пакетный скрипт для удаления файлов старше 7 дней следующим образом:

ForFiles /p "C:\Users\John.Kapen\Desktop" /s /d -7 /c "cmd /c del @file"

Но это также удаляет исполняемые файлы и папки. Я попытался выполнить команду ниже, чтобы исключить удаление исполняемого файла. Но не работает:

for /f %%F in ('C:\Users\John.Kapen\Desktop /b /d -7 /a-d ^| findstr /vile ".exe"') do del "%%F"

Может кто-нибудь мне здесь поможет?

1 Ответ

0 голосов
/ 07 мая 2020

«Справочная страница» forfiles /? содержит следующую информацию:

...
                    @ext     - returns only the extension of the
                               file.
...
Examples:
...
  FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"

Вы можете попробовать что-то вроде (не проверено):

ForFiles /p "C:\Users\John.Kapen\Desktop" /s /d -7 /c "cmd /c if NOT @ext=="""exe""" del @file"
...