
【已解決】批處理提權(quán)怎么支持帶雙引號參數(shù)最后由 2198114498 于 -12-31 12:42感謝4樓flashercs完美解決經(jīng)過測試,A中start必須提供完整路徑或者B中使用%~s0才行。也是因?yàn)橐恢虢猓彩浅鳂I(yè)沒抄明白,曾經(jīng)用下面第一種提權(quán),后來想添加參數(shù)換用REG QUERY HKUS-1-5-19>NUL 2>&1判斷,已經(jīng)想不起當(dāng)時在哪抄的有沒有%~s0,可能改的過程沒注意改沒了,現(xiàn)在重新搜到第二種,才注意到都有%~s0%1 start mshta vbscript:createobject(shell.application).shellexecute(%~0,::,,runas,1)(window.close)&exit%1 mshta vbscript:CreateObject(Shell.Application).ShellExecute(cmd.exe,/c %~s0 ::,,runas,1)(window.close)&&exit以下是原問題:找到的提權(quán)代碼都是無參的請教各位大神,1、如何支持任意數(shù)量參數(shù),特別是參數(shù)帶雙引號的2、從A批處理start運(yùn)行B批處理,如果參數(shù)包含雙引號,則B批處理提權(quán)后閃退謝謝!下面是我自己寫的測試代碼,B可以實(shí)現(xiàn)自運(yùn)行或者拖放運(yùn)行,但是A調(diào)用B,到了提權(quán)代碼就會退出,請問該怎么修改,先謝了!B.bat
A.batnclick="copycode($('code0'));">復(fù)制代碼
- @echo on&setlocal enabledelayedexpansion
- cd /d %~dp0
- echo 0=%0
- echo *=%*
- echo 1=%1
- echo 2=%2
- echo 3=%3
- echo 4=%4
- echo 5=%5
- echo 6=%6
- echo 7=%7
- echo 8=%8
- echo 9=%9
- pause
- if not %~2== set args=%*&goto :@a
- set args=%* abc 1 23 4 5
- :@a
- set args=%args:=%
- REG QUERY HKUS-1-5-19>NUL 2>&1||mshta vbscript:createobject(shell.application).shellexecute(cmd.exe,/c %~0 %args%,,runas,1)(window.close)&&pause&&goto :eof
- mshta vbscript:Execute(msgbox(文件不存在: ):close)
- pause&goto :eof
nclick="copycode($('code1'));">復(fù)制代碼
- cd /d %~dp0
- set args=1 2 3 4 5 6 a b 7
- start B cmd /c B.bat %args%

