バッチを作成する際の、PowerShell(以下PS)とdos(以下dos)の違いについてご教示頂きたいです。
私は、PSを用いてのバッチ作成は経験したことはありますが、
dosを用いてのバッチ作成はほぼ未経験です。(dirくらいしか思い浮かびません笑)
したがって、2つにどのような違いがあるのか、理解できておりません。
私の基礎的な認識
- PS = dos + vb
- dosはPSでほぼ使える(使えないコマンドってあるのでしょうか?)
- PSでは、環境に対応するポリシーに変更してからでないと実行できない。(batファイルなどから、ポリシー変更させて実行)
- PSでは、DBにアクセス・操作できる。
- PSでは、Excelを操作できる。
- PSでは、csvやtxtファイルを扱える(書き込み、取得)
- PSでは、csvを表として扱い、レコードの抽出等ができる。
- PSでは、IE上の画面を操作できる。(入力、ボタン押下)
- PSでは、アラートを出すことができる。
- PSでは、プログレスバーを表示させることができる。
- PSでは、ファイルの操作ができる(移動、コピー、削除、リネーム、実行)
- PSでは、フォルダの操作ができる(移動、コピー、削除、リネーム)
- PSでは、読み取り専用の解除ができる。
- PSでは、アセンブリの読み込みができる。
- PSでは、エンコーディングができる。
- PSでは、変数、メソッドを定義でき、if文やfor文などの処理も可能。
- PSでは、Try-Catch処理が可能。
- PSでは、実行環境のホスト名を取得可能。
- PSでは、サーバへのサクセスが可能。
ざっと思いつく限りは、上記の通りなのですが、
①上記PowerShellでできる処理は、dosだとどこまでできるのか。(4はできない、11はできるなど) ②他にPSとdosの主立った違いはあるか。(dosではできないがPSだとできる、dosで書くよりPSで書いた方が速い(行数だったり処理速度だったり)など) ③dosでも実行可能な処理の場合、PSを用いる利点はあるか(dosじゃだめなのか) ④逆に、PSよりコマンドプロンプトで書いた方が良い場合はありますか?
ブレインストーミング的な内容で恐縮ですが、
部分的な回答でも全く問題ないので、ご回答頂けると幸いです。
追記
皆さま、ご回答ありがとうございます。
ご回答・および調査から、個人的な見解としては、
「コマンドプロンプトでもPowerShellでできるほとんどのことできそう・・・?DBからデータ取得したりinsertしたり。。。」と
「PowerShellの利点は、オブジェクトを扱える点と、.NET Frameworkとやらを使える点なのかな」といったぼんやりとした認識ですが、
.NET Frameworkが使えると何ができるようになるのか、いまいちピンときてません。
.NET Frameworkの主だった機能は何で、(共通言語ランタイムはどこのサイトでも書かれてましたが)
PowerShellにおいて、.NET Frameworkが使えるようになるとできるようになることとはなんでしょうか?

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。