我有一个目录,其中包含没有扩展名的图像文件。让我们说是这样D:\initial\
。现在,我想将这些文件复制到D:\final\
目录中,然后将.jpg
每个文件的扩展名更改为。
我使用ROBOCOPY的解决方案:
@echo off
SET srcDir=D:\initial\
SET destDir=D:\final\
echo Copying files from %srcDir%
ROBOCOPY %srcDir% %destDir% /s /min:102400
echo Copying done
cd %destDir%
echo Renaming to JPG
ren *. *.jpg
但是,有一些条件:
我的解决方案符合前两个条件,但是当新文件到达后再次运行时,较旧的文件也会被复制,从而在重命名时出现错误。
检查文件大小以及目标文件是否存在,并在源文件上进行迭代。
并使用x复制而不是每次都使用rocopy来杀毒。
一口气复制到扩展名的新名称中,无需重命名。
@echo off
SET "srcDir=D:\initial"
SET "destDir=D:\final"
echo Copying files from %srcDir%
For %%A in ("%srcDir%\*.") do (
if %%~zA gtr 102400 if not exist "%destDir%\%%~nA.jpg" copy "%%~fA" "%destDir%\%%~nA.jpg" >NUL
)
echo Copying done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句