如何通过Windows DIR命令仅显示文件夹名称及其符号链接信息
如何通过Windows DIR命令仅显示文件夹名称及其符号链接信息
我明白你想要的是那种干净利落的输出——只列出Z盘里的文件夹,其中符号链接还要带上它指向的目标路径,像你举的例子那样,去掉默认dir命令里的日期、<DIR>、.和..这些多余内容对吧?
下面给你两种可行的实现方法,你可以根据自己的习惯选择:
方法一:CMD命令组合实现
直接在命令提示符里运行这条命令,就能得到你想要的格式:
dir /AD | findstr /v /c:"." /c:".." | for /f "tokens=1-4,*" %a in ('more') do @if "%d"=="<SYMLINKD>" echo %e else echo %a
这条命令的各个部分作用如下:
dir /AD:只筛选出当前目录下的所有文件夹(包含符号链接类型的文件夹)findstr /v /c:"." /c:"..":排除掉代表当前目录的.和上级目录的..这两行无关内容for /f ...:逐行处理筛选后的结果,识别出<SYMLINKD>类型的条目,输出名称加目标路径;普通文件夹则只输出名称
运行后你就能得到类似这样的输出:
CNET [\\192.168.1.10\CNET] elements localized projects [\\192.168.1.10\CNET\homes\andi\projects] render
方法二:PowerShell实现(更简洁直观)
如果你平时也用PowerShell,这条命令会更易懂:
Get-ChildItem -Directory | ForEach-Object { if ($_.LinkType -eq 'SymbolicLink') { "$($_.Name) [$($_.Target)]" } else { $_.Name } }
它的逻辑很简单:遍历目录下的所有文件夹,判断是否是符号链接,如果是就输出「文件夹名 [目标路径]」的格式;普通文件夹则直接输出名称,完全符合你的需求。
备注:内容来源于stack exchange,提问作者andio




