У меня есть папка, в которой есть несколько файлов журнала. Я хочу открыть последний файл журнала через командную строку, т. Е. Файл с последней измененной датой / временем. Я могу зайти в папку через командную строку, но как я могу получить доступ к последней измененной?
2 ответа
1
Команда DIR может сортировать по дате последнего изменения. FOR /F может обработать результат. Переменная будет установлена на последний файл в списке.
for /f "eol=: delims=" %F in ('dir /b /od *.log') do @set "newest=%F"
notepad "%newest%"
Удвойте проценты, если они используются в пакетном скрипте: %F
становится %%F
0
этот пакетный скрипт открывает последний измененный файл с приложением по умолчанию проводника 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