2013-07-19 128 views

回答

1
for /f "delims=" %%a in ('dir /b /s /o-d /ad ^|findstr /v /e /c:"-patch" 2^>nul') do (   
set "newest=%%~fa" 
goto :break 
) 
:break 
echo newest : %newest% 
+0

我不能在使用管道爲()。你可以嗎? –

+0

你可以如果他們用'^' – npocmaka

+0

轉義不起作用,結果是空字符串。但是該文件夾確實包含不以'-patch'結尾的其他目錄。 –

0
setlocal enableextensions 
for /f "tokens=*" %%a in ('dir /b /od') do (
    set "a=%%a" 
    if /i not "!a:~-5!"=="patch" set "file=%%a" 
) 

結束file將包含所需的文件夾名稱。

+0

使用'/ od'命令可能會失敗。如果名稱合適,請使用'/ on'。 –

+0

不起作用。仍然帶有'-patch'的目錄被列爲最近的目錄。 –

2

試試這個:

for /f "delims=" %%a in ('dir /b /od /ad ^|findstr /evi "patch" 2^>nul') do set "RecentFolder=%%~a" 
echo %RecentFolder% 
相關問題