현재 내 배치 파일은 다음과 같습니다.
myprogram.exe param1
프로그램이 시작되지만 DOS 창이 열려 있습니다. 닫을 수 있습니까?
답변
exit 키워드를 사용할 수 있습니다. 다음은 내 배치 파일 중 하나의 예입니다.
start myProgram.exe param1
exit
답변
배치 파일이 프로그램을 기다리지 않도록하려면 start 명령을 사용하십시오. “시작”후에 실행하려는 프로그램 앞에 빈 큰 따옴표를 넣어야합니다. 예를 들어 배치 명령에서 Visual Studio 2012를 실행하려는 경우 :
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
시작 후 큰 따옴표를 확인하십시오.
답변
START 명령을 보면 다음과 같이 할 수 있습니다.
START rest-of-your-program-name
예를 들어이 배치 파일은 메모장이 종료 될 때까지 기다립니다.
@echo off
notepad c:\test.txt
그러나 이것은 :
@echo off
start notepad c:\test.txt
답변
내 자신의 질문에서 :
start /b myProgram.exe params...
기존 DOS 세션에서 프로그램을 시작하면 작동합니다.
그렇지 않으면 VB 스크립트를 호출하십시오.
wscript.exe invis.vbs myProgram.exe %*
Windows 스크립트 호스트 실행 () 메소드를 취합니다
- intWindowStyle : 0은 “보이지 않는 창”을 의미합니다
- bWaitOnReturn : false는 첫 번째 스크립트가 두 번째 스크립트가 끝날 때까지 기다릴 필요가 없음을 의미합니다
다음은 invis.vbs입니다.
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
답변
이것은 배치 파일에서 Java 클래스를 실행하려고 할 때 나를 위해 일한 유일한 것입니다.
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
start
적절한 구문에 따라 프로젝트에 원하는대로 명령을 사용자 정의 할 수 있습니다 .
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
답변
이것을 시도해야합니다. 창없이 프로그램을 시작합니다. 실제로 1 초 동안 깜박이지만 상당히 빨리 사라집니다.
start "name" /B myprogram.exe param1
답변
“공간 문제”및 로컬 종속성을 해결하는 방법 :
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit