使用批处理脚本在名称以 <> 开头的目录中查找最新文件
Find latest file in a directory whose name starts with <> using batch script
所以我有一个正在创建日志文件的目录,我想读取最新的日志文件。该目录将包含日志文件、错误文件和一些其他每次都会创建的文件。我的日志文件的名称将以 say test-install-<>.log
开头
如何使用批处理脚本找到最新的日志文件。
谢谢
@echo off
setlocal enableextensions disabledelayedexpansion
set "lastLog="
for /f "delims=" %%a in ('dir /b /o-d "x:\logsFolder\test-install-*.log" 2^>nul') do (
if not defined lastLog set "lastLog=%%a"
)
echo %lastLog%
或者,对于一长串文件,避免重复
@echo off
setlocal enableextensions disabledelayedexpansion
set "lastLog="
for /f "delims=" %%a in ('dir /b /o-d "x:\logsFolder\test-install-*.log" 2^>nul') do (
set "lastLog=%%a"
goto :done
)
:done
echo %lastLog%
或者,如果您的文件列表非常大
@echo off
setlocal enableextensions disabledelayedexpansion
set "lastLog="
for /f "delims=" %%a in ('
dir /b /o-d "x:\logsFolder\test-install-*.log" 2^>nul
^| cmd /q /v /c"set /p .=&if defined . (echo(!.!)"
') do set "lastLog=%%a"
echo %lastLog%
所以我有一个正在创建日志文件的目录,我想读取最新的日志文件。该目录将包含日志文件、错误文件和一些其他每次都会创建的文件。我的日志文件的名称将以 say test-install-<>.log
开头如何使用批处理脚本找到最新的日志文件。
谢谢
@echo off
setlocal enableextensions disabledelayedexpansion
set "lastLog="
for /f "delims=" %%a in ('dir /b /o-d "x:\logsFolder\test-install-*.log" 2^>nul') do (
if not defined lastLog set "lastLog=%%a"
)
echo %lastLog%
或者,对于一长串文件,避免重复
@echo off
setlocal enableextensions disabledelayedexpansion
set "lastLog="
for /f "delims=" %%a in ('dir /b /o-d "x:\logsFolder\test-install-*.log" 2^>nul') do (
set "lastLog=%%a"
goto :done
)
:done
echo %lastLog%
或者,如果您的文件列表非常大
@echo off
setlocal enableextensions disabledelayedexpansion
set "lastLog="
for /f "delims=" %%a in ('
dir /b /o-d "x:\logsFolder\test-install-*.log" 2^>nul
^| cmd /q /v /c"set /p .=&if defined . (echo(!.!)"
') do set "lastLog=%%a"
echo %lastLog%