Разобрать вывод dir с помощью for /f
и использовать модификатор ~nx
, чтобы получить только имя + расширение
В строке cmd:
(for /f "delims=" %A in ('dir /B/S "C:\WinPE_amd64"') do @Echo=%~nxA)>dir.txt
В пакете удвоить знак процента для метабарита
@Echo off
( for /f "delims=" %%A in ('dir /B/S "C:\WinPE_amd64"') do Echo=%%~nxA
) >dir.txt
Это вопрос предпочтения форматирования (или во избежание слишком длинных строк)
@Echo off
( for /f "delims=" %%A in (
'dir /B/S "C:\WinPE_amd64"'
) do Echo=%%~nxA
) >dir.txt
РЕДАКТИРОВАТЬ возможно более быструю альтернативу for /r
(For /r "C:\WinPE_amd64" %A in (*) Do @Echo=%~nxA)>dir.txt
Еще одна альтернатива обертывания команды powershell
powershell -nop -c "(dir 'C:\WinPE_amd64' -r -file).Name" >dir.txt