【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/11/26(土) 06:30:02.67ID:pZYy6q7Y
前スレ
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/
286デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:13:36.96ID:cpIk9AtY
単純にcmdプロンプトのウインドウを開きたいだけでいいなら
star cmd
287デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:14:25.04ID:cpIk9AtY
タイプミスしちゃった
start cmd
2018/01/02(火) 22:29:34.02ID:4AlqWi6E
>>286
質問の意味わかってる?
289デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:36:39.85ID:cpIk9AtY
コマンドプロンプトを開きたいとしか読めない。
質問を見ると、コマンドプロンプトを出さないようにしたいという
意味にはなってないし。
なんなんでしょ?
290デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:39:26.99ID:cpIk9AtY
ああごめん、わかった。
単にexeを実行したいってことね。
start xxx.exe
これでいいんじゃない?
2018/01/02(火) 22:58:55.67ID:jMJmiv3g
と、おだやかなお正月風景がすすんでいます
2018/01/02(火) 23:54:42.16ID:BiuuD5uo
>>285
C#アプリ側でpowershell上で実行するように変更するか、スクリプトなりショートカットファイルなり使ってpowershell経由で呼べば良いんじゃないかな?
例えばショートカットのリンク先に powershell.exe -noexit C#アプリ.exe とか。
※powershellのフルパスは自動的に補完されると思うけど、C#アプリはフルパスで記入した方が良いよ。
2018/01/03(水) 01:24:47.80ID:E10k9nmq
>>285
C#とかのコンソールアプリは別にcmdが裏で動いてたりするわけじゃないよ
powershellも色が付いた単なるコンソールアプリだよ
2018/01/03(水) 04:11:38.95ID:LyakWDNT
そのアプリの中で、cmd というコマンドを使っていれば、コマンドプロンプト、
powershell というコマンドを使っていれば、PowerShell が起動する

コマンドプロンプトで、powershell と打てば、PowerShell に、
PowerShell で、cmd と打てば、コマンドプロンプトが起動する
2018/01/03(水) 07:28:44.92ID:r/sVYD0y
いわゆるDOS窓はConsoleAPIを使って生成していて
それに対してstdin/outで読み書きしてれば
自作のコンソールアプリ,cmd,powershell等のコンソールアプリ間で相互に呼び出して繋げられるようになっている

Console Functions - Windows Console | Microsoft Docs
https://docs.microsoft.com/en-us/windows/console/console-functions
2018/01/04(木) 19:31:12.74ID:53E7Fk1q
c#のcsi.exeで実行するスクリプトってすごい便利だな知らんかったこれ
297デフォルトの名無しさん
垢版 |
2018/01/05(金) 11:06:17.33ID:zx9cp28q
たしかにC#のスクリプトはお手軽さはないがなんでもできるんだよなあ
ちょっと手のこんだことだとC#のほうが楽
2018/01/05(金) 11:13:19.30ID:zx9cp28q
inputboxはC#にないからpowershellからのほうが楽なのねなるほど
2018/01/05(金) 14:42:36.77ID:m3Niw8wH
>>298
これはC#から使えないの?

Interaction.InputBox メソッド
https://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.interaction.inputbox(v=vs.85).aspx
2018/01/06(土) 12:35:04.57ID:nVtZlcUN
http://itsukara.hateblo.jp/entry/2017/04/02/213525
すごいねこれ。GUIはwpfのほうがええんかな
301デフォルトの名無しさん
垢版 |
2018/01/07(日) 00:05:50.77ID:X0qXwTa7
>>300
今後の問題ってのがWPFにもFormにもあるけど、
わたしゃ、DesktopではPowerShell+WPFでガンガン
作ってますよ。
xamlで書いて。
2018/01/09(火) 03:02:58.55ID:69Y93T5M
PowerShell+WPFなめてたけど
おもったより簡単に書けるな
だがPoserShell窓消せないのでC#でexeにしたほうがいいっぽい
2018/01/09(火) 09:19:25.79ID:4EiQrQ8s
>>302
WSHでラップすれば一応消せるで
304デフォルトの名無しさん
垢版 |
2018/01/10(水) 00:29:43.87ID:NjZf1Ty6
>>302
スゲー便利よ。WPF表示関数化してる。
VSでデザインした時も、デザイナーのオブジェクトのNameをそのまま
PowerShellの変数で使用できるようにしちゃってるんで、すげー開発
効率高い。ちなみにその関数も20行くらいのもの。

