#batch-file #date
#пакетный файл #Дата
Вопрос:
@echo off
forfiles /p "C:Documents and SettingsTestDownloads" /d 01/07/2011 /d -15/07/2011 /c "cmd /c echo @file"
pause
Здравствуйте,
Я хотел бы выбрать все файлы, измененные между 01/07/11 и 15/07/11 (французский: jj / mm / aaaa или США: дд / мм / гггг). Но параметр «/ d» можно использовать только один раз. Как я могу это сделать?
Спасибо, если вы можете мне помочь. 🙂
Ответ №1:
Это не опция для этой конкретной команды. Вы можете использовать выбор в качестве входных данных для цикла FOR . Добавьте еще один отступ для каждого необходимого вам критерия.
FOR /F "delims=*" %%A IN ('forfiles /d -05/07/2011') DO (
FOR /F "delims=*" %%B IN ('forfiles /m %%A /d 05/01/2011') DO (
ECHO %%B
)
)
Комментарии:
1. Это работает. Что мне нужно изменить, чтобы не печатать несколько «Ошибка: файл не найден …» ? И я должен запустить этот скрипт в папке с файлами 500.000 , и он кажется чрезвычайно медленным. Можно ли заменить второе «для» на «если»? Я думаю, это было бы более оптимизировано.
2. «Чрезвычайно медленный» может означать производительность вашей системы или «Не оптимизирован». Лучше всего было бы использовать язык программирования, такой как Visual Basic или C #, для создания скомпилированного исполняемого файла. Это было бы очень оптимизировано.