如何处理批处理文件中目录的文件名

时间:2013-07-19 12:26:24

标签: batch-file

我正在尝试列出目录中最新的文件夹,该文件夹不以“patch”一词结尾

for /f "tokens=*" %%a in ('dir /b /od') do (        
    // some if loop to ensure that newest is not set to something that ends with "-patch".
set newest=%%a
)

3 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分: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%

答案 2 :(得分: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将包含所需的文件夹名称。