
[已解決]幫我看下“查找快捷方式所指向目標bat”那里出了問題謝謝最后由 yyz219 于 -3-20 20:51最佳方案:(主要這些代碼能夠在PE中運行)方法1
- @echo off
- REM 把Lnk文件拖到這里
- mshta VBscript:Execute(s=CreateObject(Wscript.Shell).CreateShortcut(%~f1).TargetPath:CreateObject(scripting.FileSystemObject).OpenTextFile(#.txt,2,True).Write(s):close)
nclick="copycode($('code0'));">復制代碼
方法2:
- ::【拖到這里:快捷方式所指向目標保存文本#.txt】
- @echo off
- >快捷方式所指向目標保存文本.vbs echo Set oWshShell = CreateObject(Wscript.Shell)
- >>快捷方式所指向目標保存文本.vbs echo Set oWshShortcut = oWshShell.CreateShortcut(%~1)
- >>快捷方式所指向目標保存文本.vbs echo Dim fso, MyFile
- >>快捷方式所指向目標保存文本.vbs echo Set fso = CreateObject(scripting.FileSystemObject)
- >>快捷方式所指向目標保存文本.vbs echo Set MyFile = fso.CreateTextFile(#.txt, True)
- >>快捷方式所指向目標保存文本.vbs echo MyFile.WriteLine(oWshShortcut.TargetPath)
- >>快捷方式所指向目標保存文本.vbs echo MyFile.Close
- 快捷方式所指向目標保存文本.vbs
- del /q 快捷方式所指向目標保存文本.vbs
- exit
nclick="copycode($('code1'));">復制代碼
********************************原來的問題:查找快捷方式所指向目標.bat
- @echo off&setlocal enabledelayedexpansion
- set /p T=【右鍵】粘貼.lnk路徑:
- for /f tokens=* delims= %%i in ('type %T%^|find :') do (
- set /a n=n%%2+1
- if !N! equ 2 echo %%i
- )
- pause
nclick="copycode($('code2'));">復制代碼
要達到的效果:輸入快捷方式路徑(含擴展名),能夠顯示出快捷方式所指向目標**********************************************************實際情況:1.輸入:D:桌面DesktopDism++.lnk,能夠正確顯示2.輸入:D:桌面Desktop關機.lnk,沒有顯示另外,如果文件路徑中有!號,也不能夠正確顯示(!號丟失)*************************************************************上面兩個快捷方式實際所指向目標是:D:桌面DesktopDism++.lnk————D:1綠色軟件bat批處理C盤使用情況 -Dism++x64-.batD:桌面Desktop關機.lnk——————D:1綠色軟件bat批處理注銷+重新啟動關機.bat————————————————————————————————————————————問題不知道出現在哪里?謝謝