命令执行后保持diskpart命令行打开

时间:2018-03-12 15:54:29

标签: windows vbscript scripting

我正在使用一个脚本,该脚本在执行命令列表后截取终端的屏幕截图,其中一个命令是{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没有任何区别。

1 个答案:

答案 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