2011-01-12 181 views

回答

1

您通常需要别的东西来运行该庄园中的脚本 即 创建快捷方式,并将快捷方式的“运行”字段设置为“最小化”。

1

一旦你点击或远离批处理文件运行它的cmd.exe窗口,它是“在后台” - 我不确定你想要什么,但它听起来像你可能会问如何运行批处理文件而不显示cmd.exe窗口。

如果是这样,我可以想到两种方法:首先,您可以创建批处理文件的快捷方式,右键单击它,并在其中的属性中设置运行最小化的快捷方式(应该是运行旁边的下拉选项)。

您还可以使用Windows Script Host的shell对象(calling the Run method)将批处理文件调用到VBScript文件中,以便不可见地运行批处理文件。传递0作为intWindowStyle参数将禁止显示窗口或任何内容。

7

那么,你可以从start开始最小化,如果这就够了。真的隐藏它很困难(虽然我现在可以想到一个选项)。

基本上你需要通过双击来确定批次是否已经启动。您可以通过定义一个特殊变量做到这一点,寻找它:作为FOO变量没有定义

@echo off 
if not defined FOO (
    set FOO=1 
    start /min "" %~0 
    exit /b 
) 

rem here whatever you wanted to do originally in the batch 

只要(这可能是默认几乎无处不在),此批将推出自己再次最小化,但首先定义的变量。环境被传递给子进程,这就是为什么这是有效的。

+0

这是我最喜欢的方法。我喜欢这个片段。 – djangofan 2011-11-02 19:03:14

1

@Ghyath Serhal 我已经使用cmdow在另一个程序上执行此操作,它是一个可用于修改命令提示符的外部应用程序。要使用它,您需要将该代码(见下文)输入到它自己的批处理文件中,或者在命令提示符下输入带有隐藏终端窗口的'BatchFile.bat'。我还没有找到在单个批处理文件中使用它的方法,但我今天才发现这一点。

cmdow /run /hid 'BatchFile.bat'

希望这有助于。

相关问题