문제

Silent 모드에서 CMD 또는 .Bat 파일을 어떻게 실행할 수 있습니까? CMD 인터페이스가 사용자에게 표시되는 것을 방지하려고합니다.

도움이 되었습니까?

해결책

나는 stackoverflow 질문에서 방법을 제안했다 배치 파일을 백그라운드에서 실행합니다 (DOS Windows가 표시되지 않습니다)

그것은 당신의 질문에 대답해야합니다.

여기있어:


첫 번째 스크립트에서 다음 줄로 두 번째 스크립트를 호출하십시오.

wscript.exe invis.vbs run.bat %*

실제로, 당신은 다음과 함께 VBS 스크립트를 호출하고 있습니다.

  • 스크립트의 [Path] 이름
  • 스크립트에 필요한 다른 모든 주장 (%*)

그런 다음 invis.vbs가 스크립트를 호출합니다 Windows 스크립트 호스트 run () 메소드입니다, 그것은 다음과 같이

  • intwindowstyle : 0은 "보이지 않는 창"을 의미합니다.
  • bwaitonreturn : false는 첫 번째 스크립트가 두 번째 스크립트가 끝날 때까지 기다릴 필요가 없다는 것을 의미합니다.

전체 invis.vbs 스크립트에 대한 질문을 참조하십시오.

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
                                                         ^
                             means "invisible window" ---| 

Tammen의 피드백 후 업데이트 :

DOS 세션에 있고 다른 스크립트 "백그라운드에서"를 시작하려면 간단합니다. /b (자세한 내용 앞서 언급 한 질문) 충분할 수 있습니다 :

당신이 사용할 수있는 start /b second.bat 첫 번째 창을 공유하는 첫 번째부터 두 번째 배치 파일을 비동기로 시작합니다.

다른 팁

문구를 포함하십시오

@echo off

박쥐 스크립트 맨 위에 있습니다.

Advanced Bat를 사용하여 EXE 변환기에서 컨버터를 사용하십시오 http://www.battoexeconverter.com

이렇게하면 배치 파일을 하나의 독립형으로 완전히 침묵하는 exe와 프리웨어에 추가 바이너리를 추가 할 수 있습니다.

DOS 창을 열지 않고 배치 파일을 실행하는 가장 쉽고 짧은 솔루션이라고 생각합니다. 주기적으로 실행하도록 명령 세트를 예약하려면 매우 산만해질 수 있으므로 DOS 창이 계속 팝업됩니다. 여기에 솔루션이 있습니다. . VBS 스크립트를 사용하여 배치 파일을 호출하십시오 ...

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

위의 줄을 편집기에 복사하고 .vbs 확장자로 파일을 저장하십시오. .BAT 파일 이름과 경로를 편집하십시오.

박쥐를 사용하여 exe 컨버터를 사용하여이를 수행하십시오

http://download.cnet.com/bat-to-exe-converter/3000-2069_4-10555897.html
(선택하다 직접 다운로드 링크)

1- 박쥐를 exe 변환기로 열고 박쥐 파일을 선택하십시오.
2- 옵션 메뉴에서 "Invisible Application"을 선택한 다음 컴파일 버튼을 누릅니다.

완료!

노력하다 SilentCMD. 이것은 명령 프롬프트 창을 표시하지 않고 배치 파일을 실행하는 소규모 프리웨어 프로그램입니다.

사일런트 모드에서 명령 약속을 실행하려면 간단한 VBS 명령이 있습니다.

Set ws=CreateObject("WScript.Shell")
ws.Run "TASKKILL.exe /F /IM iexplore.exe"

내가 원한다면 CMD에서 URL을 조용히 엽니 다, 다음은 코드입니다.

Set WshShell = WScript.CreateObject("WScript.Shell") 
Return = WshShell.Run("iexplore.exe http://otaxi.ge/log/index.php", 0)
'wait 10 seconds
WScript.sleep 10000 
Set ws=CreateObject("WScript.Shell")
ws.Run "TASKKILL.exe /F /IM iexplore.exe"

나는이 방법을 가장 좋아한다고 확신합니다. 아래 코드를 .VBS 파일에 복사하여 붙여 넣습니다. 거기에서 배치 파일을 호출합니다. 따라서 마지막 줄을 편집하여 배치 파일의 경로와 이름을 지정하십시오 (수행해야 할 파일을 포함하거나 수행해야 할 조치를 수행해야 함).

Const HIDDEN_WINDOW = 12 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

Set objConfig = objStartup.SpawnInstance_ 
objConfig.ShowWindow = HIDDEN_WINDOW 
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
errReturn = objProcess.Create("C:\PathOfFile\name.bat", null, objConfig, intProcessID)

그것은 확실히 나를 위해 일했다. 의견이 환영됩니다 :)

나는 만들어졌다 runapp 그런 일을하고 제작 대상에서도 사용하기 위해 도움이되기를 바랍니다.

아래와 같은 구성 :

파일 : config.arg

:style:hidden

MyBatchFile.bat
arg1
arg2

그리고 발사 runapp.exe 대신에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top