перемещать файлы по отметке даты с помощью пакета

Мне нужно переместить файл из всех папок на всех жестких дисках, измененный в течение двух дат. Поскольку я новичок в пакетной обработке, пожалуйста, объясните, что все это значит.

Что я хочу:

Искать во всех папках на всех жестких дисках файлы, измененные с 10 ноября 2013 г. по 11 ноября 2013 г. Создать папку на диске D:/backups/11_11 Переместить все найденные при сканировании файлы, измененные с датами и ГОДОМ, в созданную папку Создать текстовый файл с журналом всех перемещенных файлов, ошибок и времени перемещения (время перемещения необязательно)


person user2755744    schedule 12.11.2013    source источник


Ответы (1)


@ECHO OFF &SETLOCAL
set "date1=01/09/2013"
set "date2=31/10/2013"
set "SearchPath=D:/backups/11_11"
set "datestamp1=%date1:~6,4%%date1:~3,2%%date1:~0,2%"
set "datestamp2=%date2:~6,4%%date2:~3,2%%date2:~0,2%"

for %%a in ("%searchpath%\*") do (
    set "fname=%%~a"
    for /f "tokens=1-3 delims=/-. " %%b in ("%%~ta") do set "datestampF=%%~d%%~c%%~b"
    SETLOCAL ENABLEDELAYEDEXPANSION
    if "!datestampF!" gtr "%datestamp1%" if "!datestampF!" lss "%datestamp2%" echo move "!fname!" "DestinationFolder"
    endlocal
)

Удалите echo, чтобы он заработал.

person Endoro    schedule 12.11.2013
comment
@foxidrive да, ты прав, и я тоже это знаю. Мой код описывает основную процедуру. И это бесплатное программное обеспечение, патчи приветствуются. - person Endoro; 13.11.2013
comment
хе-хе Тогда все, что нужно, это выполнить поиск на каждом диске и скопировать файлы в путь поиска. Кстати, вторая переменная пути поиска является строкой отладки? - person foxidrive; 13.11.2013
comment
@foxidrive пользователь должен указать, что такое all drives? А как насчет USB-накопителей, сетевых дисков и компакт-дисков? И да, эта вторая строка настройки %searchpath% из тестирования :) - удалена. Спасибо! - person Endoro; 13.11.2013
comment
Search all folders in all hard drives for files так что ему нужна процедура обнаружения только жестких дисков. Wmic может сработать там, если вам захочется приложить усилия - если ОП вообще ответит. - person foxidrive; 13.11.2013