將 vbscript 程式碼嵌入到批處理檔案中而不使用臨時檔案
以下是 dostips 論壇使用者 Liviu 發明的技術(hack)的示例 :
@echo off
echo Printed by CMD.EXE
cscript //nologo "%~f0?.wsf" //job:JS //job:VBS
exit /b %errorlevel%
----END OF BATCH CODE---
<package>
<job id="JS">
<script language="VBScript">
WScript.Echo("Printed by VBScript"):
</script>
</job>
<job id="VBS">
<script language="JScript">
WScript.Echo("Printed by JScript");
</script>
</job>
</package>
由於執行帶有 Windows 指令碼主機的 wsf
檔案是擴充套件敏感的,你可以通過在檔案末尾新增 ?.wsf
來執行任何副檔名的檔案(這是黑客的核心)。雖然 Liviu 的例子可能更強大,但上面的程式碼更簡化版本。由於 wsh 並不關心 <package>
節點之外的事情,因此你沒有義務將所有內容放在 xml 註釋中。雖然要注意重定向符號(<
和 >
)