PowerShell 导出指定目录所有路径到 txt
使用方法:Win + X → 打开「Windows PowerShell」,把下面命令里的路径替换成你自己的,回车执行。
一、常用命令(4 种场景)
✅ 1. 递归:包含所有子文件夹(文件 + 文件夹)
Get-ChildItem "D:\目标文件夹" -Recurse | Select-Object -ExpandProperty FullName | Out-File "D:\list.txt" -Encoding UTF8参数说明:
| 参数 | 作用 |
|---|---|
-Recurse |
遍历所有子目录 |
Select-Object -ExpandProperty FullName |
只输出纯路径,不带表头,最干净 |
Out-File "D:\list.txt" |
结果写入 txt 文件 |
-Encoding UTF8 |
防止中文乱码 |
✅ 2. 只要文件,不要文件夹
Get-ChildItem "D:\目标文件夹" -File -Recurse | Select-Object -ExpandProperty FullName | Out-File "D:\list.txt" -Encoding UTF8说明:-File 限定只取文件对象,排除目录。
✅ 3. 仅当前目录,不进子文件夹
Get-ChildItem "D:\目标文件夹" | Select-Object -ExpandProperty FullName | Out-File "D:\list.txt" -Encoding UTF8说明:去掉 -Recurse 即只扫描第一层。
✅ 4. 只导出文件夹(不含文件)
Get-ChildItem "D:\目标文件夹" -Directory -Recurse | Select-Object -ExpandProperty FullName | Out-File "D:\list.txt" -Encoding UTF8说明:-Directory 限定只取目录对象。
二、小提示
- 路径带空格:一定要用英文双引号把路径包起来,例如
"D:\My Folder"。 - 不想覆盖旧文件:把
Out-File改成Out-File -Append,会追加写入而不是清空重写。 - 想同时在控制台看到结果:用
Tee-Object替换Out-File。
Get-ChildItem "D:\目标文件夹" -Recurse | Select-Object -ExpandProperty FullName | Tee-Object "D:\list.txt" -Encoding UTF8三、CMD 备选方案(更简单)
如果不熟悉 PowerShell,用 CMD 也能完成:
dir "D:\目标文件夹" /s /b > D:\list.txt/s:包含子目录/b:只输出路径(bare 格式),不带表头和文件大小信息
(注:部分内容由豆包 AI 生成)