이 문제를 해결하는 데 어려움이 있습니다. 나는 사용자 이름과 암호를 묻는 vbscript가있다. 그런 다음 스크립트는 PSExec.exe를 실행하여 명령 줄에 이러한 스크립트를 전달합니다.VBScript를 사용하여 명령 줄에 캐럿 전달
strUser = Inputbox("Username:","Username")
strPassword = Inputbox("Password:","Password")
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "%comspec% /K psexec.exe \\workstation -u " & struser _
& " -p " & strPassword & " -d calc.exe", 1, false
암호에 암호가없는 경우 제대로 작동합니다. 그것은 하나가 않는 경우에, 예를 들어, 암호는 "* &^% $ # 1 @ 패스) (!"경우 내가 psexec에에서 다음과 같은 오류가 발생합니다.
'%$#@!' is not recognized as an internal or external command,
operable program or batch file.
캐럿은 명령 라인으로 읽고있는 공간으로는이 명령을 실행하려고 생각 때문에.
psexec.exe \\workstation64 -u User -p Pass)(*& %$#@! -d Calc.exe
대신 이렇게 psexec에 참조의 %의 $의 # @! 명령한다.
나 '캐럿의 공간이 당신이 볼 수 있듯이 배치 파일을 사용할 때 전달 예제를 보았지만이 경우에는 작동하지 않습니다. xtra^like this ^^는 박쥐 파일에서 작동합니다.
어떻게 명령 줄에 캐럿을 전달할 수 있습니까?
UPDATE ......
나는 직장에서 오늘 약 45 분 동안이 근무하고 일을 가져올 수 없습니다. 내가 시도한 첫 번째 일은 암호에 따옴표를 추가하는 것이었지만 여전히 작동하지 않았습니다. 난 그냥 집에서 그것을 테스트하고 괜찮 았는데 ....... 직장에서의 운영 체제는 Windows XP이고 집에서 나는 Windows 7을 돌린다. 나는 실수로 무언가를 잘못 입력하지 않도록 아침에 다시 시도 할 것이다. 여기에 나는 그것이 윈도우 7
strUser = Inputbox("Username:","Username")
strPassword = Inputbox("Password:","Password")
strPassword = chr(34) & strPassword & chr(34)
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "%comspec% /K psexec.exe \\workstation -u " & struser _
& " -p " & strPassword & " -d calc.exe", 1, false
이 주석 끝의 SO 대답 링크에서 4 회의 캐리지가 필요합니다. http://stackoverflow.com/a/5254713/1569434 – Lizz