0
나는 이것을 달성하기 위해 많은 노력을했지만 아직까지는 성공하지 못했습니다. 체크 상자에서 매개 변수를 수집 한 다음 해당 매개 변수를 전달하는 cmd 파일을 실행하는 hta 앱이 있습니다. 로그 확인란을 선택하면 새로운 래핑 파일을 만들지 않고 해당 프로세스의 로그 파일을 만들고 싶습니다.인수를 사용하여 shellExecute 명령의 출력을 VBScript의 로그 파일에 기록합니다.
내 논리는 매개 변수 리디렉션을 매개 변수로 사용하여 다른 스크립트에 의한 인수를 사용하여 스크립트를 실행하는 것입니다. 그리고 나는 문법을 올바르게 할 수 없다 (또는 같은 파일 내에서도 가능하다). 내 간단한 코드 :
Sub RunCmd
dim shell
dim shellWithLog
dim command
dim ARGS
set shell = createobject("Shell.Application")
set shellWithLog = createobject("wscript.shell")
command = "gui.cmd"
if (checkbox1.checked) then
ARGS = ARGS + " Do_This"
end if
if (checkbox2.checked) then
ARGS = ARGS + " Do_That"
end if
if (logFile.checked) then
shellWithLog.run (shell.shellExecute command, ARGS), " &>" + "publishLog.log", 1
else
shell.shellExecute command, , "runas", 1
end if
End Sub
이 분명히 작동하지만 적어도 내가 달성하기 위해 노력하고있어 표시하지 않습니다.
이전에 +와 함께 작동 했음에도 불구하고 연산자를 수정 해 주셔서 감사합니다. 필자의 경우 다른 인수와 함께 인수를 alltogether로 추가하는 것은 cmd 파일에 매개 변수로 전달되고 내부에서 실행되기 때문에 빈 로그 파일로 끝납니다 (실행 된 전체 cmd 파일의 로그가 필요합니다). 결국 내가하려는 것은 다음과 같습니다. exec ki.cmd> hta 파일 내의 publishLog.log. gui.cmd에는 이미 필요한 모든 매개 변수가 있습니다. –
이해가 안됩니다. 내 대답은 또한 로그 파일로 리디렉션하는 방법을 보여줍니다. – Tomalak
네, 그렇습니다. 그리고 나는 전에 그것을 시도했습니다. 이렇게하면 빈 로그 파일이 생깁니다. –