デザインしたら、そのままPowerShellのデータとバインドして表示。
2018/01/11(木) 01:24:15.68ID:SytfDmnE
ジャグ配列を返す関数を作ったのですが、ルートの要素が1個の時に戻り値がおかしくなります
ルートの要素が2個以上の場合は起きません。どうしてででしょうか
以下再現コード
function test_jag_array() {
$jag = ,@(@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")))
foreach($x in $jag) {
[void]("func " + $x[0] + " " + $x[1] | Out-Host)
for ($i = 3; $i -lt $x.length; $i++) {
$a= $x[$i][0]; $b= $x[$i][1]; $c= $x[$i][2]; $d= $x[$i][3]
[void]("func " + "a:" + $a + " b:" + $b + " c:" + $c + " d:" + $d | Out-Host)
}
}
return $jag
}

$jag = test_jag_array
foreach($x in $jag) {
[void]("res " + $x[0] + " " + $x[1] | Out-Host)
for ($i = 3; $i -lt $x.length; $i++) {
$a= $x[$i][0]; $b= $x[$i][1]; $c= $x[$i][2]; $d= $x[$i][3]
[void]("res " + "a:" + $a + " b:" + $b + " c:" + $c + " d:" + $d | Out-Host)
}
}

上の実行結果
func abc def          ←期待する結果
func a:jkl b:mno c:pqr d:stu ←期待する結果
res a b             ←なんじゃこれ・・・
res d e             ←なんじゃこれ・・・
res g h             ←なんじゃこれ・・・
res jkl mno          ←なんじゃこれ・・・
res a:s b:t c:u d:       ←なんじゃこれ・・・
2018/01/11(木) 01:34:44.31ID:SytfDmnE
↑をルート要素2で試す場合は$jagを以下に変えてください。
$jag = ,@(@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")), `
@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")))
要素1を回避するコードを加えて一応この問題は解決はしてますが、バグの特定で1日潰れました。
2018/01/11(木) 03:42:54.09ID:z0XvJ0+n
>>306
その辺の闇は以下によくまとめられてた

powershellの@()の謎を解く
https://qiita.com/jca02266/items/1ec920a7592a05cfd6f0

また以下記事のコメント欄でWrite-Output -NoEnumerateの例があった

powershell: 2次元配列が微妙
https://qiita.com/basso414f/items/67894003a666106ca806
2018/01/11(木) 03:49:18.87ID:z0XvJ0+n
こんな感じでいける

function test_jag_array() {
$jag1 = , ("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu"))

$jag2 = , ("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu")),
("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu"))

$jag = $jag1 # jag1の場合

〜省略(元のまま)〜
Write-Output -NoEnumerate $jag
}
2018/01/11(木) 05:37:21.95ID:z0XvJ0+n
>>308
訂正
$jag2の右辺の最初のコンマ演算子いらないわ取り除いて
これだと最初の要素がさらに配列に包まれてしまう
なかなか一貫性のある書き方が難しいね
2018/01/11(木) 08:50:32.05ID:DUtiDslL
PowerShell Core 6.0: Generally Available (GA) and Supported!
https://blogs.msdn.microsoft.com/powershell/2018/01/10/powershell-core-6-0-generally-available-ga-and-supported/
2018/01/12(金) 00:35:51.74ID:9OW8M9wc
>>307
ありがとうございます。
実装(=仕様?)が変なんですね。
VBScriptのarrayのような順序付き汎用コンテナとして使うつもりでいましたが
他の手段も考えてみます。
2018/01/12(金) 20:29:55.97ID:05Vmz+vo
MacやLinuxでも動作する「PowerShell Core 6.0」が一般公開 - 窓の杜
https://forest.watch.impress.co.jp/docs/news/1100633.html

