
프로그램 시작을 몇 초 동안 지연시킬 수 있도록 가이드에 따라 배치 파일을 만들었습니다. (타사 도구를 사용하고 싶지 않았습니다)
문제는 해당 프로그램이 시작될 때까지 해당 cmd 창을 X초 동안 보고 싶지 않다는 것입니다. 어떤 아이디어가 있나요?
.bat 파일 내에서 사용하는 코드는 다음과 같습니다.
@ECHO OFF
TIMEOUT /t 3 > nul
START "" "C:\program.exe"
답변1
이 Visual Basic 스크립트는 세 가지 작업을 수행합니다.
.VBS
~ 저장된 위치의 현재 디렉터리를 파악 하고 파일 이름을 가져옵니다.
~ 관리자 권한으로 지정된 파일을 실행합니다. (UAC에 대한 메시지를 표시하지 않음)
~ 언급한 CMD 없이 파일을 자동으로 실행합니다.
bElevate = False
if WScript.Arguments.Count > 0 Then If WScript.Arguments(WScript.Arguments.Count-1) <> "|" then bElevate = True
if bElevate Or WScript.Arguments.Count = 0 Then ElevateUAC
REM run the following script with admin privilages. start point.
Set fso = CreateObject("Scripting.FileSystemObject")
GetTheParent = fso.GetParentFolderName(Wscript.ScriptFullName)
Set WshShell = WScript.CreateObject ("WScript.Shell")
WshShell.Run GetTheParent & ("\CUSTOMNAMEOFBAT.bat")
WScript.Sleep 500
REM the above script will be run with admin privilages. end point.
Sub ElevateUAC
sParms = " |"
If WScript.Arguments.Count > 0 Then
For i = WScript.Arguments.Count-1 To 0 Step -1
sParms = " " & WScript.Arguments(i) & sParms
Next
End If
Set oShell = CreateObject("Shell.Application")
oShell.ShellExecute "wscript.exe", WScript.ScriptFullName & sParms, , "runas", 1
WScript.Quit
End Sub
다음 코드를 복사/붙여넣고 .VBS
. . vbs
스크립트를 귀하와 동일한 디렉토리에 넣고 .bat
"CUSTOMNAMEOFBAT"(11행 끝)을 귀하의 .bat
.