本帖最后由 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
谢谢 |