最強や
2018/01/14(日) 13:52:57.20ID:hvH7W8Dy
どうせならXPにも対応して欲しいな
古いマシン再利用できるかもしれん
2018/01/14(日) 15:04:00.85ID:h026DvON
OSSなんだからforkして自分でやればいい
2018/01/14(日) 22:54:52.40ID:rBzJ4J2v
まずは.NET Coreのforkからだな
2018/01/20(土) 14:22:45.53ID:5CcUAB6E
まとめ
PowerShell使いにくい
2018/01/20(土) 15:07:18.35ID:eJTcatAc
>>316
おバカ自慢は要らない
2018/01/20(土) 20:09:32.77ID:tb/5wFRb
馬鹿には使いこなせいPowerShell。つまりゴミ。
2018/01/20(土) 20:12:33.64ID:aYLVMpQq
> 使いこなせい
日本語もまともに書けない馬鹿 = >>318 は使えないってことか w
2018/01/20(土) 20:18:39.25ID:tb/5wFRb
そのとおり。馬鹿には使いこなせないPowerShell。vi並の粗大ゴミ。
WSH捨てたことを一生後悔することだろう。というかPowerShellなど普及することはない。WPF並の生ゴミ。悪臭がする。
2018/01/20(土) 20:28:37.35ID:CFAgCrzx
俺は使えるからなんの問題もない
2018/01/20(土) 20:32:52.77ID:tb/5wFRb
ほぼサーバ用途なのに自分だけ使えれば問題ないとか保守のことを全く考えないおれ天才君が作ったもの。

それがPowerShell。普及するわけがない。
2018/01/20(土) 20:38:49.39ID:CFAgCrzx
ごめんな、うちの会社は普通にみんな使えてるから w
底辺は色々大変だね
あとサーバー用途だけじゃなくて、ちょっとしたテキスト処理とかでも便利に使えるし
まあついていけない人はWSH使ってりゃいいんじゃね?
2018/01/20(土) 21:28:13.84ID:tb/5wFRb
嘘だね。使えてない奴が使えてるフリしてるだけ。そういうバグあり馬鹿コードを多くの大手SIerの保守案件で散々見てきた。
MSが提供するサンプルコードすら惨いときもあるのにおまえの会社だけは「普 通 に み ん な 使 え て る」という。

キミの口はジョブス並みだな。
2018/01/20(土) 21:36:04.82ID:87fvh5f6
PS万歳とは言わないけど
何出して来るかと思ったら結局WSHかよ…
2018/01/20(土) 21:42:56.41ID:tb/5wFRb
PowerShellを出すならNT4.0のときだったんだよ。昔のMSは互換性、保守を重要視してくれた。
ゲイツがいなくなって今ではまるでジョブスのように切り捨ての王様になってしまった。直にPowerShellもなかったことになるだろう。

