이 질문에는 이미 답변이 있습니다.
-
완전히 숨겨진 방식으로 배치 파일 실행
23 답변
Windows XP에서 “검은 창”없이 바로 가기를 통해 배치 (.bat 또는 .cmd) 파일을 실행할 수 있습니까?
답변
“testing.bat”를 배치 파일 이름으로 바꾼 후 hidecmd.vbs와 같이 다음을 wscript로 저장하십시오.
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
의 두 번째 매개 변수 oShell.Run
인 intWindowStyle
프로그램의 창 제로 값의 모양을 나타내는 값은 숨겨진 창입니다.
참조는 여기 http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx
답변
이것은 Shaji의 대답을 단순화 한 것입니다. 다음 과 같이 VBScript (.vbs) 스크립트를 통해 배치 스크립트를 실행할 수 있습니다 .
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
명령 창이 표시되지 않은 배치 파일이 실행됩니다.
답변
“Windows 스크립팅 사용”답변을 확장하려면 (단일 내장되어 있기 때문에 가장 좋은 방법이라고 생각합니다) 단일 래퍼 스크립트를 사용하고 “실제”배치 파일의 이름을 매개 변수로 전달하여 수행하는 방법이 있습니다. 추가 매개 변수가 배치 파일로 전달됩니다.
If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next
RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If
예를 들어 위의 파일을 NoShell.vbs
어딘가에 저장하고 다음을 호출하십시오.
NoShell.vbs c:\foo\my_batch_file.bat
마지막으로 .vbs 파일 (예 : Visual Studio의 “외부 도구”)을 이해하지 못하는 곳에서이 작업을 실행하려는 C:\Windows\System32\wscript.exe
경우 vbs 파일을 첫 번째 매개 변수로 사용하여 배치 파일을 두 번째로.
답변
바로 가기 속성을 최소화하여 실행할 수 있습니다.
완전히 보이지 않게 실행하려면 Windows 스크립팅과 같은 다른 것이 필요합니다.
답변
‘/ B’옵션으로 시작 하십시오 . 예를 들면 다음과 같습니다.
@echo off
start /B go.bat
답변
무료 GPL 오픈 소스 “숨겨진 프로세스 생성”
http://www.commandline.co.uk/chp/
Microsoft Security Essentials 및 대부분의 다른 바이러스 / 악성 프로그램 스캐너는 실행 파일 인 chp.exe를 바이러스처럼 바이러스 나 창처럼 표시하거나 작업 표시 줄 단추를 표시하여 지정한 프로그램을 숨기므로 실행 파일을 바이러스로 취급합니다.
바이러스가 아닙니다. 예를 들어 대상 프로세스가 작업 관리자에 나타나지 않도록 숨기지 않습니다. 그리고 물론 소스 코드가 포함되어있어 매우 작고 아무것도하지 않는 것을 볼 수 있습니다.
포함 된 chp.exe가 실제로 해당 소스에서 빌드되었다고 믿을 필요조차 없습니다. 계속해서 포함 된 chp.exe를 버리고 소스에서 직접 컴파일 할 수 있으며 그렇게하는 데 필요한 모든 도구는 무료로 다운로드 할 수 있습니다.
.bat 또는 .cmd 파일 바로 가기를 만든 다음 바로 가기, 속성, 바로 가기 탭, 실행 : 최소화를 마우스 오른쪽 단추로 클릭하십시오. 그런 다음 예약 된 작업에서 .bat / .cmd 파일 대신 바로 가기를 사용하십시오. 그러면 창이 팝업되지 않지만 작업 표시 줄 버튼은 계속 나타납니다.
답변
AutoIt 과 같은 윈도우 스크립팅을 사용할 수 있습니다 .
예를 들어 이것을 AutoIt 스크립트 편집기에 작성하십시오. 상당히 간단합니다
Run("C:\test\batchfile.bat", "", @SW_HIDE)
루프에서 실행하려면
$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1
.exe로 컴파일하면 완료됩니다.
마찬가지로 오토 핫키에서도 :
#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide