PowerShellの使い方を解説します。今回は、様々なエラーの取り扱い方法、例外処理について説明します。Shell」の使い方を解説します。今回は、さまざまなエラーの取り扱い方法、例外処理について説明します。PowerShellエラーをリダイレクトするリダイレクトとは、処理を行った結果の出力先を別の場所へ変更することを意味します。通常PowerShell上で、あるコマンドを実行してエラーが発生した場合は、コンソールウィンドウにエラーメッセージが表示されます。ここでは、このエラーをファイルに出力することを「リダイレクトする」と呼んでいます。PowerShellでエラーをファイルにリダイレクトするには、リダイレクト演算子を使用した3つの方法があります。演算子この演算子は、エラーの内容をファイルに出力します。出力先のファイルが既に存在する場合には上書きをします。下記は、dirコマンドで存在しないファイルを指定した場合の例です。存在しないため検出できません。HOGE.txtでは、このエラーをファイルにリダイレクトしてみます。2>err.txt上記のように、2>演算子の後ろに、エラーメッセージを書き込むファイル名を記述します。Get-Contentコマンドレットを使用して作成された「err.txt」ファイルの中身をみてみましょう。存在しないため検出できません。2>err.txtエラーの内容がリダイレクトされていることが分かります。演算子この演算子は、エラーの出力先のファイルが既に存在する場合は、追記書き込みを行います。追記されることを確認するために、出力先のファイルは先ほどと同じ「err.txt」とします。異なるエラーメッセージが記述されるようmkdirコマンドに変更しました。err.txt実行したら、先ほど同様Get-Contentコマンドレットで確認してみましょう。存在しないため検出できません。パスに無効な文字が含まれています。$pathsエラーメッセージが追記されていることが分かります。演算子この演算子を使用すると、エラーの内容を変数に書き込むことができます。2>&1では、エラーの内容が変数に代入されているかを確認してみましょう。パスに無効な文字が含まれています。$paths通常、変数の内容を確認してもメッセージに色がつかないのですが、2>&1演算子を使用して代入された値は、赤色で表示されていることが分かります。これは、変数に代入された値はエラーであることを示すErrorRecordオブジェクトとなるからです。演算子を使用する以外に-ErrorVariableパラメータを使用しても変数にエラーを代入することが可能です。存在しないため検出できません。err1-ErrorVariableパラメータの後ろには、エラー内容を代入するための変数を指定します。このとき、指定する変数に$を付加してはいけないことに注意してください。$Error変数は、PowerShellの操作時に発生したすべてのエラーが格納されますが、この-ErrorVariableパラメータを使用した場合は、そのとき発生したエラーの内容だけを特定の変数に代入できるという違いがあります。印刷用を表示ブックマークツイート著者プロフィールHIRO(ヒロ)HIRO's.NETのHIROです。とある半導体工場のSEです。PowerShellによるプログラミングを楽しんでいます。PowerShellについて書いています。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。