У меня есть папка, в которой есть несколько файлов журнала. Я хочу открыть последний файл журнала через командную строку, т. Е. Файл с последней измененной датой / временем. Я могу зайти в папку через командную строку, но как я могу получить доступ к последней измененной?

2 ответа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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .