如何在不显示扩展名的情况下进行目录(批处理)
How to dir without showing extension (batch)
比如我有文件夹d:\temp\,里面有四个word文档文件(.doc)
我知道
dir /b "d:\temp"
会给我
File1.doc
File2.doc
File3.doc
File4.doc
但是如何做到只有文件名没有扩展名呢?
喜欢
File1
File2
File3
File4
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
以下代码,当 运行 通过使用 @echo off 的批处理文件时,应该可以工作:
for /f "skip=7 tokens=5 delims=. " %%g in ('dir d:\temp') do echo %%g
将打印所有不带空格的文件名。对我的 F:\ 拇指驱动器进行了测试。
编辑: for /f "tokens=1 delims=." %%g in ('dir /b d:\temp') do echo %%g
将打印出带空格的给定路径中的文件和目录,而且更简单。
另一个与上面版本略有不同的版本:
for /f %x in ('dir /b /on *.doc') do @echo %~nx
比如我有文件夹d:\temp\,里面有四个word文档文件(.doc)
我知道
dir /b "d:\temp"
会给我
File1.doc
File2.doc
File3.doc
File4.doc
但是如何做到只有文件名没有扩展名呢?
喜欢
File1
File2
File3
File4
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
以下代码,当 运行 通过使用 @echo off 的批处理文件时,应该可以工作:
for /f "skip=7 tokens=5 delims=. " %%g in ('dir d:\temp') do echo %%g
将打印所有不带空格的文件名。对我的 F:\ 拇指驱动器进行了测试。
编辑: for /f "tokens=1 delims=." %%g in ('dir /b d:\temp') do echo %%g
将打印出带空格的给定路径中的文件和目录,而且更简单。
另一个与上面版本略有不同的版本:
for /f %x in ('dir /b /on *.doc') do @echo %~nx