1

我在将插入符号作为密码中字符串的一部分传递时遇到困难

function OpenIE([string]$url, [string]$p)
{
    $wshell = New-Object -com WScript.Shell
    $wshell.Run("iexplore.exe $url")
    Start-Sleep 5
    $wshell.sendkeys("fake`$pass`^word")
}

当我运行它时,它会输入以下内容: fake$passord

如何让密码正确输入?

4

1 回答 1

2

Sendkeys使用^宪章来表示ctrl按键被按下,所以对于接收程序来说它看起来就像你做的那样fake$pass(ctrl+w)ord。您必须通过将其包裹在 中来对其进行转义{^},花括号不会出现在最终文本中。

function OpenIE([string]$url, [string]$p)
{
    $wshell = New-Object -com WScript.Shell
    $wshell.Run("iexplore.exe $url")
    Start-Sleep 5
    $wshell.sendkeys("fake`$pass`{^}word")
}
于 2013-11-13T16:35:16.760 回答