もはやMSの凋落は必至。
2018/01/20(土) 21:57:45.42ID:ea7nxeEz
必死だな
2018/01/21(日) 08:08:27.81ID:rQmHQ7OM
>>326
> 直にPowerShellもなかったことになるだろう。
すでにオープンソースになっててLinuxですら動くことも知らないんだろうな w
2018/01/21(日) 11:13:24.09ID:W6oArJxs
MSがオープンソースにするものは捨てたということ
2018/01/21(日) 11:17:54.20ID:xo2ueQrN
ねーよwww
2018/01/21(日) 11:28:24.25ID:oGuWm1pn
>>329
ならWSHは安泰じゃん良かったな
2018/01/21(日) 11:49:34.94ID:mkWKfEkb
>>328
それだが、PowerShellはクソ言語と、悪いけど俺も思っていて、それでも使うのは素のMS-Windowsに載っていて、Windows操作に必要だからでしかないんだよね。
こんなモノのLinuxやMac版を誰が使うんだろう。
まともなC言語環境のあるLinuxやBSD(Mac)でC#みたいな劣化言語を使いたい人なんていない。PSも同様だと思うので、一体誰に向けた動きなのかと。
2018/01/21(日) 12:00:01.51ID:uiiSY3P/
>>332
理解できない言語を糞認定 w
どこが糞か書いてみ
2018/01/21(日) 12:32:28.85ID:JwhmWwix
PowerShellはPerlを弄ってた時のワクワク感を思い出させる。
「折衷主義者のガラクタ」って揶揄されてたPerlに似てるところが好きだ。
2018/01/21(日) 15:36:03.00ID:SnOHZgOX
で、LinuxのPerlに勝てると?
2018/01/21(日) 16:04:27.13ID:U0dzqAVa
しょーもな低スキルの低能丸出しのレスばっか
中身のある技術的な話を誰一人できないっていう
2018/01/21(日) 16:06:20.87ID:W6oArJxs
これは見てて恥ずかしいタイプのマウンティング
2018/01/21(日) 16:11:36.64ID:jvKKFqi6
おバカ自慢とか変な自治厨が住み着いてて居心地悪いわ
使いにくいのは事実なんだから仕方ねーじゃん
2018/01/21(日) 16:34:53.49ID:rQmHQ7OM
>>338
> 使いにくいのは事実なんだから仕方ねーじゃん
お前にはそうなんだろうな...
2018/01/21(日) 16:40:03.11ID:W6oArJxs
そもそもオープンソース化して喜ぶとかウニ厨でしょう。
2018/01/21(日) 17:16:23.83ID:Nniit6aA
>>338
おバカ自慢て言われた程度で自治厨とか繊細すぎるな
あんた2chに向いてないと思う
2018/01/22(月) 03:30:40.49ID:xAzFKy/K
馬鹿だから使えない理論はvi厨の論法。使いにくいという事実を受け入れられない共産主義者。
2018/01/22(月) 06:19:54.05ID:DO9KWhZf
MS-Windowsのデバイスドライバ辺りをオープンソース化してくれるならともかく、PowerShellよりマシなものが沢山ある環境にこんな糞を投入されて喜ぶウニ厨なんていないでしょう。
2018/01/22(月) 08:38:15.63ID:ckfaCAxk
プレーンテキスト至上主義のunixで使えたところでそんなにうれしくないのは確か
2018/01/22(月) 15:04:01.00ID:xAzFKy/K
デバドラのサンプルソースは一通り揃ってるし、WDFはオープンソース化したというニュースを昔に見たが。
というかドキュメント整備したくないからソース見てくれって話だろう。つまり手抜き。
MSDNライブラリもスナップショットの提供を止めてから崩壊してるし。
無能PGが増えてコード品質の低下が止まらなくなってんだよ、今のMSは。
2018/01/22(月) 17:12:28.75ID:+/nnDvsj
>>342
だからどこが使い辛いんだよ、具体的に書いてみなよ
よくわからずに語ってるんじゃないんでしょ?
2018/01/22(月) 18:06:37.00ID:ITXp9HeA
>>>>346
Perl使ってみて、それでもPowerShellが良いって思うんならもう言うことは無いな
2018/01/22(月) 18:29:53.43ID:4bmxr+CG
結局具体的なことなにもいえないっていう
どの言語もろくに使えないのでは?
ご自慢のPerlつかってればいいと思うよ
2018/01/22(月) 18:34:06.79ID:ITXp9HeA
使える使えないの議論はしてないってことが根本から分かってない奴には困ったもんだ
2018/01/22(月) 18:38:20.36ID:4bmxr+CG
ほう、どうゆう議論してるの?
2018/01/22(月) 21:27:41.78ID:vYNLhkYR
そんなにPowerShellがクソなら、なんでGoogleがPowerShellモジュールを作ったりしてるんだよ

