
[英]Sorting files into folders, according to a part of filename using Windows Batch file
[英]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.