記事一覧
Microsoft .NET FrameworkとTera Term MACROを利用して作成したオートログインツール[Windows PowerShell][Tera Term]
実行環境
Windows PowerShell 5.1
Tera Term Version 4.106
CentOS release 6.7
前回と前々回の記事で紹介した内容を組み合わせて作成した、GUIのオートログインツールです。
# AutoLoginTeraterm.ps1## 変数の定義 -------------------------------------------------
Tera Term MACROを利用してTera Term を制御し、オートログインを実現する方法[Tera Term]
実行環境
Tera Term Version 4.106
CentOS release 6.7
Tera Term MACROを利用してTera Term を制御することで、オートログインを実現することができます。
以下のスクリプトでは、オートログインに加えてログイン後に任意のコマンドを実行させることを想定しています。
; ip、ユーザー名、パスワードを定義する。 -------------
Microsoft .NET Frameworkを利用して作成したカスタムのグラフィカル入力ボックス(例)[Windows PowerShell]
実行環境
Windows PowerShell 5.1
Microsoft .NET Framework フォーム作成機能を利用することで、カスタムのグラフィカル入力ボックスを作成することができます。
以下のスクリプトにComboBoxやButtonを追加することで、汎用的に使うことができると思います。
# 外部ファイルの読み込み$comboBox0Item = Get-Content "C
CSVファイルを扱う方法[Windows PowerShell]
実行環境
Windows PowerShell 5.1
CSVファイルを扱うには、「Import-Csv」を使います。
Import-Csv CSVファイル名
その際、オプションの指定がないと、文字コードはUnicodeを指定したことになります。
ExcelでCSVファイルを作成すると、文字コードはSJISになります。
SJISの場合、「-Encoding Default」を指定する必要が
コマンドの実行結果が「...」で省略されてしまう時に折り返して全文を表示する方法[Windows PowerShell]
実行環境
Windows PowerShell 5.1
コマンドの実行結果が長いと、「...」で省略されてしまう場合があります。
そんな時は、パイプラインで「Format-Table -Wrap」を実行することで、「...」で省略されてしまう部分を折り返して表示することができます。
コマンド | Format-Table -Wrap
以上、コマンドの実行結果が「...」で省略されてしまう時
文字列に特定の文字列が含まれているか判定する方法[Windows PowerShell]
文字列に特定の文字列が含まれているか判定するには、「Contains」を使います。
文字列.Contains(含まれているか判定したい文字列)
結果によって処理を分岐させたい場合は、if文でこのように書くことができます。
$string = '佐藤さん、初めまして!'$contain = '初めまして!'if ($string.Contains($contain)) { Write-H
名前に角括弧「[」「]」を含むファイルをGet-ChildItemやCopy-Itemで取り扱う方法[Windows PowerShell]
PowerShellで、名前に角括弧「[」「]」を含むファイルをGet-ChildItemやCopy-Itemで指定しても、正しく認識することができません。
そんな時は、Get-ChildItemやCopy-Itemのパラメータに「LiteralPath」を指定することで実現することが可能です。
Get-ChildItem -LiteralPath ファイル名
Copy-Item -Lite
指定したファイルが存在するか確認する方法[Windows PowerShell]
指定したファイルが存在するか、確認したい場合があります。
そんな時は、「Test-Path」コマンドで実現することが可能です。
Test-Path 存在確認したいファイル名
if文で書くと、このようになります。
if (Test-Path 存在確認.txt) { Write-Host '存在します。'} else { Write-Host '存在しません。'}
以上、指定したフ
日付をyyyymmdd形式で取得する方法[Windows PowerShell]
日付をyyyymmdd形式で取得したい場合があります。
そんな時は、「Get-Date」コマンドに「Format」パラメータを指定する事で実現することが可能です。
Get-Date -Format "yyyyMMdd"
時分秒まで取得したい時は、"yyyyMMddHHmmss"のように指定します。
以上、日付をyyyymmdd形式で取得する方法でした。
文字列を置換する方法[Windows PowerShell]
Windows PowerShellで文字列を置換するには、次のような方法があります。
どちらも置換可能ですが、正規表現が使えるのは「-replace」だけです。
以上、文字列を置換する方法でした。
ファイルを一行づつ読み込んで処理する方法[Windows PowerShell]
ファイルを一行づつ読み込んで、何か処理をさせたい場合があります。
そんな時は、「Get-Content」と「ForEach-Object」で実現する事ができます。
以上、ファイルを一行づつ読み込んで処理する方法でした。
コマンドプロンプトやWindows PowerShellでスクリプト自身のパスを取得する方法[コマンドプロンプト][Windows PowerShell]
スクリプトの保存場所から、他のファイルを相対パスで指定したい場合などがあります。
そんな時は、次のような方法でスクリプト自身のパスを取得する事ができます。
以上、コマンドプロンプトやWindows PowerShellでスクリプト自身のパスを取得する方法でした。
Windows PowerShellで作成したスクリプトを実行する方法[Windows PowerShell]
Windows PowerShellで作成したスクリプトを起動しても、通常は実行ポリシーで制限されている為、実行する事ができません。
実行ポリシーを変更すればスクリプトを実行する事が可能になりますが、職場のPCの場合など、変更できない場合もあると思います。
そんな場合は、powershellコマンドに次のオプションを指定する事で、実行ポリシーを変更せずにスクリプトを実行する事が可能です。
以