我需要一个批处理文件来为本地文件夹目录中的大量TIF文件列表(2k)创建一个过程。
文件名结构为:12345_1.tif。
我需要该批处理:
1-根据下划线后的数字创建文件夹名称,因为这是命名中唯一的常数。文件夹仅基于此唯一编号。
2-复制文件并将其移动到新创建的文件夹中。
在上面的示例中,批处理将创建一个名为1的文件夹,然后将文件12345_1.tif移动到该文件夹中。如果找到另一个文件,例如54321_1.tif,该文件也将移至“ 1”文件夹。在我的文件中,_后面的数字范围是1到77,并且在_后面可能有多个文件共享相同的数字。
我在线上观察到一些类似的脚本,但是我需要帮助来修改我的要求。可以修改它以满足我的要求吗?
@echo off &setlocal
for /f "delims=" %%i in ('dir /b /a-d *.PDF') do (
set "filename1=%%~i"
setlocal enabledelayedexpansion
set "folder1=!filename1:~11,6!"
mkdir "!folder1!" 2>nul
move "!filename1!" "!folder1!"
endlocal
)
答案 0 :(得分:0)
您似乎不了解my comment,因此我将其作为完整代码的答案发布在这里:
@echo off
for /F "tokens=1,2 delims=_." %%a in ('dir /B *.tif') do (
md "%%b" 2>NUL
move "%%a_%%b.tif" "%%b"
)