【最強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/
2017/10/25(水) 11:25:59.45ID:fPe3kbbb
負荷テストのために下記コードを書いて見ましたがこれって音は全部鳴ってるのかな?
# 下記サイトより効果音をお借りしました。
# http://maoudamashii.jokersounds.com/archives/se_maoudamashii_explosion06.html
# d:\indexフォルダは好きなように変更してください。
$loopcont = 128
$list = New-Object 'System.Collections.Generic.List[System.Media.SoundPlayer]'
for ($i=0; $i -lt $loopcont; $i++){
$a = New-Object Media.SoundPlayer("d:\Index\se_maoudamashii_explosion06.wav")
$list.Add($a)
#$list[$i] = New-Object Media.SoundPlayer("d:\Index\se_maoudamashii_explosion06.wav")
Write-Output "サウンド $i を追加しました。"
}
for ($i=0; $i -lt $loopcont; $i++){
$list[$i].PlayLooping()
Write-Output "サウンド $i を再生しました。"
Start-Sleep -m 10
}
Start-Sleep -s 15
for ($i=0; $i -lt $loopcont; $i++){
$list[$i].Stop()
Write-Output "サウンド $i を停止しました。"
}
Start-Sleep -s 5
2017/10/26(木) 22:48:35.59ID:s7qcbuWd
つんぼなの?
271デフォルトの名無しさん
垢版 |
2017/11/16(木) 20:52:41.22ID:T0n72mO9
初心者ですが教えてください
WIN32APIの GetFileInformationByHandle をPSから呼ぶにはどうしたら良いですか
やりたいことはハードリンクを考慮したディスク使用量計算です
272デフォルトの名無しさん
垢版 |
2017/11/16(木) 21:08:55.48ID:T0n72mO9
https://technet.microsoft.com/ja-jp/sysinternals/du.aspx
これ使ったら普通にできたわ
邪魔したな

まあPSはクソってことで
273デフォルトの名無しさん
垢版 |
2017/11/16(木) 23:31:42.00ID:KchxuJsd
余計な一言いらんだろ
274デフォルトの名無しさん
垢版 |
2017/11/18(土) 16:11:21.34ID:cmYM+INK
的外れなちゃちゃ入れる人はどこにもいるもんですよ
2017/12/05(火) 22:34:01.07ID:k+S65OIc
powershellでお手軽にwebapi実装するツールって無いか?
C# AspNet WebApiで作るほどの物じゃない
短期間の使い捨てのちょっとしたローカルサービス
リクエスト受けたらurlにマッピングされたps1ファイルを実行するとかで十分なんだけど
2017/12/05(火) 22:46:21.76ID:9s0hJyul
>>275
ASP.NET Coreならめちゃめちゃお手軽だと思うけど
2017/12/13(水) 20:58:28.53ID:ZeopdAwf
Windows 10 Fall Creators Update になってから
$PSHOMEのpowershell.exe.configの編集ができないみたいだがどうすりゃいいの
2017/12/14(木) 01:13:41.61ID:qWY4CdFg
powershell.exe.configの所有がTrustedInstallerだから管理者でも編集できない
なんでそんなことになった
2017/12/16(土) 01:09:23.97ID:Vs3lXU98
所有者変えればいいんじゃないの
2017/12/26(火) 01:08:50.05ID:h/71yGJi
レジストリに書く環境変数設定
setx 変数 値
は問題ないが消す時の
setx 変数 ""
がなぜか設定できない
やり方あるの?
もちろんコマンドプロンプトからはできる
2017/12/26(火) 01:14:34.23ID:h/71yGJi
ありゃcmdからsetx 変数 ""やっても消えとらんな
まあpowershell関係ないからいいや
2017/12/31(日) 04:59:46.55ID:ewNY+pJH
"a[1-5]"とかでa1〜a5がヒットするどうでもいい機能のせいで
無駄に面倒くさくなったのどう考えても失敗だわ
角括弧なんてパスで割りと使う文字なのに
2017/12/31(日) 13:49:10.30ID:SxcWahjo
c#書ける機能がまだよく分からない
2017/12/31(日) 15:17:36.20ID:5u0blHAo
>>283
お前の日本語がわからない
2018/01/01(月) 20:07:25.73ID:2CgBQVZt
C#で作ったコンソールアプリのexeをクリックしたらコマンドプロントが開くけど
代わりにpowershellで開けないの?
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、ワンボタンマウス・・・いくらでも例はある。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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