Cloud Tools for PowerShell
https://cloud.google.com/powershell/
2018/01/22(月) 21:44:39.43ID:qSpJOl7I
結論ありきの言い逃げがしたいだけだから、そもそも議論になってないだけだよ
2018/01/22(月) 22:35:18.60ID:4cUHC1qI
PowerShellは世界最強のシェル。
ただ使う人が少ない、使いこなせている人が少ないのがどうにも。
2018/01/23(火) 17:18:34.01ID:eZkYRvtN
googleはただのパクり屋。google様が使ってるから素晴らしいみたいな
マカーのような価値観の人がいるようだが、MSのほうがよほどマシ。
2018/01/24(水) 08:44:25.19ID:Rwufea/L
そもそもなんでPowerSherllの比較対象がperlなんだ?
bashとかのunixシェルなら分かるが
2018/01/24(水) 18:20:30.45ID:cTEKAhE2
bash じゃ正規表現や連想配列も使えないだろ


って言う老害でしょ
357デフォルトの名無しさん
垢版 |
2018/01/25(木) 01:53:04.89ID:WgYpUAx2
よほどPowerShellが気になってるんでしょうね
わざわざ来るくらいだから
358デフォルトの名無しさん
垢版 |
2018/01/25(木) 01:54:46.25ID:WgYpUAx2
>>351
AWSもいっしょだよ
2018/01/25(木) 02:58:09.47ID:bbltRTAq
大学とかで勉強し始めたばかりの奴が自分のOSや言語を作りたいって人いるじゃん。
そんな奴が作った感じするんだよね、PowerShellは。使う側のことを何も考えてないっていうか。

PowerShellには期待してたけど、残念賞あげたいレベル。
2018/01/25(木) 03:06:11.90ID:+aT+OEjK
まあMSがこれだけ時間をかけて普及させようとがんばってきたのにちっとも普及しなかったからな
さらに.NET FrameworkベースのPowerShellで頑張ってればいいのに.NET Coreベースに移行するのは吉とでるか凶と出るか
2018/01/25(木) 03:34:37.44ID:xdveLU72
>>359
具体的に
2018/01/25(木) 04:38:12.97ID:bbltRTAq
リボンUIとかメトロUIもそんな奴が作った感じするんだよね。今まで便利で不満なかったものが、
今からおれが考えたこれ使えと言いつつ自分は碌に使ってないから何が不便かすら理解していない。
結局移行してもらえず、無料にしたり、オープンソースにしたり。
2018/01/25(木) 06:02:25.02ID:9nHFvuML
>自分は碌に使ってないから何が不便かすら理解していない。

おまえがなーw
PowerShellのイケてないところはたしかにあるんだよ
でもお前はなにひとつ具体的にあげられないから議論にならない
典型的な批判してる俺かっこいいのプログラミング初心者だろうw
2018/01/25(木) 08:46:52.90ID:jzQbwnAF
>>359
たとえばどんなところ?
2018/01/25(木) 09:23:56.11ID:QMrii+Ei
>>362
リボン導入前のOfficeがどんなUIだったか知らないのか?

ttp://www.aoky.net/articles/david_pogue/images/toolbars.jpg
2018/01/25(木) 14:44:54.00ID:bbltRTAq
評判が悪ければすぐ撤回するのはゲイツの思想。
移行してもらえないのをユーザが馬鹿だからって基本ジョブスの思想なんだよね。
そもそもなんでそういう奴がWindows使ってるのか謎。Macでも使ってろよ。

