VBS를 사용하여 CMD에 "%"를 어떻게 입력합니까?

VBS를 사용하여 CMD에 "%"를 어떻게 입력합니까?

그래서 저는 친구의 PC에 대한 "수정"을 프로그래밍하고 있으며 VBS를 사용하여 CMD 프롬프트를 열고 친구의 AppData폴더에 액세스해야 합니다. 그런데 VBS로 명령 프롬프트를 보내면 cd %appdata%이렇게만 나옵니다 cd appdata(백분율 기호 없이).

이것은 VBS에 대한 내 스크립트입니다.

Set WshShell = WScript.CreateObject("WScript.Shell")

strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )

Wshshell.run "cmd"
Wshshell.sendkeys " "
Wscript.sleep 200
Wshshell.sendkeys "cd %appdata%"
Wshshell.sendkeys "{ENTER}"

이 문제를 어떻게 해결할 수 있나요?

답변1

다른 곳에서 명시적으로 언급된 이 솔루션을 찾을 수 없었습니다.SendKeys 참조힌트를 주었습니다. %기호를 중괄호( )로 묶어야 합니다 {}. 그래서 당신의 %징후는 {%}.

전. VBS(Visual Basic Script)의 리터럴 백분율

Set WshShell = WScript.CreateObject("WScript.Shell")

strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )

Wshshell.run "cmd"
Wshshell.sendkeys " "
Wscript.sleep 200
Wshshell.sendkeys "cd {%}appdata{%}"
Wshshell.sendkeys "{ENTER}"

답변2

친구 PC의 사용자 이름을 알고 있다면 다음을 수행할 수 있습니다.

Set WshShell = WScript.CreateObject("WScript.Shell")

strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )

Wshshell.run "cmd"
Wshshell.sendkeys " "
Wscript.sleep 200
Wshshell.sendkeys "cd "C:\Users\User\AppData\Roaming""
Wshshell.sendkeys "{ENTER}"

여기의 사용자를 친구 컴퓨터의 실제 사용자 이름으로 바꾸세요. 도움이 되었기를 바랍니다.
:)

관련 정보