我有一个叫做 的 exe 文件invis.exe
,它是将 vbs 转换为 exe,内容如下:
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
使用这个我想创建不可见的批处理任务,甚至包含新命令(单击批处理 - 执行invis.exe cmd.exe“标题示例”),所以基本上我只想创建在新的不可见批处理中运行命令的批处理。
答案1
我只想创建在新的不可见批处理中运行命令的批处理
除非我误解了您想要完成的任务,否则您可以让 VBS 脚本的逻辑接受第一个参数,即批处理文件的完整路径,这将确保该批处理脚本隐藏或静默运行。
这样,您可以让批处理脚本逻辑执行任何您想要的操作,然后将该脚本传递给 VBS 脚本,并确保它运行的任何逻辑都将被隐藏。
VBS 脚本逻辑
Set Arg = WScript.Arguments
var = Arg(0)
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & var & Chr(34), 0
Set WinScriptHost = Nothing
Set Arg = Nothing
测试它
为了测试这一点,你可以运行类似...的命令。
C:\folder\path\InvisibeArgTest.vbs "C:\folder\path\script.bat"
如果将 VBS 脚本转换为可执行文件,则可以使用类似的方法。。。
C:\folder\path\InvisibeArgTest.exe "C:\folder\path\script.bat"
笔记:使用这种方法,您可以只使用一个 VBS 脚本或转换后的 EXE,然后就可以编写批处理脚本逻辑来执行任何您想要的操作。您只需将该批处理脚本的完整路径作为第一个参数传递给它,它就会运行批处理脚本逻辑所隐藏的任何内容。这样,您就可以灵活地使用它运行任何批处理脚本或更改传递给它的批处理脚本逻辑,而无需更改 VBS 逻辑或重新编译 EXE 或使用另一个批处理脚本。如果足够的话,请保持简单。