如何最小化运行批处理文件
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窗口如何开机自动后台运行不弹出窗口?
如何把批处理运行后的结果,即在批处理窗口显示又能输出到指定文件中?