仕事上で他人のPowershellスクリプトを観察して感じたことを。
「Windowsバッチ臭い」のである。
例えば、バッチでパラメータを与える時、パラメータはスペース区切りで任意の複数個を記述できる。一見柔軟性が高い様だが、バッチ作成者以外から見ると厄介である。
不完全な設計書やプログラム本体を観察して、受け入れらるパラメータは何個なのか、パラメータの書式はどの様なものかを確認しないとバッチは利用できない。
対してPowershellであれば、利用者に負担を掛けずに使いやすいものを作成できる。
例えば以下のコードであれば、こんな感じで動いてくれる。
これであれば、指定が必須のパラメータは何なのか、パラメータはどの様な形式なのか、指定のものから選択する必要があれば、どの様な候補があるのか、等が対話的に表示できる。
一般的に他人のプログラムは「詳細設計書はあるが、このプログラムは何が出来るのか?」が判らないので、この様なものが必要と思うが、如何だろうか。
PS C:\Users\doctor_d\Desktop> C:\Users\doctor_d\Desktop\1.ps1
コマンド パイプライン位置 1 のコマンドレット 1.ps1
次のパラメーターに値を指定してください:
(ヘルプを表示するには、「!?」と入力してください。)
Number: !?
Number のヘルプはありません。
Number: 1
String: !?
YesまたはNoを選択
String: Yes
1
Yes
「Windowsバッチ臭い」のである。
例えば、バッチでパラメータを与える時、パラメータはスペース区切りで任意の複数個を記述できる。一見柔軟性が高い様だが、バッチ作成者以外から見ると厄介である。
不完全な設計書やプログラム本体を観察して、受け入れらるパラメータは何個なのか、パラメータの書式はどの様なものかを確認しないとバッチは利用できない。
対してPowershellであれば、利用者に負担を掛けずに使いやすいものを作成できる。
例えば以下のコードであれば、こんな感じで動いてくれる。
これであれば、指定が必須のパラメータは何なのか、パラメータはどの様な形式なのか、指定のものから選択する必要があれば、どの様な候補があるのか、等が対話的に表示できる。
一般的に他人のプログラムは「詳細設計書はあるが、このプログラムは何が出来るのか?」が判らないので、この様なものが必要と思うが、如何だろうか。
PS C:\Users\doctor_d\Desktop> C:\Users\doctor_d\Desktop\1.ps1
コマンド パイプライン位置 1 のコマンドレット 1.ps1
次のパラメーターに値を指定してください:
(ヘルプを表示するには、「!?」と入力してください。)
Number: !?
Number のヘルプはありません。
Number: 1
String: !?
YesまたはNoを選択
String: Yes
1
Yes