@echo off
setlocal enableExtensions enableDelayedExpansion
cd /D "%~dp0"
set br=^
rem br;
set "pafIf=<<pafToSymlink|pafToFolder>>"
set "gIfZsymLink="
for /f "tokens=*" %%q in ('dir "!pafIf!" /al /b') do (
for /f "tokens=2 delims=[]" %%r in ('dir /al ^| findstr /i /c:"%%q"') do (
set "gIfZsymLink=!gIfZsymLink!%%~fq>%%r!br!"
)
)
set "gIfZsymLink=!gIfZsymLink:~0,-1!"
rem echo "!gIfZsymLink!"
for /f "tokens=1,2 delims=>" %%q in ("!gIfZsymLink!") do (
echo symlink: %%q , filepath: %%r
)
:scIn
rem endlocal
pause
rem exit /b
7条答案
按热度按时间7fhtutme1#
正如Harry约翰斯顿所说
dir
命令显示了目标的符号链接col17t5w2#
要补充Paul Verest's helpful answer:
cmd
的dir
确实显示了链接类型和目标路径,但 * 提取 * 这些信息并不简单--请参阅下面的PowerShell替代方法。dir /aL
**。PowerShell(PSv 5+)解决方案:
以完整路径形式列出当前目录中的所有链接及其目标:
确定给定链接的目标:
d4so4syb3#
编写一个批处理文件(get_target. bat)来获取符号链接的目标:
例如,要获取
C:\root\Public\mytextfile.txt
的目标:jaxagkaj4#
也许有人对解析目录中所有目录符号链接的C#方法很感兴趣,该方法类似于Directory.GetDirectories()。要列出Junctions或File符号链接,只需更改regex。
icnyk63a5#
@安全和隐私Maven的所有署名,[cmd]
读取符号链接的完整批处理脚本/函数{|s在文件夹}中,并列出输出及其目标路径
s71maibg6#
命令行选项
超级用户Julian Knight的answer列出了一些Linux命令的Windows等价物的资源。与此最相关的命令是
ln.exe
。这里有下载链接,以及如何使用这些实用程序。使用Windows GUI
或者,如果您希望使用Windows GUI界面(具体而言,文件属性窗口)查看符号链接的目标,请安装Windows Link Shell Extension(直接链接到文件下载):
超级用户Julian Knight的answer对我来说很好用。
安装Windows链接 shell 扩展后,您可以在Windows资源管理器中右键单击链接并检查属性。有一个选项卡允许您直接更改链接。
安装Link Shell Extension后:
(In相反,“属性”窗口中其他位置的“位置”字段不允许滚动以查看正在检查的文件的完整路径。)
顺便说一句
安装Link Shell Extension后不久,WAMP服务器图标不再出现在系统托盘中(注意到),这意味着当WAMPP仍在运行时(本地网站按预期工作),无法访问任何WAMP功能。
这是不确定的安装导致WAMPP托盘图标消失,但好消息是,在重新启动后,WAMPP重新出现在系统托盘中,像往常一样。:-)
svgewumm7#
已接受答案的附录,在Windows GUI中查看符号链接:
下面的每个文件和文件夹都包含相同的2KB数据。