如何在没有显示扩展名的情况下(批处理)

时间:2015-01-26 19:13:55

标签: batch-file dir

例如,我有文件夹d:\ temp \和其中的四个word文档文件(.doc)

我知道

dir /b "d:\temp"

会给我

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

但我怎么能这样做只有文件名没有扩展名?

File1
File2
File3
File4

3 个答案:

答案 0 :(得分:13)

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 :(得分:2)

另一个与上述版本略有不同的版本:

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

答案 2 :(得分:0)

以下代码在通过使用@echo off的批处理文件运行时应该有效:

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

将打印所有文件名,不包含空格。经过测试,对我的F:\ thumb drive也是如此。

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

使用空格打印出给定路径中的文件和目录,无论如何都会更简单。