现在修改了几次,如果重复一次加~1没问题,后面继续就没法加~2 3 4了,应该只是识别到第一个条件反复吧~1替换了,
应该 for /f "delims=" %%k in ('dir /b /a-d %%i~*.pdf 2^>nul^|findstr /ber "%%i~[0-9]*\.pdf"') do set /a n+=1,定位到目标位置,这句现在语法有问题是不是没有定位到目标位置
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=." %%i in ('dir /b /a-d *.pdf') do (
if not exist "E:\2022年\8月\27日\%%i.pdf" (
move "%%i.%%j" E:\2022年\8月\27日
) else (
set n=1
for /f "delims=" %%k in ('dir /b /a-d %%i~*.pdf 2^>nul^|findstr /ber "%%i~[0-9]*\.pdf"') do set /a n+=1
move "%%i.%%j" E:\2022年\8月\27日\"%%i~!n!.pdf"
)
)
回复 30#fzp070
这样改后,显示移动文件成功,第一次没有重复的移动成功,后面有重复的,源文件夹文件不见了,但是目标文件夹里面没有文件
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b /a-d *.pdf') do (
for /f "delims=" %%i in ("%%i") do (
if not exist "%%i.pdf" (
move "%%i" E:\2022年\8月\27日
) else (
set n=1
for /f "delims=" %%k in ('dir /b /a-d %%i~*.pdf 2^>nul^|findstr /ber "%%i~[0-9]*\.pdf"') do set /a n+=1
move "%%i#%%j" E:\2022年\8月\27日
)
))