マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

シェル言語やスクリプト言語、ココでは、

  • BAT(.batファイル)
  • VBScript(.vbsファイル)
  • PowerShell(.ps1ファイル)
  • その他、関連ツール

を使用してバッチ処理を作成する的な作業のトピック情報を纏めています。

特徴と使い分け

batvbsPowerShell
特徴環境変数やパスの扱いが簡単。
外部コマンドの飛び出しが簡単。
VBやExcelのVBAに類似した言語。
COMの呼び出しが簡単。
.NETとの親和性。
C#でcmdlet開発も可能。
System.Windows.Forms にあるクラスを利用してGUIを作成することも可能。
向き少数のコマンドを連続実行。COMを多用した処理。
テキストファイルの処理。
パイプラインを利用した高度なオブジェクト処理。
不向きエラー処理が複雑。
引数が多い(10個を超える)。
バイナリファイルの処理。
暗号/認証情報などのテキスト以外の取り扱い。
Declare文がない, Dim に As 型 がない。
WMIやCOM(.NETでないオブジェクト)を多用する場合。
バージョンが過渡期、旧OSにはPowerShell本体のインストールが必要。
使いどころ少数のコマンドを連続処理。
vbsやPowerShellを呼び出すドライバとして。
旧環境との互換性や共通性を望む場合。呼び出すコマンドがPowerShellのcmdlet。
新規OS環境。
特殊文字の注意データに「%」文字が多数含まれる場合に注意、変数として解釈されることがある。
データに「"」が含まれる場合、文字列の区切りが壊れ、if文やfor文で予定外のエラーになるので注意。
データに「$」が含まれる場合、変数として解釈されることがあるので注意。
「,」を書くと配列になり、引数で「+」を使用すると文字連結にならない。
「'」と「"」は意味が異なる。
エラーの扱い%ERRORLEVEL% で都度判定。on error resume nextErr.Clear して Err.Number で追って判定。既定は、エラーメッセージを赤文字で表示して、続行。
エラー処理する場合、各コマンドに 都度 -EA を指定するか、try/catch と $ErrorActionPreference? = "stop"

移行のヒント

参考

言語

BAT

VBScript

PowerShell

規格

COMとは

WMIとは


Tags: :シェル, :インフラストラクチャ, :Windows, :クラウド, :Azure


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-12-08 (金) 14:13:41 (557d)