我想知道是否有人可以帮助我使用 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
我现在似乎可以使用这个了。 批处理脚本新手,没有意识到 ::: 行已被注释掉。 我切换了底部的两行,它似乎有效
REN "%copyfname%" "%fname%"
echo F | XCOPY /Y /F "%fname%" "%Loc2Dir%\%fname%"