發(fā)現(xiàn) mshta 會把 file:// 協(xié)議指向的文件當作 html 來解析(注:IUnknown 與 happyxxdhaha 提醒此處必需使用絕對路徑,否則不會執(zhí)行),心里頓時有一萬只草泥馬奔過,原來如此簡單的答案就在身邊,卻錯過了四年
:!--
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::
::::::::1.執(zhí)行HTML代碼之前的BAT代碼::::::::
@echo off
call :e Starting mshta...
pause
::::::::1.執(zhí)行HTML代碼之前的BAT代碼::::::::
::執(zhí)行HTML代碼:
start mshta %0
::::::::2.執(zhí)行HTML代碼之后的BAT代碼::::::::
call :e Mshta is executing HTML codes...
pause
::::::::2.執(zhí)行HTML代碼之后的BAT代碼::::::::
::退出BAT:
exit/b
:::::::BAT函數(shù)定義部分:::::::
:e
echo %*
goto :eof
:::::::BAT函數(shù)定義部分:::::::
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::
-->
!--此句用來清除第一行的:-->
script>document.body.innerText=""/script>
!--------------------------HTML-------------------------->
body onkeypress=window.close()>
hr color=red>
marquee>font color=green>HTML Codes/font>/marquee>
hr color=red>
!--------------------------HTML-------------------------->
!-- BAT HTML {s11ss@www.cn-dos.net/forum 2008-4-22}
思路:當此文件被當作BAT文件執(zhí)行時,未執(zhí)行到HTML代碼部分時就已退出;
當此文件被當作HTML文件執(zhí)行時,BAT代碼部分被注釋,不會被執(zhí)行。
-->