Как dir без показа расширения (batch)

например, у меня есть папка d:temp и четыре файла документа word в нем (.doc)

Я знаю, что

dir /b "d:temp"

даст мне

File1.doc
File2.doc
File3.doc
File4.doc

но как я могу это сделать, чтобы были только имена файлов без расширений?

как

File1
File2
File3
File4

3 ответов


for %a in ("d:\temp\*") do @echo %~na

или пакетный файл:

for %%a in ("d:\temp\*") do @echo %%~na

для отображения также каталогов вы можете использовать:

for /f "delims=" %%a in (' dir /f "d:\temp\*"') do @echo %%~na

другая версия с небольшими отличиями от приведенных выше:

for /f %x in ('dir /b /on *.doc') do @echo %~nx

следующий код, при запуске через пакетный файл, который использует @echo off, должен работать:

for /f "skip=7 tokens=5 delims=. " %%g in ('dir d:\temp') do echo %%g

будет печатать все имена файлов без пробелов в них. Протестировано и делает это для моего F:\ thumb drive.

Edit: for /f "tokens=1 delims=." %%g in ('dir /b d:\temp') do echo %%g

будет распечатывать файлы и каталоги по заданному пути с пробелами и в любом случае проще.