Пакетное программирование, копирование нескольких файлов из нескольких папок в одну папку, отсортированную по дате

В настоящее время я пытаюсь получить небольшую пакетную работу, которая способна копировать файлы PDF и TXT из «нескольких папок» в одну папку, отсортированную по дате MM-YYYY.

У меня уже есть Некоторый код работает, но он все еще не закончен, я в настоящее время застрял в нескольких папках и добавил TXT.

set "source=c:\Program Files (x86)\Temp1"  
set "target=c:\Temp2"  
for %%i in (%source%\*.pdf) do @for /f "tokens=1,2,3 delims=/ " %%A in 
("%%~ti") do (
    if not exist "%target%\%%C\%%B" mkdir "%target%\%%C\%%B"
    move "%%~fi" "%target%\%%C\%%B"
)

Это работает нормально (кроме пробела в названии, но я потрясающе буду найти проблему с именами файлов dos). Но мне также нужно искать в нескольких папках.

Как

set "source=c:\Program Files (x86)\Temp1"  
set "source=c:\Program Files (x86)\Temp2"
set "source=c:\Program Files (x86)\Temp3"  

set "target=c:\Temp2"  

for %%i in (%source%*.pdf)+(%source%*.txt)

что-то в этом направлении, я просто пытался повторить код и обмениваться только с исходным кодом, но это делает не работает так, поэтому я буду придерживаться также с .txt.

Если у кого-то есть идея, я буду очень рад:)

0
задан 13 August 2018 в 15:08

2 ответа

Один из способов остаться с простым for для итерации файлов PDF - это перейти в исходную папку.

Итерировать несколько исходных папок в другом for: (Untested)

@Echo off

set "source=c:\Program Files (x86)"  
set "target=c:\Temp2"

For %%S in (Temp1 Temp2 Temp3) do (
    PushD "%source%\%%S"
    for %%I in (*.pdf) do for /f "tokens=1,2,3 delims=/ " %%A in ("%%~tI") do (
        if not exist "%target%\%%C\%%B" mkdir "%target%\%%C\%%B"
        move "%%~fI" "%target%\%%C\%%B\"
    )
    PopD
)
0
ответ дан 15 August 2018 в 17:01

спасибо за вашу идею, это выглядит спокойно, но не соответствует тому, что им нужно: (

Если я добавлю в «%% S in (Temp 1 Temp 2) do ... тогда он ищет 2 типа папок, возможно, также моя ошибка в примере :)

Мне также нужно проверить другие папки, кроме того, нужны только файлы программы, пользовательские документы и т. д. и кроме того, мне еще нужно было бы добавить файлы TXT, а также в PDF.

Спасибо за ваш хороший фрагмент кода. Я продолжу попытку найти решение:)

0
ответ дан 15 August 2018 в 17:01

Другие вопросы по тегам:

Похожие вопросы: