發(fā)現(xiàn) mshta 會(huì)把 file:// 協(xié)議指向的文件當(dāng)作 html 來解析(注:IUnknown 與 happyxxdhaha 提醒此處必需使用絕對路徑,否則不會(huì)執(zhí)行),心里頓時(shí)有一萬只草泥馬奔過,原來如此簡單的答案就在身邊,卻錯(cuò)過了四年
:!--
::::::::::::::::::::::::::::::::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}
思路:當(dāng)此文件被當(dāng)作BAT文件執(zhí)行時(shí),未執(zhí)行到HTML代碼部分時(shí)就已退出;
當(dāng)此文件被當(dāng)作HTML文件執(zhí)行時(shí),BAT代碼部分被注釋,不會(huì)被執(zhí)行。
-->