Powershellバッチ

本項は書きかけの記事です。正確な情報は公式サイト、公式ドキュメント、記載の参照サイトでご確認ください。
OSS(OpenSourceSoftware)を利用しています。使用期限や保守、公開期間の確約がないことに留意してください。

目次

+ 読む

作成と実行

拡張子(ps1)として保存する。
PowerShellで実行する際は文字コード、フォントを気にすること。違うと文字化けする。

文字コードはコマンド「chcp」で確認できる。932はShift_JIS、65001はUTF-8。
フォントはPowerShellウィンドウの左上アイコンを右クリック⇒プロパティ―⇒タブ:フォントで確認ができる。
文字コードを変更する場合(Shift_JISからUTF-8)は下記コマンドをエクスプローラー又はファイル名を指定して実行で入力実行する
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "chcp 65001"
 
但し新規でPowerShellウィンドウを開くとデフォルトの文字コードで開かれるので注意。


処理は上からしか流れない

メイン処理の次にfunction xxx(){}を書くタイプと逆のタイプがあるが、PowerShellの場合は後者になる。

またfunction func1()内にfunction func2()を書くことができるが、この時も func1の中に置くfunc2は
function func1(){
 func2(){
  ~func2の処理~
 }
 ~func1の処理~
}
~メインの処理~
 
と書かないとfunc2の処理がfunc1に渡らず
「コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。」
とエラーになる。

ガベージコレクション

Powershellで作成したバッチ処理が終わってもPowerShellがメモリーを保持し続けている場合がある。
そう言った場合はガベージコレクションをしてメモリ解放する必要がある。
特に容量の大きいデータを処理させているとメモリが解放されずに後続処理に影響がでることがある。

[GC]::Collect()
# または変数を指定して実施
Remove-Variable VARIABLE 
 




参考

Powershellの文字化けを直す方法 - おれさまラボ
https://www.oresamalabo.net/entry/2021/09/15/003143

タグ:

powershell
最終更新:2023年07月27日 22:20