
正好看到, 那就一行代码解决问题吧
如果VBScript 被砍掉,则可用 powershell 来执行,原理是一样的:
可支持:
需要隐藏窗口执行的话,对于 mshta 版本,只需要改变 0 为 1 即可:
以及 powershell 版本,简单增加 -WindowStyle Hidden 即可:
解释一下:
使用 cmd.exe 来执行,是为了能让脚本在执行时,自动切换到其所在的路径,因为直接通过 ShellExecute执行,并不能做到自动切换目录。
参考:
Shell.ShellExecute method (Shldisp.h) - Win32 apps
ShowWindow function (winuser.h) - Win32 apps
Start-Process (Microsoft.PowerShell.Management) - PowerShell
UPDATE 18.10.12: 将 %~s0 改为 ""%~s0"" 以支持路径中有空格后无法正确执行的问题。
UPDATE 22.11.15 增加进入相同目录的功能,通过 pushd 实现。
UPDATE 23.01.11 增加 powershell 执行方式,以免以后 vbscript 被砍。
UPDATE 23.02.03 通过验权语句去掉 %1 部分,并支持脚本完整传参
