Я новичок в powershell, и я написал скрипт для нажатия клавиш, введенный любым скриптом ниже, в активное окно блокнота.
Однако все прошло нормально, за исключением случаев, когда содержатся специальные символы (~%!@#^&*()
и т. Д.)в этом тексте.Есть ли способ исправить это?
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('notepad')
Sleep 1
$wshell.SendKeys('text to Keystorke')
После долгих поисков я нашел VBS, который может справиться с этим.Я не понимаю, как преобразовать это в PowerShell, чтобы я мог включить его в свой единственный файл сценария?
есть идеи?Заранее спасибо:)
sString = "Text to keystroke is here"
sStringToSend = ""
For ii = 1 To Len( sString)
sChar = Mid( sString, ii, 1)
Select Case sChar
Case "{", "}", "(", ")", "[", "]", "^", "%", "+", "~"
sStringToSend = sStringToSend & "{" & sChar & "}"
Case Else
sStringToSend = sStringToSend & sChar
End Select
Next
objShell.SendKeys sStringToSend
Wscript.Sleep 300
discardScript()
'
Function discardScript()
Set objFSO = CreateObject("Scripting.FileSystemObject")
strScript = Wscript.ScriptFullName
objFSO.DeleteFile(strScript)
End Function