我有一个 Dir 命令,用于创建文件目录的文本列表......“dir /a /b /-p /o:gen > z-file_list.txt”
有人知道我该如何改变它,让文本列表不包含任何扩展名吗?那么只包含文件名吗?
提前致谢!
- 编辑 -
抱歉,我没有说清楚。我的意思是,他的命令将保存一个 txt 文件,其中包含目录内容的文件列表。
文本文件将看起来像这样
filename.ext
filename.ext
filename.ext
filename.ext
我正在尝试弄清楚如何让文本文件看起来像这样。
文件名
文件名
文件名
文件名
谢谢..抱歉我说得不清楚。
答案1
该dir
命令没有删除扩展的开关或选项。
dir /b
但是,可以通过循环处理输出来完成for /f
。
(del list.txt 2>nul) & for /f %f in ('dir /a /b /o:gen') do @echo %~nf >>list.txt
如果您不关心子目录或系统/隐藏文件(这是其用途dir /a
),那么普通文件for
也可以工作。
(del list.txt 2>nul) & for %f in (*) do @echo %~nf >>list.txt
运行dir /?
,del /?
并for /?
了解有关语法和开关的更多详细信息。
答案2
您可以使用 Powershell 在 CMD 提示符下执行此操作。在命令提示符下,键入以下内容:
powershell -command "dir |select basename" > file_list.txt
正如我所说,这有点像作弊,因为powershell -command
它调用 Powershell shell 来运行 Powershell 脚本dir |select basename"
。仅供参考,dir
在 Powershell 中只是命令的别名get-childitem
,与 CMD 提示符的命令无关dir
。Powerhsell 执行该脚本,结果返回到 CMD 提示符并重定向(>
)到文本文件。