Пакетный файл Windows для перемещения файлов на основе части имени файла, в разные папки - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть несколько файлов в папке C: \ Test \ All_PDF.Я хочу переместить эти файлы в отдельные папки в C: \ Test на основе первой части имени файла.Папки уже созданы.

Например, мои имена файлов выглядят так:

 1234-TEST-FileOne.pdf

 5678-TEST-FileTwo.pdf

И имена папок имеют вид

 1234

 5678

Поэтому мне нужен командный файл, который ищет первыйчасть имени файла (до первого - от имени файла) и переместите его в приемные папки.

Буду очень признателен, если кто-нибудь сможет помочь.

@ECHO OFF
SETLOCAL
SET "sourcedir=C:/Test/All_PDF"
SET "destdir=C:/Test"
FOR /f "delims=" %%a IN ( 'dir /b /a-d "%sourcedir%*.pdf" ' ) DO (
    FOR /f "tokens=1delims=-" %%b IN ("%%a") DO (
        FOR /f "delims=" %%d IN ( 'dir /b /ad "%destdir%*%%b*" ' ) DO (
            (MOVE "%%a" "%destdir%\%%d\"
        )
    )
)
GOTO :EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...