2015-01-26 3 views
3

Например, у меня есть папка D: \ Temp \ и четыре файла документа слово в нем (.doc)Как Dir, не показывая расширение (партия)

Я знаю, что

dir /b "d:\temp" 

будет дайте мне

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

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

как

File1 
File2 
File3 
File4 

ответ

6
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 
+1

Совершенная, за исключением оригинальной команды, что Ор будет отображаться как файлы и папки, но ваш ответ будет только отображать файлы. Вернитесь к FOR/F с помощью «DIR/B», если необходимы файлы и папки. – dbenham

0

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

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

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

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

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

0

Другой вариант с небольшими отличиями от указанных из них:

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

 Смежные вопросы

  • Нет связанных вопросов^_^