我正在使用一个脚本,该脚本在执行命令列表后截取终端的屏幕截图,其中一个命令是{diskpart命令行中的list disk
这就是我编码的内容:
Set args = WScript.Arguments
Set objShell = CreateObject("WScript.Shell")
Dim comando
comando = "list disk"
objShell.CurrentDirectory = "C:"
objShell.Run ("diskpart command line" & comando)
WScript.Sleep(5000)
一切正常,但在执行命令后,终端消失,无法截取屏幕截图。如何暂停终端执行?
我也尝试过这一行:
objShell.Run ("cmd /k diskpart " & comando)
但/k
没有任何区别。
答案 0 :(得分:0)
参数-fvisibility=hidden
使CMD实例保持运行。它不会影响/k
命令。如果要在运行命令后保持交互式diskpart
提示,请再次运行diskpart
(使用diskpart
以菊花链方式连接命令)。此外,&
不接受命令作为参数。您必须将它们写入脚本并通过diskpart
调用它或将命令传递到diskpart /s SCRIPT
。
diskpart
如果您希望退出Set sh = CreateObject("WScript.Shell")
cmd = "list disk"
sh.Run "cmd /k ""echo " & cmd & " | diskpart & diskpart"""
时自动关闭CMD窗口,请将/k
替换为/c
。