Этот метод использует фактическую дату изменения файла, чтобы выяснить, какая из них является самой последней:
@echo off
for /F %%i in ('dir /B /O:-D *.txt') do (
call :open "%%i"
exit /B 0
)
:open
start "dummy" "%~1"
exit /B 0
Этот метод, однако, выбирает последний файл в алфавитном порядке (или первый, в обратном алфавитном порядке), поэтому, если имена файлов совпадают - он будет работать:
@echo off
for /F %%i in ('dir /B *.txt^|sort /R') do (
call :open "%%i"
exit /B 0
)
:open
start "dummy" "%~1"
exit /B 0
Вы на самом деле должны выбрать, какой метод лучше для вас.