9

我有一个包含许多子目录的目录。这些子目录中有大量 .asf、.jpg 和 .txt 文件。我想列出目录和子目录中的所有 *.asf 文件,但没有路径名。

所以基本上我想做 dir /s 命令但不显示完整的路径名。有没有办法做到这一点。

4

4 回答 4

11

很晚,但可能对某人有用。我猜他是在要求这个单行命令

forfiles /m *.asf /s >d:\Hitendra.Txt

大家都知道,在此之后(>)我将结果保存在我的计算机的 D 驱动器中,文件名为 Hitendra.Txt

于 2014-06-16T06:06:39.600 回答
6

查看:

FORFILES /S /C "CMD /C ECHO @relpath"
于 2013-08-23T10:08:00.640 回答
4

你可以试试

dir /s | findstr .asf

编辑:我认为这会有所帮助。这是我的test.bat

@echo off
for /f "usebackq TOKENS=*" %%i in (`dir /s /b *.txt`) do echo %%~nxi
pause

/f usebackq表示反引号内的任何内容都作为 dos 命令执行

TOKENS=*也用空格解析文件名。

echo %%~nxi-n仅列出文件名并x仅列出扩展名。结合两者显示文件名和扩展名。

编辑: usebackq不是必需的,而是可以使用单引号。

于 2013-08-23T07:11:42.253 回答
4

在 cmd shell 提示符下试试这个:

for /r %a in (*.asf) do @echo %~tza %~nxa

只有名字:

for /r %a in (*.asf) do @echo %~nxa
于 2013-08-23T07:10:32.523 回答