如何最小化运行批处理文件

Posted

技术标签:

【中文标题】如何最小化运行批处理文件【英文标题】: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。所以有什么帮助吗?我也不能在这里使用快捷方式来批处理。

【问题讨论】:

这能回答你的问题吗? open program minimized via command prompt 【参考方案1】:

来自this page:

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

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

【讨论】:

你的命令是错误的。它缺少"",即:cmd.exe /c start /min "" "YourBatchFile.bat"open program minimized via command prompt【参考方案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】:

伙计们,我在浏览 *** 问题时解决了我的问题。看看这个问题的答案你会找到答案的。.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

【讨论】:

以上是关于如何最小化运行批处理文件的主要内容,如果未能解决你的问题,请参考以下文章

BAT批处理文件的msdos窗口如何开机自动后台运行不弹出窗口?

如何把批处理运行后的结果,即在批处理窗口显示又能输出到指定文件中?

如何制作一个批处理文件来不断检查程序是不是打开,如果没有,则将其最小化

在不修改快捷方式的情况下使批处理文件隐藏/最小化

批处理 - 在运行循环命令时最小化窗口(未启动最小化)

windows bat批处理 循环执行并最小化