まぁゲイツが引退してからのMSはまるでアップルだけどね。欠陥品のゴリ押しばかり。
2018/01/25(木) 18:38:14.54ID:AIlmNuXT
結局具体的な使い辛さも言えずにぶつぶつ独り言を言うだけかよ...
2018/01/25(木) 18:57:51.13ID:bbltRTAq
そういうことは移行を拒否した大勢の顧客に聞くべきだったのだ。ゲイツならそうした。
Vista、Office2007、Windows8、WPF、PowerShell、ワンボタンマウス・・・いくらでも例はある。
2018/01/25(木) 22:18:43.13ID:jzQbwnAF
---ここまで具体例なし---
2018/01/26(金) 00:20:26.36ID:2qREz52g
説明するまでもないこと
具体例云々繰り返す奴はLinux板で良く見かけるよ
2018/01/26(金) 02:32:53.30ID:hKoymMP7
結局、PowerShellって何がしたかったんだ?Unixシェルの駆逐?
2018/01/26(金) 08:27:51.42ID:sFu+Ex6E
>>371
Unixシェルの駆逐(笑)が目的ならbash on Windowsなんか作らないだろ…
2018/01/26(金) 15:16:39.51ID:cWhgmMyM
駆逐どころか、(Unixのログインシェルに移植版PowerShellを使えるか知らんが)PSのログインシェル人口が絶滅危惧種のcshに追いつけたら大成功だと思うよ。
2018/01/26(金) 16:26:08.29ID:kUBhdwT4
なにいってんだ
bash on windowsもMacやLinuxでのPowershellも開発用
普段LinuxやMac使ってる人がWinでも開発しやすくするため、逆もしかり
なんで追いつけたら大成功なんてアホなこと言ってんの
2018/01/26(金) 17:35:08.99ID:Lzw6elJ8
シェアの話はしちゃダメだよ(笑)
2018/01/26(金) 20:00:31.74ID:hKoymMP7
単純にMSはコマンドプロンプトを完全にPowerShellに置き換えようとしたの?
2018/01/26(金) 20:03:32.03ID:8m7gdhLr
>>370
> 説明するまでもないこと
説明できない奴の常套句 w
2018/01/26(金) 22:11:48.50ID:xXSIxAPE
Cmdlet適当に組み合わせるだけでもいろんな事ができて便利なので使ってるけど、正直構文はちょっとキモいと思ってる
JScript/WSHの延長でTypeScriptっぽくしたほうが良かったんじゃ
2018/01/26(金) 23:57:01.40ID:8m7gdhLr
>>378
> 正直構文はちょっとキモいと思ってる
そうか?
まあ == の代わりに -eq とかはちょい見辛い気はする
あと関数内で単なる式を書くと戻り値になるとかも慣れないと気持ち悪いな
でもそれより配列の扱いが特殊な方が気になる
380デフォルトの名無しさん
垢版 |
2018/01/27(土) 00:21:36.31ID:+1W3UINk
なんだかんだと言いながら
PowerShell利用は急激に増えてるのは事実なんで
それでいいんじゃないの
2018/01/27(土) 01:48:16.16ID:gGfEZXbc
結局、PowerShellがどういう意図で開発されたんだ?
なんでこの程度の基本的な質問すら誰も回答しないでスルーする?
2018/01/27(土) 02:15:12.60ID:AI3Ijs7Y
開発から10年以上になるってのに今更過ぎる話題
http://www.atmarkit.co.jp/ait/spv/1003/11/news090_2.html
2018/01/27(土) 03:12:23.79ID:C3HeL8rM
powershell覚えようかと思ったけど、bash使えるようになったからもういいや
2018/01/27(土) 04:46:17.42ID:gGfEZXbc
> なぜ新しいシェルが必要なのか?
> 理由その1:コマンド・プロンプトの進化が限界に来ているため
> 理由その2:コマンド・プロンプトのバッチ機能が不十分であるため

内容にガッカリ。Widnwosは開発環境、IDEが強力でコマンドプロンプトを使う場面が限られている。
しかも既にWSHがあってバッチ処理で困ることもない。WSHは言語は自由なのにvbscriptを持ち出して記述が冗長とかいうアホ指摘。

> Microsoftはシステム管理用に特化し、優れたスクリプト機能もあわせ持つ新しいシェルを開発する必要に迫られたわけである。

その解決手段がなぜか、「システム管理用に特化」のシェル。
この程度の理由じゃそりゃ移行してくれないはずだわ。誰も必要に迫られてないのだから。
こんな恥ずかしい技術記事持ってくんなよ。おまえはこの記事でPowerShellの必要性に納得したのかよ。
2018/01/27(土) 04:56:49.67ID:1VJSvYbm
>>384
サーバー使ったことなさそう。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況