使用CMD批量重命名和移动文件

问题描述 投票:0回答:1

我想知道是否有人可以帮助我使用 CMD 将一些代码作为批处理文件运行。 我的目录中有一个文件列表,我希望替换文件名,例如“Myprefix-”和“Thisisnew_”并将文件移动到新位置。

文件名目前类似于 MyPrefix-INVOICE1_C.PDF 我希望将它们替换为 Thisisnew_INVOICE_C.PDF 然后将它们移动到另一个目录(不是复制)

我找到了这个脚本,但即使我在末尾添加暂停,我也看不到问题是什么,因为它没有运行。

@ECHO ON

SET Loc1Dir=D:\sql\Reports\Mycustomer\Incoming
SET Loc2Dir=D:\sql\Reports\Mycustomer\PDF

CD /D "%Loc1Dir%" 
FOR /R %%F IN ("*-*.PDF") DO CALL :copyFile %%~F %%~NXF
GOTO: EOF 

:copyFile
SET copyfname=%~1
SET fname=%~2 
SET fname=%fname:MyPrefix-=Thisisnew_% 
ECHO F | XCOPY /Y /F "%copyfname%" "%Loc2Dir%\%fname%"
:::XCOPY /Y /F "%copyfname%" "%Loc2Dir%\"
:::REN "%copyfname%" "%fname%"
GOTO :EOF
batch-file cmd
1个回答
0
投票

我现在似乎可以使用这个了。 批处理脚本新手,没有意识到 ::: 行已被注释掉。 我切换了底部的两行,它似乎有效

REN "%copyfname%" "%fname%"
echo F | XCOPY /Y /F "%fname%" "%Loc2Dir%\%fname%"
© www.soinside.com 2019 - 2024. All rights reserved.