Я пытаюсь написать сценарий, который удаляет элементы в папке TEMP в Windows 7. Я хочу, чтобы он удалял файлы, которые составляют 30 дней и старше. Я тестирую в папке, которую я установил в переменных среды системы как TESTTEMP.ошибка файлов при удалении папок
У меня есть сценарий следующим образом:
forfiles /p %TESTTEMP% /s /d -30 /c "cmd /c IF @ISDIR==FALSE del @FILE /q"
forfiles /p %TESTTEMP% /s /c "cmd /c IF @ISDIR==TRUE rmdir @FILE"
Моя логика в том, что этот процесс должен сначала удалить все файлы в директории TESTTEMP если файл старше 30 дней, и проверить, во всех подкаталоги. Затем я проверяю оставшиеся файлы, и если это пустой каталог, удалите его.
Этот сценарий отлично работает - все файлы, которые я хочу удалить, удаляются, а те, которые должны оставаться, остаются. Тем не менее, я заметил, что когда я запускаю этот пакетный файл, я получаю сообщение об ошибке The system cannot find the file specified.
Я считаю, что у него есть некоторые проблемы с командой rmdir
и не удается найти каталог, который он только что удалил ...
Это что-то, что я должен будьте обеспокоены, так как сценарий, похоже, делает то, что я хочу, чтобы он делал? Еще лучше, есть ли способ показать, какой файл не найден, поэтому я могу попытаться выяснить, что происходит сам по себе?
Спасибо за помощь!
(Для справки, здесь структуру папок до и после выполнения пакетного файла, предполагая, что все файлы старше 30 дней :)
До:
-TestTemp
-More Test
testfile1.txt
testfile2.txt
testfile3.txt
testfile1.txt
testfile2.txt
testfile3.txt
После:
-TestTemp
Я принимаю этот ответ, потому что он помог мне разобраться, как показать, какой файл был «не найден». Тем не менее, я до сих пор не понимаю, почему я начинаю эту ошибку. –