例如,我有文件夹d:\ temp \和其中的四个word文档文件(.doc)
我知道
dir /b "d:\temp"
会给我
File1.doc
File2.doc
File3.doc
File4.doc
但我怎么能这样做只有文件名没有扩展名?
像
File1
File2
File3
File4
答案 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
使用空格打印出给定路径中的文件和目录,无论如何都会更简单。