前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/
探検
PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
2018/10/09(火) 17:46:48.32ID:G4IJkzod
490デフォルトの名無しさん
2019/01/02(水) 00:00:30.28ID:uM4gOpCa いろんな言語で書いてくれてるけど
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
491デフォルトの名無しさん
2019/01/02(水) 07:11:32.67ID:JfU1VO50 元のソースは何らかのルールに沿ってたものなのでしょうか
492デフォルトの名無しさん
2019/01/02(水) 15:30:48.31ID:meZPNJeK rubyガイジのフリにまんまと乗ったアホ共が悪い
493デフォルトの名無しさん
2019/01/02(水) 16:52:22.21ID:sVSsgdXZ まあ、乗ったというより
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
494デフォルトの名無しさん
2019/01/02(水) 16:57:28.69ID:PMrmWLAE 一般人の正月:和歌を読んで批評し合う
逸般人の正月:コードを書いて批評し合う
逸般人の正月:コードを書いて批評し合う
495デフォルトの名無しさん
2019/01/02(水) 17:56:16.48ID:Q1TcDhg4 誤)コードを書いて批評し合う
正)コードを書いてマウントごっこ
正)コードを書いてマウントごっこ
496デフォルトの名無しさん
2019/01/03(木) 09:21:05.05ID:e4doPVb1 コードも書かずにマウントごっこするよりはマシかな
497デフォルトの名無しさん
2019/01/03(木) 14:18:46.18ID:EIDJLiBS 出力内容に日本語(2バイト文字)が含まれているとテーブル表示の際にカラムがズレる、ってのは回避方法がないのかな。
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
498デフォルトの名無しさん
2019/01/03(木) 19:10:30.43ID:9E4VKJOH あきらめてOut-GridViewを使うとか
499デフォルトの名無しさん
2019/01/08(火) 18:45:23.42ID:EC3N2/DB パワーシェルってカテゴリ的にはスクリプト・プログラム言語?それともWindowsのソフトウェア?
500デフォルトの名無しさん
2019/01/08(火) 19:49:18.08ID:GRXV3JJ2 どちらも
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
501デフォルトの名無しさん
2019/01/08(火) 20:23:14.66ID:twi+nGjw なるほど
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
502デフォルトの名無しさん
2019/01/08(火) 20:34:38.44ID:GRXV3JJ2 全部ずれてる
503デフォルトの名無しさん
2019/01/08(火) 20:45:30.53ID:Ri9uFdMr bashとシェルスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
504デフォルトの名無しさん
2019/01/08(火) 21:11:05.43ID:Ri9uFdMr つかシェルとシェルスクリプト
PowershellとPowershellスクリプト
が一番わかり易かったな
PowershellとPowershellスクリプト
が一番わかり易かったな
505デフォルトの名無しさん
2019/01/08(火) 22:08:03.20ID:twi+nGjw むずかしい!w
506デフォルトの名無しさん
2019/01/09(水) 02:01:23.48ID:9kxsD7dR 別の言い方としてフロントエンドがある
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
507デフォルトの名無しさん
2019/01/09(水) 14:51:11.50ID:teNQqIfe PowerShellができるようになると何がいい?
508デフォルトの名無しさん
2019/01/09(水) 17:40:53.83ID:iwuLoYXa >>507
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
509デフォルトの名無しさん
2019/01/09(水) 19:51:08.47ID:nNa8IYsJ510デフォルトの名無しさん
2019/01/09(水) 21:58:57.96ID:LPlKYmug それな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
511デフォルトの名無しさん
2019/01/09(水) 22:13:34.50ID:WxZlp6Z9 >>507
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
512デフォルトの名無しさん
2019/01/09(水) 22:16:39.66ID:WxZlp6Z9 間違えた
return文でした・・・
return文でした・・・
513デフォルトの名無しさん
2019/01/09(水) 22:17:35.75ID:nNa8IYsJ すごいHaskell本を借りて100ページくらい読んだら、PowerShellの関数型風な書き方も割と理解できるようになった
514デフォルトの名無しさん
2019/01/09(水) 22:19:11.83ID:nNa8IYsJ 関数型風というか勝手にOut-Defaultがつく挙動がそう見えるだけかもしれないけど
515デフォルトの名無しさん
2019/01/10(木) 00:11:38.57ID:jhx89QXs 関数型は、Ruby, jQuery(JavaScript)。
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
516デフォルトの名無しさん
2019/01/10(木) 00:25:40.33ID:mktY/a5R dosならまだしもwinで無理やり拡腸されたのはちょっとね・・・
517デフォルトの名無しさん
2019/01/10(木) 00:28:19.57ID:FheW454d >>515
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
518デフォルトの名無しさん
2019/01/10(木) 00:33:03.30ID:jxmC/C32 >>516
誤字がひどい
誤字がひどい
519デフォルトの名無しさん
2019/01/10(木) 04:58:55.23ID:Pqz/qBav520デフォルトの名無しさん
2019/01/10(木) 05:25:45.52ID:nf36oLbM >>519
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
521デフォルトの名無しさん
2019/01/10(木) 05:57:47.50ID:Pqz/qBav >>520
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
522デフォルトの名無しさん
2019/01/10(木) 06:03:49.10ID:nf36oLbM MSの意図も、現実の普及や活用もvbsはbatの補間機能だよ、それらの一括後継がPowershell、そんなことを今更説明しなきゃならんとは残念至極
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
523デフォルトの名無しさん
2019/01/10(木) 07:54:48.12ID:e7V8oUZV パワーシェルとrubyは似てる言語なの?
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
524デフォルトの名無しさん
2019/01/10(木) 12:28:31.19ID:8HdqxYaB >>517
ruby を NG してる
ruby を NG してる
525デフォルトの名無しさん
2019/01/10(木) 17:29:11.64ID:jhx89QXs そりゃ、Ruby がベスト。
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
526デフォルトの名無しさん
2019/01/10(木) 17:49:28.58ID:3kN+h5hG インテリセンスしょぼすぎ
527デフォルトの名無しさん
2019/01/10(木) 18:07:50.47ID:vGEkHdSz >>524
俺もそうする
俺もそうする
528デフォルトの名無しさん
2019/01/10(木) 18:08:40.70ID:ct6DIWcV529デフォルトの名無しさん
2019/01/10(木) 18:11:49.88ID:SOl/xRps どんどんrubyの評判を下げてるのがわからんのかねぇ
530525
2019/01/10(木) 18:45:39.00ID:jhx89QXs 漏れは、PowerShell で数行書くなら、Ruby で作ってしまう
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
531デフォルトの名無しさん
2019/01/10(木) 18:48:24.32ID:ntFiGaUH なるほどrubyじゃ何もできないってことだね
532デフォルトの名無しさん
2019/01/10(木) 19:03:20.25ID:3kN+h5hG IronRubyってどうなったの?
533デフォルトの名無しさん
2019/01/10(木) 20:51:10.85ID:UUY7OixD (かつて)仕様書が存在しない処理系を複製するなんてやってられなくなったんじゃないか?
534デフォルトの名無しさん
2019/01/14(月) 13:22:32.56ID:i1odpryK powershellのメリットは対話環境とスクリプトが同一の文法て書けること
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
535デフォルトの名無しさん
2019/01/14(月) 16:32:26.56ID:mUB6pFvH >>534
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
536デフォルトの名無しさん
2019/01/14(月) 17:38:40.92ID:i1odpryK537デフォルトの名無しさん
2019/01/15(火) 07:41:15.21ID:PNg+c5Yb 文化の変化には拒絶反応があるもの
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
538デフォルトの名無しさん
2019/01/16(水) 08:35:02.57ID:8/OmqdoX v6.1.2 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
539デフォルトの名無しさん
2019/01/16(水) 18:21:31.35ID:Y6YhZRdL >>538
あんがとさん
あんがとさん
540デフォルトの名無しさん
2019/01/31(木) 21:35:30.95ID:AeQOSKqu &{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
541デフォルトの名無しさん
2019/01/31(木) 21:44:25.79ID:AeQOSKqu Whileの継続判定を
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
542デフォルトの名無しさん
2019/01/31(木) 22:18:49.56ID:xJsSt9Re Windows では、よく知らないけど、
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
543デフォルトの名無しさん
2019/01/31(木) 22:20:50.85ID:wdHuOMr6 >>540
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
544デフォルトの名無しさん
2019/01/31(木) 22:33:49.84ID:nQoHUWUF powershell {
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
546542
2019/01/31(木) 23:44:01.11ID:xJsSt9Re Windows では知らないけど、
Linux なら、systemd で、サービスを起動できる
Linux なら、systemd で、サービスを起動できる
547デフォルトの名無しさん
2019/01/31(木) 23:44:18.82ID:AeQOSKqu548デフォルトの名無しさん
2019/01/31(木) 23:57:01.76ID:eCrLlhCC >Windows では知らないけど、
このひとなんなん
こわい
このひとなんなん
こわい
549デフォルトの名無しさん
2019/02/01(金) 07:42:04.59ID:92aZjlm0550デフォルトの名無しさん
2019/02/01(金) 09:45:34.37ID:CxyFcB/M551デフォルトの名無しさん
2019/02/01(金) 10:57:54.88ID:Df7lr2kE >>547
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
552デフォルトの名無しさん
2019/02/02(土) 21:37:38.54ID:GDLTgOlM もうOut-GridView側の処理は別ps1ファイルで別けて
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
553デフォルトの名無しさん
2019/02/03(日) 05:19:27.02ID:U6zkwiYj554デフォルトの名無しさん
2019/02/03(日) 10:45:58.13ID:p2YNM7CO PS > [bool]""
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
555デフォルトの名無しさん
2019/02/03(日) 11:34:45.18ID:gZVRTEN5 psのnullはnullじゃないってどこかで記事見たな
556デフォルトの名無しさん
2019/02/03(日) 12:12:22.77ID:p2YNM7CO PS > [string]$s -eq $null
False
PS > $s -eq $null
True
False
PS > $s -eq $null
True
557デフォルトの名無しさん
2019/02/03(日) 12:17:47.78ID:sBfvPdNi 型変換が定義されてるっぽいね
558デフォルトの名無しさん
2019/02/03(日) 12:58:35.28ID:jpAIKS8U $nullの型が何なのか調べればわかること
$null.GetType()
You cannot call a method on a null-valued expression.
At line:1 char:1
+ $null.GetType()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
まとめ
結構嫌な感じですね。
$null.GetType()
You cannot call a method on a null-valued expression.
At line:1 char:1
+ $null.GetType()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
まとめ
結構嫌な感じですね。
559デフォルトの名無しさん
2019/02/03(日) 13:06:40.62ID:KnacfqZI560デフォルトの名無しさん
2019/02/03(日) 13:52:06.12ID:fFxNo4TL >>559
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
561デフォルトの名無しさん
2019/02/03(日) 14:28:24.77ID:gZVRTEN5 うーむ・・・
[string]$s = $null
$s -eq [string]$null
$s -eq $null
$s.GetType()
True
False
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Remove-Variable s
$s -eq [string]$null
$s -eq $null
$s.GetType()
False
True
null 値の式ではメソッドを呼び出せません。
発生場所 行:5 文字:1
+ $s.GetType()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
[string]$s = $null
$s -eq [string]$null
$s -eq $null
$s.GetType()
True
False
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Remove-Variable s
$s -eq [string]$null
$s -eq $null
$s.GetType()
False
True
null 値の式ではメソッドを呼び出せません。
発生場所 行:5 文字:1
+ $s.GetType()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
562デフォルトの名無しさん
2019/02/03(日) 14:38:16.60ID:KnacfqZI563デフォルトの名無しさん
2019/02/03(日) 14:53:04.55ID:KnacfqZI 可能であれば [string]$s=$null
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
564デフォルトの名無しさん
2019/02/03(日) 14:53:36.20ID:KnacfqZI 何でフォントが変わったんだろ?
565デフォルトの名無しさん
2019/02/03(日) 17:18:00.01ID:gLy6KBGU stringやintはC#と同じくnull許容型ではないということだな
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
566デフォルトの名無しさん
2019/02/03(日) 17:37:25.59ID:KnacfqZI567デフォルトの名無しさん
2019/02/03(日) 17:47:48.25ID:KnacfqZI >>565
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる
やってみたら、今度は文字代入するとエラーになるぞよ
Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる
やってみたら、今度は文字代入するとエラーになるぞよ
Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。
568デフォルトの名無しさん
2019/02/03(日) 18:06:20.48ID:gLy6KBGU ああすまん、[Nullable[string]] はダメだったか
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
569デフォルトの名無しさん
2019/02/03(日) 20:22:36.62ID:wQ2AkwMN >>566
C#8.0
C#8.0
570デフォルトの名無しさん
2019/02/14(木) 06:50:42.41ID:EWDxMe0z 今まであまり気にしてなかったけどPesterってめちゃくちゃ便利なんじゃねえか
他言語で書いたプログラムの結合テストがスゴく書きやすい
他言語で書いたプログラムの結合テストがスゴく書きやすい
571デフォルトの名無しさん
2019/02/14(木) 09:06:58.55ID:k6/DH+7Z >>570
いいもの教えてもらった。ありがとう。
いいもの教えてもらった。ありがとう。
572デフォルトの名無しさん
2019/02/14(木) 22:51:37.48ID:8Eclc9m3 powershellの標準出力やエラー出力を、自分で作成したフォームのTextBoxにリダイレクトできないでしょうか?
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
573デフォルトの名無しさん
2019/02/14(木) 23:42:44.14ID:CDGUBW/T >>572
Powershellから.Net Frameworkを利用できることは解ってる?
Powershellから.Net Frameworkを利用できることは解ってる?
574デフォルトの名無しさん
2019/02/15(金) 20:32:06.22ID:VV8Lu8eJ575デフォルトの名無しさん
2019/02/15(金) 22:37:05.29ID:JVFXEcJ1 >>573
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける方法が判りません。
という状態です
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける方法が判りません。
という状態です
576デフォルトの名無しさん
2019/02/15(金) 23:35:43.92ID:BkaZ3+61 Ruby で、1-liner のフィルタ。
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
sed -n, awk をエミュレートしたもの
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
sed -n, awk をエミュレートしたもの
577デフォルトの名無しさん
2019/02/15(金) 23:54:24.30ID:I8iEDAq8 sed、awkでいいな。
わざわざ100倍遅くする必要はない。
そして死ね。
わざわざ100倍遅くする必要はない。
そして死ね。
578デフォルトの名無しさん
2019/02/15(金) 23:55:34.76ID:Y7lTk+zi >>572
C#単体ではどうやって実現したの?
C#単体ではどうやって実現したの?
579デフォルトの名無しさん
2019/02/16(土) 12:36:04.55ID:td/FtdQ5580デフォルトの名無しさん
2019/02/17(日) 16:02:03.17ID:jxo9FooS powershellのソース読むとOut関係はそんなインターフェースが無いっぽいのが判ったので
全部%{[System.Console]::WriteLine($_)}に通すことにしました
全部%{[System.Console]::WriteLine($_)}に通すことにしました
581デフォルトの名無しさん
2019/02/19(火) 01:05:58.24ID:rqZOBHxw (494,500,"`nズン"),(523,300,"ズ"),(494,250,"ン"),(330,600,"ズン"),(330,250,"ド"),(330,250,"コ")|
%{write-host "`nズン♪";Add-Type -a System.speech;$s=[Speech.Synthesis.SpeechSynthesizer]::new();$s.rate=1;[Console]::Beep(330,500);sleep -m:600}{
write-host -n -f:(10..15|random) "$($_[2])♪";[console]::Beep($_[0],$_[1])}{
write-host -f:(10..15|random) "`n`nキヨシ!!`n";$s.Speak("きいっよおっしぃ いいいっ!");$s.Dispose()}
%{write-host "`nズン♪";Add-Type -a System.speech;$s=[Speech.Synthesis.SpeechSynthesizer]::new();$s.rate=1;[Console]::Beep(330,500);sleep -m:600}{
write-host -n -f:(10..15|random) "$($_[2])♪";[console]::Beep($_[0],$_[1])}{
write-host -f:(10..15|random) "`n`nキヨシ!!`n";$s.Speak("きいっよおっしぃ いいいっ!");$s.Dispose()}
582デフォルトの名無しさん
2019/02/19(火) 11:18:15.41ID:jsQqlcaV >>581
それ、しゃべるの?うちの環境では喋らなかった。
それ、しゃべるの?うちの環境では喋らなかった。
584デフォルトの名無しさん
2019/02/19(火) 14:42:09.09ID:cO5Algvr https://dev.classmethod.jp/server-side/problem-about-awspowershell-netcore-not-autoloaded/
> 4000以上のコマンドをエクスポートしているとPowerShell Galleryでの公開がリジェクトされてしまう
> 4000以上のコマンドをエクスポートしているとPowerShell Galleryでの公開がリジェクトされてしまう
585デフォルトの名無しさん
2019/02/19(火) 15:26:18.95ID:xz+0XgYy 似たようなのは、VSCodeでもあるね。
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな
586デフォルトの名無しさん
2019/02/20(水) 14:59:45.45ID:MrRFAFnZ v6.1.3 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.3
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.3
587デフォルトの名無しさん
2019/02/23(土) 20:34:37.39ID:K6odEV0u WindowsでしかPS使わないんだけど
早めにWindowsPS5.1から、PS6.1に移行した方がいい?
5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。
5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。
早めにWindowsPS5.1から、PS6.1に移行した方がいい?
5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。
5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。
588デフォルトの名無しさん
2019/02/23(土) 21:00:34.25ID:mBphVd+l OSに標準搭載されるならともかく今は現状維持で良いんでない
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど
589デフォルトの名無しさん
2019/02/23(土) 21:10:17.16ID:K6odEV0u .net flamework呼び出すスクリプトが多くて
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかなって。
PS自体の互換性は割と大丈夫っぽいんだけど。
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかなって。
PS自体の互換性は割と大丈夫っぽいんだけど。
590デフォルトの名無しさん
2019/02/23(土) 21:26:32.03ID:U8qcMvKV .NET Coreの範囲だったらいいけど、.NET Frameworkと比べるとすごく狭そうだからなあ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 新米の予想収穫量、1割増 746万8000トン―農水省 [蚤の市★]
- 高市「発言は撤回しない。謝罪もするな。外務省局長!任せたぞ。」👈なにをさせたかったの?😲 [826239858]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【悲報】『岡田が日和って逃げたのに高市が自分から突っ込んだ発言をして自爆した』⬅国会答弁、実際はこれだった…… [158478931]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【実況】博衣こよりのえちえち歌枠🧪
- 外務省局長、よくわからないまま帰国へ [834922174]
