我正在尝试创建一个批处理文件,该文件在目录中找到最新文件,将其复制到新目录,然后删除原始文件。除删除部分外,一切正常。这就是我所拥有的。任何帮助将不胜感激。
@echo off
set source="C:\BLEND2\Results\LCBlend"
set target="z:\Blenders"
set NewestFile=
FOR /F "delims=" %%I IN ('DIR %source%\*.* /A:-D /O:-D /B')
DO set NewestFile=%%I
COPY %source%\"%NewestFile%" %target%
del %source%\%NewestFile%
答案 0 :(得分:1)
您的DO
需要与右括号位于同一行,您的代码也会检索最新的文件而不是最新的。
尝试使用Move
代替Copy
后跟Delete
的此更改版本:
@Echo Off
Set "source=C:\BLEND2\Results\LCBlend"
Set "target=Z:\Blenders"
For /F "Delims=" %%A In ('Dir/B/A-D/OD "%source%"') Do Set "NewestFile=%%A"
Move "%source%\%NewestFile%" "%target%"