2016-10-19 60 views
0

我想寫一個腳本來複制最新的文件。 我從網此命令:爲/ f %%我在這個時候是意外的

FOR /F "delims=|" %%I IN ('DIR "X:\Dirs\*.rar" /B /O:D') DO SET NewestFile=%%I 
copy "%NewestFile%" "J:\Personal\Gastos\dirs" 

它輸出的錯誤:

%%I was unexpected at this time.

有誰知道爲什麼發生這種情況以及如何糾正呢?

感謝

Jeraisel

+2

你在命令提示符下直接執行此,或者是在一個批處理文件? – npocmaka

+1

根據幫助(在命令提示符窗口中輸入「for /?'到命令提示符窗口中),在命令提示符下運行代碼並在批處理文件中運行'%% I'時使用'%I'... – aschipfl

+0

感謝您的提示。該命令運行但沒有複製的文件 – jeraisel

回答

0

在批處理文件試試這個:

@ECHO OFF 
(SET SrcDir=X:\Dirs) 
IF /I "%CD%" NEQ "%SrcDir%" PUSHD "%SrcDir%" 
SET "NewestFile=" 
FOR /F "DELIMS=" %%I IN ('DIR/B/OD *.rar') DO SET "NewestFile=%%I" 
IF DEFINED NewestFile (IF EXIST "J:\Personal\Gastos\dirs\" (
     COPY "%NewestFile%" "J:\Personal\Gastos\dirs")) 
+0

謝謝輸出是系統找不到指定的文件。 – jeraisel

+0

嘗試'... IN('DIR/B/OD'X:\ Dirs * .rar「2 ^> nul')DO ...'忽略」文件未找到「錯誤。 – Stephan

+0

腳本已經更新,以反映這一點,請確保您的源代碼目錄已正確放置在第2行的括號內。 – Compo

相關問題