PowerShellを最近しりました。
2008年くらいの記事だったのですが、
.NETが間に入って動作するようですが、
2020年の今、C#がでてきました。
現在でPowerShellで、できて C#でできないことってあるのでしょうか?
たとえば、C#では要素の一覧の表示を
foreach( var node in list )
Console.WriteLine( String.Join(",",node) );
で表示できますが、
PowerShelleを使った場合はどのようになるのでしょうか?
また、例題があまりにもしょぼくお互いの機能のいいところを引き出す
例題になってないと思いますが、
どのような場合にそれぞれの言語を使い分けるといいのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/12 15:24
2020/02/12 15:41
回答1件
0
ベストアンサー
PowerShellはWindowsに古くからあるコマンドプロンプトを代替すること~~を目指した(ことも小さいひとつの理由)~~ができる、スクリプトも書けるオブジェクト指向のコマンドシェル環境です。
C#とPowerShell、どちらが優れているか?と比べるものではなく、使い道に応じてそれぞれを使い分けるべきものです。コマンドプロンプトやbashとC言語、どちらが良いか?という疑問は適当ではない、って分かりますよね。
本質問に関連して、teratailでも以前に参考になる質問回答がありましたので、ご案内します。
PowerShellの普及率と仕事での利用について - teratail#206527
以下の疑問については、
foreach( var node in list )
Console.WriteLine( String.Join(",",node) );
で表示できますが、
PowerShelleを使った場合
次のようなかんじでしょうか。
PowerShell
1PS C:\> $nodes = $("item1", "item2", "item3") 2PS C:\> Write-Output ($nodes -join ',') 3item1,item2,item3 4PS C:\>
回答として個別の疑問に答えていないところがあったので、追記しました:
現在でPowerShellで、できて C#でできないことってあるのでしょうか?
技術的には、PowerShellではできるけどC#ではできないことは無いと思います。その逆は有り得ます。
※しかしながらPowereShellでも、「リフレクション(Reflection)」を使えばかなりのことができると思います。
技術的でない面については、どちらも充分に習熟していてどちらでも目的を達成できる要件だった場合は、大抵はPowerShellを使った方が作業時間が短く済むはずです。
どのような場合にそれぞれの言語を使い分けるといいのでしょうか?
PowerShellをプログラミング言語としてだけ扱うべきではないと思うので前提が崩れますが、PowerShellを使った方が良い場合としては、
- PowerShellであらかじめ用意されているコマンドレットをひとつ、あるいは複数をパイプ演算子(
|
)で繋げてパイプラインとして使えば目的を達成できる場合 - コマンドレットだけではできないけど、スクリプトを書けば目的を達成できる場合
- (前述しましたが)PowerShellやPowerShellのスクリプトを使った方が、作業時間が短く済む場合
- C#と開発環境が使えないけど、PowerShellは使える場合
のようなことだと考えます。
投稿2020/02/12 16:56
編集2020/02/13 03:11総合スコア9256
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/13 01:51
2020/02/13 02:01
2020/02/13 02:06
2020/02/13 02:07
2020/02/13 02:08
2020/02/13 02:09
2020/02/13 02:39
2020/02/13 02:44 編集
2020/02/13 02:47
2020/02/13 02:49
2020/02/13 02:50
2020/02/13 03:16
2020/02/13 03:17
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。