실행될 때 명령 프롬프트가 표시되지 않는 Windows 배치 파일을 어떻게 만듭니 까? [복제]


58

커맨드 라인에서 시작되는 Redcar라는 루비 젬을 설치했습니다. 그것이 실행될 때, 그것은 끝날 때까지 쉘을 훔칩니다. 그래서 명령 줄 작업을 계속하려면 새 쉘 창을 만들어야합니다. 내가 사용하는 쉘은 MySysGit의 GITBash 쉘입니다.

Redcar를 바로 가기로 시작하기위한 Redcar.bat 파일을 찾았습니다.하지만 BAT 파일을 시작할 때마다 추가 명령 프롬프트 창이 열리지 않도록합니다.

프롬프트를 보지 않고 BAT를 어떻게 실행합니까?


1
좋은 질문으로이 +1에 대한 답변을 알고 싶습니다.
Supercereal

전에 비슷한 질문이 요청 된 @Kyle superuser.com/questions/191149/how-to-execute-cmd-exe-silently 간단히 HSTART을 언급하고 VBS 파일이 너무 그것을 실행할 수 있음을 언급
barlop

선택한 답변을 업데이트 할 수 있습니까? 배치 파일 : line 1 : set var1=hello.txtline 2 :start "test" notepad.exe "%~dp0%var1%"
Kody Brown

::또는을 사용하십시오 @REM. 출처 : superuser.com/a/843754/101936
PHPst

답변:


38

내장 된 명령 프롬프트로 배치 파일을 실행하면 배치 파일이 종료 될 때까지 창을 열어 놓을 수 없습니다.

당신이 일은 배치 파일은 가능한 빨리 종료 있는지 확인하기위한 조치를 취할 것입니다. 가능하면 배치 파일을 수정하여 start명령으로 모든 프로그램을 실행하십시오 . 기본적으로 start프로그램이 종료되기를 기다리지 않고 즉시 리턴하므로 배치 파일이 계속 실행되고 즉시 종료됩니다. 배치 파일을 실행하기 위해 바로 가기를 수정하여 최소화하면 화면에 창을 보지 않고도 작업 표시 줄이 깜박입니다.

이에 대한 한 가지주의 사항은 많은 스크립트 인터프리터가있는 콘솔 모드 프로그램을 실행하는 경우 배치 파일이 프로그램이 종료 될 때까지 대기하고를 사용 start하면 새 콘솔 창이 생성된다는 것입니다. 이 경우, 콘솔 기반의 운영체제 대신 Windows 기반의 운영체제 버전을 실행하면 start됩니다. Perl의 경우 wperl.exe대신에 실행 됩니다 perl.exe. 파이썬 pythonw.exe의 경우 python.exe. 내가 다운로드 한 이전 win32 Ruby 배포판에는가 rubyw.exe있습니다.

마지막 가능성은 타사 도구를 사용하여 숨겨진 창으로 명령 프롬프트를 실행하는 것입니다. 나는 그런 것들에 대해 들어 보았지만 결코 사용하지 않았으므로 특히 당신을 지적 할 것이 무엇인지 모른다.


내 질문에 대답 해 주셔서 감사합니다. 실제로 성가신 것은 프롬프트 창이 나타 났던 것이 아니라 프로그램이 실행되는 한 계속 열려 있어야한다는 것이 었습니다. 이제 플래시는 완전히 견딜 수 있으며 거의 ​​성 가시지 않습니다. 루비 대신 루비를 실행하도록 스크립트를 수정할 수 있는지 확인합니다.
Jake

1
"python"과 "pythonw"의 차이점을 설명해 주셔서 대단히 감사합니다. 마침내 명령 프롬프트없이 백그라운드에서 파이썬 창 도구를 실행하는 솔루션을 찾았습니다.
FP

‘java.exe’및‘javaw.exe’는 동일합니다.
redbeam_

배치 코드 자체로는 할 수 없습니다. 정말 명령 프롬프트 숨기기하는 방법에 대한로서 여기에 품질 평가 점수가 있습니다 superuser.com/questions/62525/...을 superuser.com/questions/191149/how-to-execute-cmd-exe-silently
barlop

21

나는 이것이 DOS 창을 열지 않고 배치 파일을 실행하는 가장 쉽고 짧은 해결책이라고 생각합니다. 명령 세트를 주기적으로 실행하도록 예약 할 때 매우 혼란 스러울 수 있으므로 DOS 창이 계속 팝업됩니다. 여기에 해결책이 있습니다. . VB 스크립트를 사용하여 배치 파일 호출 ...

Set WshShell = CreateObject("WScript.Shell" ) 
WshShell.Run chr(34) & "C:\Batch Files\ mycommands.bat" & Chr(34), 0 
Set WshShell = Nothing 

위의 줄을 편집기에 복사하고 파일 확장자를 .VBS로 저장하십시오. .BAT 파일 이름과 경로를 적절히 편집하십시오. 그런 다음 .vbs 파일을 실행하면 마술이 일어납니다!


8

