在最小化模式下打开批处理文件后,如何保持窗口大小



我有一个VBscript,它运行一堆程序,其中一个是批处理文件。在批处理文件中,我使用:

Mode 50,8

这使窗户的尺寸合适,看起来也很漂亮。然而,在我使用VBscript打开批处理文件的情况下,我希望它最小化,这是这样做的:

objShell.Run("path_of_my_batch_file"),7

问题是,这使得批处理文件完全忽略了保持在"模式50.8"并以默认CMD大小打开批处理文件的指示。

所以我的问题是:如何使用VBS文件在最小化模式下打开批处理文件,同时保持其大小?

将其放在批处理文件的顶部起作用:

Pause
Mode 50,8

但这意味着我必须在它达到合适的尺寸之前按下一个键,我很谨慎地不想这样。我需要一种方法,要么在批处理文件不再最小化时立即运行"模式50.8"命令,要么在VBS文件最小化后让它保持大小。

问题是mode 50,8命令在最小化状态下似乎没有效果。

  • 有变通办法使用.apac tivate,然后使用sendkeys,但是
  • 我更喜欢第三方应用程序NirCMD,它可以使批处理最小化/恢复本身

' Q:Test2018723SO_51469493.vbs
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("Q:Test2018723SO_51469493.cmd")

:: Q:Test2018723SO_51469493.cmd
@Echo off
Title Min5x80
Mode 80,5
Echo now minimizing using:
Echo nircmd win min title Min5x80
Timeout /t 5 & nircmd  win min    title Min5x80
Timeout /t 5 & nircmd  win normal title Min5x80
cls
Echo back again
Pause

这将涉及运行批处理时的闪烁。

最新更新