2013-06-19 72 views
1

我想創建一個批處理文件來查找目錄中最新的文件。我使用該批次中的下列命令:搜索最新文件時出錯是使用批處理文件的目錄

call cd\ 
call d: 
call cd "D:\OMS\Outbound\" 
call for /f "tokens=* delims= " %%G in ('dir /b /od') do set newest=%%G 
call pause 

我收到錯誤G was unexpected at this time

另外我想ftp最新的文件,將不得不在%%G之前追加"local:D:\OMS\Outbound\"newest=local:D:\OMS\Outbound\%G。 從命令提示符運行時該代碼工作得很好,但該批處理文件不起作用。

+0

首先,在每行中刪除**全部**標題'call's。 – Endoro

回答

3
 
cd /d "D:\OMS\Outbound" 
for /f "delims=" %%G in ('dir /b /od') do set "newest=local:D:\OMS\Outbound\%%~G" 
echo %newest% 
pause 

並刪除其他行。

+0

謝謝@Endoro。有效。你能告訴我爲什麼我的命令沒有提供所需的結果嗎? – user2500290

+0

不需要'調用',另請參閱命令行中的'call /?'。 – Endoro

+1

向DIR開關添加'/ a-d'以停止包含任何目錄名稱。 – foxidrive

相關問題