这可能是一个非常简单的问题,但我遇到了麻烦。基本上,我正在尝试编写批处理文件,我需要它来列出某个目录中的所有文件。 dir
命令会执行此操作,但它也会提供一堆其他信息;我希望它只列出文件名并排除其他任何内容。
我只想让输出看起来像这样:
file1.txt
file2.txt
file3.txt
提前致谢!
答案 0 :(得分:183)
完整命令是:
dir /b /a-d
让我分解一下;
基本上/b
就是您所寻找的。 p>
/a-d
将排除目录名称。
有关更多信息,请参阅dir /?
了解可以与dir
命令一起使用的其他参数。
答案 1 :(得分:19)
你也可以试试这个:
for %%a in (*) do echo %%a
使用for
循环,您可以echo
输出当前目录的所有文件名。
答案 2 :(得分:4)
如果你也需要子目录,你需要一个" dir"命令和" For"命令
dir /b /s DIRECTORY\*.* > list1.txt
for /f "tokens=*" %%A in (list1.txt) do echo %%~nxA >> list.txt
del list1.txt
将您的根目录放在dir命令中。它将创建一个带有完整路径名的list1.txt,然后创建一个只包含文件名的list.txt。
答案 3 :(得分:3)
1。打开记事本
2。创建新文件
3。波纹管
SKView
4。保存“ dir /b > fileslist.txt
”
就这样。现在,您可以在文件夹的任何位置复制并粘贴此“ list.bat
”文件,然后双击它,它将创建一个“ list.bat
”以及该目录文件夹和文件名列表。
注意:如果要与子文件夹一起创建文件名列表,则可以使用以下代码创建批处理文件。
fileslist.txt
答案 4 :(得分:2)
Windows 10:
open cmd
更改要为文件夹创建文本文件(movie_list.txt)的目录(d:\ videos \ movies)
输入以下命令
d:\视频\电影和GT; dir / b / a-d> movie_list.txt 强>
答案 5 :(得分:1)
使用以下代码创建批处理文件:
dir %1 /b /a-d > list.txt
然后将目录拖放到该目录上,该目录中的文件将列在list.txt中
答案 6 :(得分:0)
dir / s / d / a:-d“ file.txt
并且,如果不需要子文件夹中的文件,则丢失/ s
答案 7 :(得分:0)
为什么不使用 where
代替 dir
?
for /f tokens^=* %i in ('where .:*')do @%~nxi
file_0003.xlsx
file_0001.txt
file_0002.log
where .:*
G:\SO_en-EN\Q23228983\file_0003.xlsx
G:\SO_en-EN\Q23228983\file_0001.txt
G:\SO_en-EN\Q23228983\file_0002.log
- 对于递归:
where /r . *
G:\SO_en-EN\Q23228983\file_0003.xlsx
G:\SO_en-EN\Q23228983\file_0001.txt
G:\SO_en-EN\Q23228983\file_0002.log
G:\SO_en-EN\Q23228983\Sub_dir_001\file_0004.docx
G:\SO_en-EN\Q23228983\Sub_dir_001\file_0005.csv
G:\SO_en-EN\Q23228983\Sub_dir_001\file_0006.odt
for /f tokens^=* %i in ('where .:*')do @echo/ Path: %~dpi ^| Name: %~nxi
Path: G:\SO_en-EN\Q23228983\ | Name: file_0003.xlsx
Path: G:\SO_en-EN\Q23228983\ | Name: file_0001.txt
Path: G:\SO_en-EN\Q23228983\ | Name: file_0002.log
- For循环递归获取路径和名称:
for /f tokens^=* %i in ('where /r . *')do @echo/ Path: %~dpi ^| Name: %~nxi
Path: G:\SO_en-EN\Q23228983\ | Name: file_0003.xlsx
Path: G:\SO_en-EN\Q23228983\ | Name: file_0001.txt
Path: G:\SO_en-EN\Q23228983\ | Name: file_0002.log
Path: G:\SO_en-EN\Q23228983\Sub_dir_001\ | Name: file_0004.docx
Path: G:\SO_en-EN\Q23228983\Sub_dir_001\ | Name: file_0005.csv
Path: G:\SO_en-EN\Q23228983\Sub_dir_001\ | Name: file_0006.odt