【问题标题】:keep diskpart command line open after command execution命令执行后保持diskpart命令行打开
【发布时间】:2018-08-20 17:20:23
【问题描述】:

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

【问题讨论】:

    标签: windows vbscript scripting


    【解决方案1】:

    参数/k 保持CMD 实例运行。它不影响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 窗口在您从 diskpart 退出时自动关闭,请将 /k 替换为 /c

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多