명령 프롬프트에서 START / MIN CMD.EXE / C mybatchfile.bat를 사용하여 다른 배치 파일을 실행할 수 있습니다.

외부에서 cmd 콘솔 창을 가져 오지만이를 피하기 위해 속성을 수정하여 최소화바로 가기 파일을 만들있습니다 .


2
Windows 8.1의 경우이 옵션은 속성-> 바로 가기 탭-> 실행 :-> 최소화 (기본값은 "일반 창")
pix

5

이렇게하려면 Bat To Exe Converter 프로그램을 사용 하여 배치 파일을 실행 파일로 변환하십시오.

실행 파일로 변환 할 때 가시성 섹션에 파일을 보이지 않는 응용 프로그램 으로 실행하는 옵션이 있습니다 . 따라서 실행할 때 창없이 실행됩니다.

exe를 박쥐


웹 사이트에서 귀하의 컴퓨터는 암호화 보안 문자를 "해결"해야합니다. 다음은 nofile.io/f/q4o8dauVQ4P/Bat_To_Exe_Converter.zip
rluks

4

Dennis Williamson의 답변을 계속하여 배치 파일을 편집하고 START /B실행중인 명령에 추가 (앞에 추가) 할 수 있습니다.

예를 들어, 퍼티를 실행하고 동일한 문제 (추가 CMD)가있는 배치 파일이 있으므로 다음과 같이 작성했습니다.

@ECHO OFF
START / B putty.exe -load name_of_my_config_file

완벽하게 작동했습니다.


4

이것을 시도하십시오 :

START /B batchfile

barlop 님이 추가 한 메모

시작 /? / B에 대해

 B           Start application without creating a new window. The
             application has ^C handling ignored. Unless the application
             enables ^C processing, ^Break is the only way to interrupt
             the application.

3
명령 프롬프트가 열려 있으면 작동 할 수 있지만 .bat를 사용하면 명령을 두 번 클릭하거나 바탕 화면에서 바로 가기를 사용합니다. 이 프로그램을 시작하기 위해 명령 프롬프트가 필요하지 않습니다.
Jake

3

귀하의 문제에 대해 명확하지 않지만 일부 배치 파일과 함께 주 배치 파일을 시작하는 것이 유일한 목적인 "dumy"를 사용합니다.

따라서 GO.BAT는 다음을 갖습니다.

cmd /c go2.bat %1 %2 %3
exit

종료하면 명령 프롬프트 창이 닫히고 그렇지 않으면 열린 상태로 유지됩니다.

GO2.BAT에는 실제로 원하는 배치 파일 내용이 있습니다.

  @echo off
  set userid=

  if NOT [%1]==[] goto userid:
  set /p userid=Enter USERID:  
  goto set_usr:

 :userid
 set userid=%1
 shift

 :set_usr
 if %userid%==steven goto steven:
 ...


1

콘솔 창을 전혀 표시하지 않으려는 경우 여기 에 나를 위해 일한 stackoverflow의 솔루션이 있습니다 (제 경우에는 레지스트리에 아무것도 넣지 않았지만 필요한 곳).


0

/ b 스위치를 경로 앞에 두십시오. 두 번째 명령 프롬프트가 열리지 않습니다.


0

Indago의 답변 은 지금까지 최고의 솔루션이었습니다. VBS 파일을 사용하면 스크립트를 통해 배치 기능을 실행할 수 있으므로 CMD 창이 처음부터 발생하지 않습니다. 그러나 몇 가지주의 사항이 있습니다.

  1. 배치에 관리자 권한이 필요한 경우 VBS를 호출하는 기존 배치를 작성하거나 사용하고 해당 배치를 관리자로 실행하십시오.

  2. 가시성이 없으면 원하는 방식으로 실제로 실행 중인지 식별하기가 어려울 수 있습니다.

그 말로, 통합하기 전에 작은 모의 설정 / 단위 테스트를 먼저 수행하여 원하는 방식으로 작동하는지 확인했습니다.


0

나는 과거에 cmdow 를 사용 했는데 , 내가 원하는 것을 위해 일한 것 같습니다.

다음 옵션 중 하나를 사용하고 싶을 것입니다. CMDOW [window] /HID

/HID 지정된 창을 숨 깁니다

CMDOW [window] /END

/END 지정된 창을 닫습니다

CMDOW [window] /CLS

/CLS 정중하게 창을 닫으라고 요청했습니다 (일부 창은 대화 상자를 열 수 있습니다)

도움이 되었기를 바랍니다.


-5

배치 파일 바로 가기를 만들고 마우스 오른쪽 버튼으로 클릭하고을 클릭 한 다음 탭으로 Properties이동 General하여 상자를 선택하고을 Hidden클릭 Apply한 다음을 클릭하십시오 OK.
이제 바로 가기를 열면 배치 파일 숨김이 실행됩니다.


바로 가기 / 배치 파일을 숨기고 사용자가 원하는 것은 배치 파일이 보이지 않게 실행되므로 잘못된 것입니다.
여기 뿌리하지 마십시오 plz ...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.