我有一个文件夹,里面有一些日志文件。我想通过命令提示符打开最新的日志文件,即具有最新修改日期/时间的文件。我可以通过命令提示符进入该文件夹,但我如何访问最后修改的文件夹?
答案1
DIR 命令可以按上次修改日期排序。FOR /F 可以处理结果。变量将设置为列出的最后一个文件。
for /f "eol=: delims=" %F in ('dir /b /od *.log') do @set "newest=%F"
notepad "%newest%"
如果在批处理脚本中使用,则将百分比加倍:%F
变成%%F
。
答案2
此批处理脚本使用 Windows 资源管理器的默认应用程序从按文件名过滤的递归搜索结果中打开最后修改的文件。
变量“FilenameFilter”允许的通配符是“*”和“?”
SET "SearchPath=Z:\path\without trailing\backslash"
SET "FilenameFilter=*.txt"
for %%r in ("%SearchPath%\.") do for /f "tokens=3,*" %%a in ('
robocopy "%%~fr." "%%~fr." "%FilenameFilter%" /l /nocopy /s /is /njh /njs /ndl /nc /ns /ts
^| sort /r
^| findstr /n "^"
^| findstr /l /b /c:"1:"
') do explorer %%b