繁体   English   中英

Windows批处理文件将基于文件名的一部分的文件移动到不同的文件夹

[英]Windows Batch File to Move files based on part of filename, to different folders

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM