标题: [其他] [已解决]求修改:获取快捷方式指向的目标.bat,显示短路径,改为显示长路径,谢谢 [打印本页]
作者: yyz219 时间: 2022-12-16 16:15 标题: [已解决]求修改:获取快捷方式指向的目标.bat,显示短路径,改为显示长路径,谢谢
本帖最后由 yyz219 于 2022-12-16 22:22 编辑
百度到优秀的bat:- ::【获取lnk快捷方式指向的目标文件(%~1————快捷方式路径{含.lnk})】
- @echo off
- ::【检测(是否在PE中运行),是向下运行,否跳到:A】
- if not exist "X:\windows\" goto :A
- copy /y "%~dp0cscript.exe" "X:\Windows\System32\cscript.exe"
-
- :A
- set "M=%~1"
- >"%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" "%M%"') do echo;%%a>"%~dp0路径.txt"
- start "" "%~dp0路径.txt"
- exit
复制代码
*********************************************************
原来的问题
求修改:获取快捷方式指向的目标.bat,显示短路径,改为显示长路径,谢谢
*****************************************************
已有“获取快捷方式指目标.bat”:- @echo off
- for /f "delims=" %%i in ('dir/a-d/s/b/l/on ".\*.lnk"')do (
- xcopy/y "%%i" "%programdata%\microsoft\windows\start menu\programs\startup\" >nul 2>nul
- for /f "delims=" %%j in ('wmic startup where description^="%%~ni" get * /value')do (
- for /f "tokens=1,* delims==" %%k in ("%%j")do (
- if /i "%%k"=="command" (
- ::echo,lnkname: %%~nxi
- echo,lnkpath: %%l
- )
- )
- )
- del/f/q "%programdata%\Microsoft\Windows\Start Menu\Programs\Startup\%%~nxi" >nul 2>nul
- )
- pause
复制代码
******************************************************************************
运行后显示:
lnkpath: J:\注册、~1.TXT
******************************************************************************
修改以后,希望运行后显示:
lnkpath: J:\注册、反注册dll.txt
谢谢
作者: 77七 时间: 2022-12-16 17:38
你这个批处理是干嘛的...我水平太差了...看不明白,可以解释一下吗...
作者: yyz219 时间: 2022-12-16 18:10
你这个批处理是干嘛的...我水平太差了...看不明白,可以解释一下吗...
77七 发表于 2022-12-16 17:38
本论坛的: [分享]wmic获取快捷方式指向的目标
http://www.bathome.net/viewthrea ... A%BD%2B%C4%BF%B1%EA
作者: idwma 时间: 2022-12-16 20:18
8行改成这样试试- set /p =lnkpath:<nul & dir /b /s "%%l"
复制代码
作者: 77七 时间: 2022-12-16 20:21
本帖最后由 77七 于 2022-12-16 20:22 编辑
回复 3# yyz219
原来如此,我看"指目标",看半天...我运行提示没有可用实例。话说,你咋天天跟快捷方式干上了...有什么好玩的吗...
作者: yyz219 时间: 2022-12-16 20:22
8行改成这样试试
idwma 发表于 2022-12-16 20:18
我试一试先 谢谢
作者: yyz219 时间: 2022-12-16 20:30
本帖最后由 yyz219 于 2022-12-16 20:31 编辑
8行改成这样试试
idwma 发表于 2022-12-16 20:18
不是桌面的文件 的 快捷方式 问题解决了
但是,如果是 桌面的文件 的 快捷方式 ,运行后显示:
lnkpath: 系统找不到指定的路径。
请按任意键继续. . .
还可以修改吗?谢谢
作者: yyz219 时间: 2022-12-16 20:39
8行改成这样试试
idwma 发表于 2022-12-16 20:18
另外,长路径也不行:
lnkpath: 系统找不到指定的文件。
lnkpath: d:\1绿色~1\bat批~1\c盘使用情况 -dism++x64-.bat
lnkpath: d:\1绿色~1\系统\设置\个人文~1\个人文件转移工具1.6.exe
lnkpath: j:\注册、反注册dll.txt
请按任意键继续. . .
作者: WHY 时间: 2022-12-16 21:26
- @if(0)==(0) echo off
- cd /d "%~dp0"
- dir /b /a-d /s *.LNK | cscript //nologo //e:jscript "%~f0"
- pause & exit
- @end
-
- var oShell = new ActiveXObject('WScript.Shell');
- while(!WSH.StdIn.AtEndOfStream){
- var strFile = WSH.StdIn.ReadLine();
- var oLink = oShell.CreateShortcut(strFile);
- WSH.Echo('Source: ' + strFile);
- WSH.Echo('Target: ' + oLink.TargetPath + ' ' + oLink.Arguments);
- }
复制代码
作者: yyz219 时间: 2022-12-17 08:22
WHY 发表于 2022-12-16 21:26
非常感谢你的帮助
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |