
[已解決]求修改批處理搜索文件夾里面的lnk快捷方式完美解決了(PE下能夠運行代碼):
****************************(下面代碼正常系統正常,PE下不行)nclick="copycode($('code0'));">復制代碼
- [code]
- @echo off
- ::【檢測(是否在PE中運行),是向下運行,否跳到:A】
- if not exist X:windows goto :A
- ::********************************************
- ::【lnk文件關聯】
- reg add HKCRlnkfile /f /ve /t REG_SZ /d 快捷方式
- reg add HKCRlnkfile /f /v EditFlags /t REG_DWORD /d 1
- reg add HKCRlnkfile /f /v IsShortcut /t REG_SZ /d
- reg add HKCRlnkfile /f /v NeverShowExt /t REG_SZ /d
- ::*********************************************************
- ::【生成 “開機運行” 所有文件路徑(含擴展名),保存為:#.txt】
- cd /d D:PE整理碎片(很好)修改PE啟動開機運行
- DIR /S/B >X:#.txt
- ::*********************************************************
- ::【行首行尾添加字符,生成并運行:啟動.vbs】
- cd /d X:
- set strOne=CreateObject(^Wscript.Shell^).Run ^cmd /c %【行首添加字符】%
- set strTwo=^,0 %【行尾添加字符】%
- for /f tokens=* %%i in (#.txt) do (>>啟動.vbs echo %strOne%%%i%strTwo%)
- 啟動.vbs
- del #.txt 啟動.vbs
- exit
- ::********************************************
- :A
- exit
****************************************************************************原來的問題:文件夾:D:桌面Desktop0里面有多個.lnk文件希望運行批處理以后,得到temp.vbs文件內容形如:nclick="copycode($('code1'));">復制代碼
- @echo off
- for %%c in (D:桌面Desktop0*.lnk) do (
- set t=%%c
- call :cre
- )>>temp.vbs
- temp.vbs
- ::del temp.vbs
- exit
- :cre
- echo CreateObject(Wscript.Shell).Run %t%,0
************************************************************************現有批處理:nclick="copycode($('code2'));">復制代碼
- CreateObject(Wscript.Shell).Run D:桌面Desktop0重新啟動.bat.lnk,0
- CreateObject(Wscript.Shell).Run D:桌面Desktop0手動-備份桌面圖標位置.bat.lnk,0
- ... ...
運行以后,temp.vbs文件內容只有一行:nclick="copycode($('code3'));">復制代碼
- @echo off
- for %%c in (D:桌面Desktop0*.lnk) do set T=%%c
- >>temp.vbs echo CreateObject(Wscript.Shell).Run %T%,0
- temp.vbs
- ::del temp.vbs
- exit
怎樣才能夠將所以的.lnk文件路徑全部添加到temp.vbs文件里面?謝謝nclick="copycode($('code4'));">復制代碼
- CreateObject(Wscript.Shell).Run D:桌面Desktop0重新啟動.bat.lnk,0

