У меня есть несколько файлов в папке 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