我想通过另一个批处理或vbs脚本以最小化模式运行批处理文件。我尝试的是:
batch1.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。那有什么帮助吗?我也不能在这里使用快捷方式批处理。
答案 0 :(得分:4)
来自this page:
cmd.exe /c start /min YourBatchFile.bat ^& exit
从任务计划程序运行命令时,我必须执行cmd.exe
作为程序,并将其余部分作为参数。此外,从Windows 8的任务计划程序运行时,^& exit
没有为我关闭生成的窗口。我必须在我的批处理文件中构建exit
命令,以便在完成时从任务栏中删除窗口。
答案 1 :(得分:2)
你可以试试这个:
@ECHO OFF &SETLOCAL
{ my program }
DEL "%~f0" /F /Q
答案 2 :(得分:2)
@echo off
如果不是“%1”==“min”start / MIN cmd / c%0 min& exit / b> nul 2>& 1
:---这一行以下的剩余批次:
答案 3 :(得分:1)
batch2.bat:
@echo off
{myprogram}
>autoDelete.bat echo del batch1.bat batch2.bat autoDelete.bat
2>nul autoDelete.bat
答案 4 :(得分:0)
NirCMD exec hide "Path to Batch File\Batch File.bat"
从这里下载nircmd
官方网站:http://www.nirsoft.net/utils/nircmd2.html