2017-03-31 66 views
1

我想創建一個批處理文件,在目錄中找到最新的文件,將其複製到一個新的目錄,然後刪除原來的。除了刪除部分以外,一切都有效。這是我的。任何幫助將不勝感激。批處理文件複製最新的文件,然後刪除原始文件

@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

任何errormessages將不勝感激。可能是'del「%source%\%newestfile%」'會解決它。 – Stephan

+0

這是一個需要修復的錯誤。謝謝您的幫助! – Jpmeche

回答

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%" 
+0

此舉行得通。我從來沒有想過這樣做!有時我會陷入代碼困境,我不會想到簡單的解決方案。還有一些小的語法錯誤,但修復後,它似乎正在做我所需要的。謝謝您的幫助! – Jpmeche

相關問題