返回列表 发帖

[其他] 求优化批处理“lnk指向目标(拖).bat”。谢谢

本帖最后由 yyz219 于 2025-3-22 09:51 编辑

暂时方案,求更好的

@echo off
::【获取:lnk指向目标】
echo.WSH.echo CreateObject("WScript.Shell").CreateShortcut(WSH.Arguments(0)).targetpath>#
for /f "delims=" %%a in ('cscript -nologo -e:vbscript # "%~1"') do echo. %%a &del #
pause>nul 2>nul
=====================================================
问题:
lnk指向目标(拖).bat:(忘记说了:是 PE 环境)
@echo off
::【获取:lnk指向目标路径】
>"%tmp%\t.t" echo;WSH.echo CreateObject("WScript.Shell").CreateShortcut(WSH.Arguments(0)).targetpath & for /f "delims=" %%a in ('cscript -nologo -e:vbscript "%tmp%\t.t" "%~1"') do echo.%%a
pause>nul 2>nulCOPY
===========================================================
这个bat能够正确识别 拖到 “lnk指向目标(拖).bat”图标的快捷方式 指向目标路径。
我觉得这代码有一点长,不知道还能不能优化、精简?谢谢

需求:让代码短一些(同样的效果),显示部分要有:echo. (方便与其它代码连接)
我是小白,希望老师多多帮助

回复 2# aloha20200628


    谢谢
我是小白,希望老师多多帮助

TOP

回复 2# aloha20200628


1.路径显示了两次
2.还显示了不想看到的
我是小白,希望老师多多帮助

TOP

回复 5# aloha20200628


    谢谢
我是小白,希望老师多多帮助

TOP

本帖最后由 yyz219 于 2025-3-21 10:13 编辑

回复 5# aloha20200628

@echo off
@set @v=1 //&(for /f "delims=" %%a in ('cscript -e:jscript "%~f0" "%~1"') do @echo,%%a)&pause&exit/b
WSH.echo(WSH.createObject('WScript.Shell').createShortcut(WSH.arguments(0)).targetpath)
pause >nul
exit

====================================================================
前面、后面加代码后,会出错

不能够跟其它代码合作哦
我是小白,希望老师多多帮助

TOP

回复 9# smss


    我试一试先 谢谢
我是小白,希望老师多多帮助

TOP

本帖最后由 yyz219 于 2025-3-21 11:19 编辑

回复 9# smss


    没有显示(忘记说了:是 PE 环境)


删除 @echo off 后

我是小白,希望老师多多帮助

TOP

回复 8# aloha20200628

谢谢
我是小白,希望老师多多帮助

TOP

回复 13# aloha20200628


    谢谢 我试一试先
我是小白,希望老师多多帮助

TOP

回复 13# aloha20200628


     我的 winPE 系统可用 find.exe,findstr.exe 都有

我是小白,希望老师多多帮助

TOP

回复 16# smss


    就是不知道 PE 需要补充什么?
我是小白,希望老师多多帮助

TOP

... ...

我是小白,希望老师多多帮助

TOP

返回列表