Windows批处理文件,用于根据文件名的一部分将文件移动到其他文件夹

时间:2019-04-17 19:24:55

标签: windows batch-file cmd

我在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

0 个答案:

没有答案