【问题标题】:How to run a batch file minimized如何最小化运行批处理文件
【发布时间】:2013-07-04 23:45:24
【问题描述】:

我想通过另一个批处理或 vbs 脚本以最小化模式运行批处理文件。我尝试的是:
批处理1.bat

@echo off  
start /min batch2.bat

batch2.bat

@echo off  
{my program}  
del /f /q batch1.bat >nul  
del /f /q batch2.bat >nul  

当我尝试这个时,一切正常,第二批运行并完成它的工作,但最后一个最小化的命令提示符窗口停留,上面写着the windows can not fond the batch file 和一个简单的批处理文件路径提示符,如命令提示符所示。

如果我使用exit 命令而不是第二批中的这一行del /f /q batch2.bat >nul,那么它会按我的意愿工作,但对于我的程序来说,在运行后删除batch2 很重要。
我唯一的目标是在最小化模式下运行 batch2。所以有什么帮助吗?我也不能在这里使用快捷方式来批处理。

【问题讨论】:

标签: batch-file minimized


【解决方案1】:

来自this page

cmd.exe /c start /min YourBatchFile.bat ^& exit

从任务计划程序运行命令时,我必须将cmd.exe 作为程序执行,并将其余部分作为参数。此外,^& exit 在从 Windows 8 的任务计划程序运行时并没有为我关闭生成的窗口。我必须将exit 命令构建到我的批处理文件中,以便在完成后从任务栏中删除窗口。

【讨论】:

【解决方案2】:
@echo off

if not "%1" == "min" start /MIN cmd /c %0 min & exit/b >nul 2>&1

:---rest of batch below this line:

【讨论】:

    【解决方案3】:

    你可以试试这个:

    @ECHO OFF &SETLOCAL
    { my program }
    DEL "%~f0" /F /Q
    

    【讨论】:

    • 不,那没用。显示的和我一样。 cmd窗口仍然存在。
    【解决方案4】:

    batch2.bat:

    @echo off
    {myprogram}
    >autoDelete.bat echo del batch1.bat batch2.bat autoDelete.bat
    2>nul autoDelete.bat
    

    【讨论】:

    • 我试过了,但这次没有删除任何东西,只是创建了一个新文件 autoDelete.bat 并且 cmd 窗口仍然最小化。
    【解决方案5】:

    伙计们,我在浏览 stackoverflow 问题时解决了我的问题。看看这个问题的答案你会找到答案的。
    .vbs script won't run batch / how to run batch silently

    NirCMD exec hide "Path to Batch File\Batch File.bat"
    

    从这里下载 nircmd
    官网:http://www.nirsoft.net/utils/nircmd2.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 2010-10-21
      • 1970-01-01
      • 2017-12-16
      • 2011-03-18
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      相关资源
      最近更新 更多