如何通过CMD仅列出无重复的文件所在路径(不含文件名)
提取特定扩展名文件所在的去重路径(Windows环境)
以下是两种实用的解决方案,分别适用于CMD命令行和PowerShell:
方法1:CMD命令行实现
直接在命令提示符中执行以下命令:
for /f "delims=" %F in ('dir *.txt /s /b') do @echo %~dpF | sort /unique
%~dpF会提取每个.txt文件的驱动器+完整路径(自动带末尾反斜杠)sort /unique负责对输出的路径排序并去除重复项
如果要写成批处理脚本(.bat文件),把命令里的%F改成%%F即可:
@echo off for /f "delims=" %%F in ('dir *.txt /s /b') do @echo %%~dpF | sort /unique
方法2:PowerShell实现(更简洁)
打开PowerShell执行以下命令:
Get-ChildItem -Path . -Filter *.txt -Recurse | Select-Object -ExpandProperty DirectoryName | Get-Unique
Get-ChildItem递归查找当前目录下所有.txt文件Select-Object -ExpandProperty DirectoryName提取文件所在的目录路径Get-Unique去除重复的路径
如果需要路径末尾强制带反斜杠,可调整为:
Get-ChildItem -Path . -Filter *.txt -Recurse | ForEach-Object { $_.Directory.FullName + "\" } | Get-Unique
内容的提问来源于stack exchange,提问作者Bartek Węgrzyn
相关产品推荐
相关产品推荐

