PowerShellでRPAもどきをやってみた

はじめに

PowerShellでは任意のウィンドウに対してキー操作を送ることができます。ということはRPAもどきができるのでは?と思ったのでやってみることにしました。

簡単な例として、メモ帳を開いて「ITStudy」という文字とURLを入力します。そしてスクリプトを同じ場所にテキストファイルを保存してメモ帳を閉じます。

ソースコード


######################################################################
# 概要:認証が必要なWebサイトに自動ログインします。
# 作成者:ITStudy
# 作成日:2020/07/11
######################################################################

$CurrentDir = $PSScriptRoot
$txtFile    = "test.txt"

[System.Windows.Forms.SendKeys]::SendWait("^{ESC}")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("notepad")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("{Enter}")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("ITStudy{Enter}")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("https://it-study.info/{Enter}")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("^(s)")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait((Join-Path $CurrentDir $txtFile))
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("%(s)")
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("%{F4}")

参考サイト

Microsoftのサイト(SendKeysメソッド)をご参照下さい。

現時点では「Windows」キーが送れません。これができればもっと活躍の幅が広がるので今後のバージョンアップに期待ですね。

コメント

タイトルとURLをコピーしました