我需要移动到现有文件夹的大约4000个pdf文件 pdfs和文件夹都以6个数字开头。我希望批处理能够通过前6个数字识别文件名,并将pdf放在具有相同6个数字的文件夹中。
下划线后面的名称不必仅匹配6个数字,下划线必须与文件夹中的pdf相匹配。
我想制作一个批处理文件,将所有文件/ pdfs自动移动到相应的文件夹中。我不想创建新文件只将pdfs移动到现有文件夹中。
Pdf 123456_ABC Company
需要移至文件夹123456_Company ABC
。
Pdfs位于我桌面上名为DLRDOCS
的文件夹中
pdfs需要移动的文件夹位于我桌面上的DLRFLDS
。
答案 0 :(得分:0)
在这里,试试这个:
@echo off
setlocal
set "sIn=%userprofile%\desktop\dlrdocs"
set "sOut=%userprofile%\desktop\dlrflds"
for /f "delims=" %%a in ('dir /b /s /a-d "%sIn%\*_*.pdf"') do (
for /f "tokens=1-4 delims=_. " %%b in ("%%~nxa") do (
if not exist "%sIn%\%%~b_%%~d %%~c" md "%sOut%\%%~b_%%~d %%~c"
move /Y "%sIn%\%%~nxa" "%sOut%\%%~b_%%~d %%~c"
)
)
exit /b
答案 1 :(得分:0)
@echo off
setlocal enableextensions
set "source=%cd%\dlrdocs"
set "target=%cd%\dlrflds"
for %%a in ("%source%\*_*.pdf"
) do for /f "tokens=1 delims=_" %%b in ("%%~na"
) do for /d %%c in ("%target%\%%b_*"
) do if exist "%%~fa" echo move "%%~fa" "%%~fc"
要从桌面运行,如果没有,请根据需要调整源文件夹和目标文件夹。它只输出控制移动命令。如果输出正确,请在删除echo
命令后再次执行