我正在嘗試撰寫一個批處理檔案,該檔案在不使用for回圈的情況下回傳目錄中的最新檔案。我嘗試了很多,但它不起作用。
那么有沒有一種方法可以在不使用for回圈的情況下獲取最新的檔案?
@echo off
cd D:\Applications
for /f "delims=" %%i in ('dir /b/a-d/od/t:c') do set RECENT="%%~nxi"
echo ..... starting jar........
start java -jar %RECENT%
echo ....jar started.....
exit 0
執行在 start java 時卡住,并且不會轉到下一行或退出 0。
uj5u.com熱心網友回復:
我不確定您為什么不想在 中使用最強大的命令cmd,但為了回答您的問題:
dir /o-d /b "C:\my folder\*" >tmp
<tmp set /p "latest="
del tmp
echo the latest file is %latest%
uj5u.com熱心網友回復:
可以使用命令FOR使用以下代碼:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
cd /D "D:\Applications" 2>nul || (echo ERROR: Directory D:\Applications does not exist.& goto EndBatch)
for /F "eol=| delims=" %%i in ('dir /A-D /B /O-D /TC 2^>nul') do set "RECENT=%%i" & goto StartJava
echo WARNING: Could not find any file in directory:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/314660.html
