[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/19 17:42 / Filesize : 269 KB / Number-of Response : 1051
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

PowerShell -Part 3



1 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:46:48.32 ID:G4IJkzod.net]
前スレ
【最強CUI】PowerShell -Part 2
mevius.5ch.net/test/read.cgi/tech/1480109402/

515 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 14:18:46.18 ID:EIDJLiBS.net]
出力内容に日本語(2バイト文字)が含まれているとテーブル表示の際にカラムがズレる、ってのは回避方法がないのかな。
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。

# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな

516 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 19:10:30.43 ID:9E4VKJOH.net]
あきらめてOut-GridViewを使うとか

517 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 18:45:23.42 ID:EC3N2/DB.net]
パワーシェルってカテゴリ的にはスクリプト・プログラム言語?それともWindowsのソフトウェア?

518 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 19:49:18.08 ID:GRXV3JJ2.net]
どちらも

シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)

519 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 20:23:14.66 ID:twi+nGjw.net]
なるほど
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな

520 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 20:34:38.44 ID:GRXV3JJ2.net]
全部ずれてる

521 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 20:45:30.53 ID:Ri9uFdMr.net]
bashとシェルスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト

522 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 21:11:05.43 ID:Ri9uFdMr.net]
つかシェルとシェルスクリプト
PowershellとPowershellスクリプト
が一番わかり易かったな

523 名前:デフォルトの名無しさん mailto:sage [2019/01/08(火) 22:08:03.20 ID:twi+nGjw.net]
むずかしい!w



524 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 02:01:23.48 ID:9kxsD7dR.net]
別の言い方としてフロントエンドがある
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ

525 名前:デフォルトの名無しさん [2019/01/09(水) 14:51:11.50 ID:teNQqIfe.net]
PowerShellができるようになると何がいい?

526 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 17:40:53.83 ID:iwuLoYXa.net]
>>507
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。

527 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 19:51:08.47 ID:nNa8IYsJ.net]
>>507
職業で使わない前提なら、
Windowsへの追加のインストールなしにそこそこリッチなツールをスクリプト言語で作れることかな

528 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 21:58:57.96 ID:LPlKYmug.net]
それな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな

529 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 22:13:34.50 ID:WxZlp6Z9.net]
>>507
事務職の俺が思うメリット・デメリット。

■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、


530 名前:客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。

■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)

■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
[]
[ここ壊れてます]

531 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 22:16:39.66 ID:WxZlp6Z9.net]
間違えた
return文でした・・・

532 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 22:17:35.75 ID:nNa8IYsJ.net]
すごいHaskell本を借りて100ページくらい読んだら、PowerShellの関数型風な書き方も割と理解できるようになった

533 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 22:19:11.83 ID:nNa8IYsJ.net]
関数型風というか勝手にOut-Defaultがつく挙動がそう見えるだけかもしれないけど



534 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 00:11:38.57 ID:jhx89QXs.net]
関数型は、Ruby, jQuery(JavaScript)。
map というメソッドを頻繁に使う

PowerShell(PS)の延長線上に、Rubyがある

バッチファイル → PS
シェルスクリプト → Ruby

バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない

535 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 00:25:40.33 ID:mktY/a5R.net]
dosならまだしもwinで無理やり拡腸されたのはちょっとね・・・

536 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 00:28:19.57 ID:FheW454d.net]
>>515
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。

537 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 00:33:03.30 ID:jxmC/C32.net]
>>516
誤字がひどい

538 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 04:58:55.23 ID:Pqz/qBav.net]
>>507
batファイルが書けるよりも何が便利かという視点だと、batがひどいからずっとマシというのがある
batでは初歩的な処理もできなかったり、実現までに手間を要したりする
保守性も悪い

539 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 05:25:45.52 ID:nf36oLbM.net]
>>519
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ

540 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 05:57:47.50 ID:Pqz/qBav.net]
>>520
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ

541 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 06:03:49.10 ID:nf36oLbM.net]
MSの意図も、現実の普及や活用もvbsはbatの補間機能だよ、それらの一括後継がPowershell、そんなことを今更説明しなきゃならんとは残念至極
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ

542 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 07:54:48.12 ID:e7V ]
[ここ壊れてます]

543 名前:8oUZV.net mailto: パワーシェルとrubyは似てる言語なの?
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
[]
[ここ壊れてます]



544 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 12:28:31.19 ID:8HdqxYaB.net]
>>517
ruby を NG してる

545 名前:デフォルトの名無しさん [2019/01/10(木) 17:29:11.64 ID:jhx89QXs.net]
そりゃ、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」でも読めば?

546 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 17:49:28.58 ID:3kN+h5hG.net]
インテリセンスしょぼすぎ

547 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 18:07:50.47 ID:vGEkHdSz.net]
>>524
俺もそうする

548 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 18:08:40.70 ID:ct6DIWcV.net]
>>525
わざわざ蕎麦好きが集まる蕎麦屋に出向いて、「うどんこそが至高の麺類。なぜなら〜」って
講釈垂れるのと同じくらいヤボだ、って気づくべき。周りは迷惑してるんですよ。

549 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 18:11:49.88 ID:SOl/xRps.net]
どんどんrubyの評判を下げてるのがわからんのかねぇ

550 名前:525 mailto:sage [2019/01/10(木) 18:45:39.00 ID:jhx89QXs.net]
漏れは、PowerShell で数行書くなら、Ruby で作ってしまう

クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う

Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも

551 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 18:48:24.32 ID:ntFiGaUH.net]
なるほどrubyじゃ何もできないってことだね

552 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 19:03:20.25 ID:3kN+h5hG.net]
IronRubyってどうなったの?

553 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 20:51:10.85 ID:UUY7OixD.net]
(かつて)仕様書が存在しない処理系を複製するなんてやってられなくなったんじゃないか?



554 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 13:22:32.56 ID:i1odpryK.net]
powershellのメリットは対話環境とスクリプトが同一の文法て書けること
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる

『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点

555 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 16:32:26.56 ID:mUB6pFvH.net]
>>534
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること

まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね

556 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 17:38:40.92 ID:i1odpryK.net]
>>535
それもあるね
psreadline有効にしておけば履歴から同じようなことできるし
unix系で当たり前だったことが、やっと出来るようになったともいえるけど

557 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 07:41:15.21 ID:PNg+c5Yb.net]
文化の変化には拒絶反応があるもの
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。

既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。

やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。

558 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 08:35:02.57 ID:8/OmqdoX.net]
v6.1.2 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2

559 名前:デフォルトの名無しさん [2019/01/16(水) 18:21:31.35 ID:Y6YhZRdL.net]
>>538
あんがとさん

560 名前:デフォルトの名無しさん [2019/01/31(木) 21:35:30.95 ID:AeQOSKqu.net]
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView

Get-Date

上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?

561 名前:デフォルトの名無しさん [2019/01/31(木) 21:44:25.79 ID:AeQOSKqu.net]
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個表示されるので方法として頭悪い・・・

562 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 22:18:49.56 ID:xJsSt9Re.net]
Windows では、よく知らないけど、
Linux では、プロセスに親子関係がある

そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する

つまり、親亀こけたら子亀もこける

シェルから起動したプロセスは、シェルの子プロセスになっている

だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある

また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する

563 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 22:20:50.85 ID:wdHuOMr6.net]
>>540
while($true){++$i|out-gridview;sleep -seconds 1;get-date}



564 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 22:33:49.84 ID:nQoHUWUF.net]
powershell {
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date

565 名前: mailto:sage [2019/01/31(木) 23:10:29.40 ID:GI5VQ7Hx.net]
>>542
>デーモン・サービスのように、親プロセスから切り離すか
これ、なんか特別なことをしましたっけ…

566 名前:542 mailto:sage [2019/01/31(木) 23:44:01.11 ID:xJsSt9Re.net]
Windows では知らないけど、

Linux なら、systemd で、サービスを起動できる

567 名前:デフォルトの名無しさん [2019/01/31(木) 23:44:18.82 ID:AeQOSKqu.net]
>>543
いにしえのブラクラかと・・・

>>544
一応こんな感じで、runspacepoolで実行するようにはしてみたけれど、
現実には

568 名前:whileの中で実行する関数とかをASTの構文解析使って渡してやる必要があって、少し手間なんですよね

Out-GridViewによるプロセス中断を制御できればなと思っていました
[]
[ここ壊れてます]

569 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 23:57:01.76 ID:eCrLlhCC.net]
>Windows では知らないけど、
このひとなんなん
こわい

570 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 07:42:04.59 ID:92aZjlm0.net]
>>545
>>542はWindowどころかLinuxもよく理解できてないみたいだからスルーするがよろし
親プロセスなんてどうでも良くてたぶん制御端末がクローズされた時にSIGHUPが送られる話と勘違いしてる

571 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 09:45:34.37 ID:CxyFcB/M.net]
>>547
パッと思いつきだけで考えたけど、
Start-Job
Workflow
あたりを使うのはどうでしょうね(未確認)。

572 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 10:57:54.88 ID:Df7lr2kE.net]
>>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

573 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 21:37:38.54 ID:GDLTgOlM.net]
もうOut-GridView側の処理は別ps1ファイルで別けて
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど



574 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 05:19:27.02 ID:U6zkwiYj.net]
https://i.imgur.com/Sd6FKGQ.jpg

型指定した変数に$nullを代入できないの?

575 名前:デフォルトの名無しさん [2019/02/03(日) 10:45:58.13 ID:p2YNM7CO.net]
PS > [bool]""
False
PS > [bool]$s
False

なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?

576 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 11:34:45.18 ID:gZVRTEN5.net]
psのnullはnullじゃないってどこかで記事見たな

577 名前:デフォルトの名無しさん [2019/02/03(日) 12:12:22.77 ID:p2YNM7CO.net]
PS > [string]$s -eq $null
False
PS > $s -eq $null
True

578 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:17:47.78 ID:sBfvPdNi.net]
型変換が定義されてるっぽいね

579 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:58:35.28 ID:jpAIKS8U.net]
$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

まとめ
結構嫌な感じですね。

580 名前:デフォルトの名無しさん [2019/02/03(日) 13:06:40.62 ID:KnacfqZI.net]
>>553
[string]::IsNullOrEmpt

581 名前:y($s)

NullならTrueが返るから
if([string]::IsNullOrEmpty($s)){ "ぬるだよ"}
[]
[ここ壊れてます]

582 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 13:52:06.12 ID:fFxNo4TL.net]
>>559
[string]::IsNullOrEmpty("") もtrueになるんだが

String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。

583 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 14:28:24.77 ID:gZVRTEN5.net]
うーむ・・・

[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



584 名前:デフォルトの名無しさん [2019/02/03(日) 14:38:16.60 ID:KnacfqZI.net]
>>560
じゃこんな感じで
[string]$s=$null
if($s -eq [string]$null){"ぬるぬるだよ"}

585 名前:デフォルトの名無しさん [2019/02/03(日) 14:53:04.55 ID:KnacfqZI.net]
可能であれば [string]$s=$null
でなく    [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね

586 名前:デフォルトの名無しさん [2019/02/03(日) 14:53:36.20 ID:KnacfqZI.net]
何でフォントが変わったんだろ?

587 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 17:18:00.01 ID:gLy6KBGU.net]
stringやintはC#と同じくnull許容型ではないということだな

[string]$s = $null
$s
// 代入時にキャストされ空文字列になる

[int]$i = $null
$i
// 代入時にキャストされ0になる

[Nullable[string]]$s = $null
$s
// $nullが代入できる

588 名前:デフォルトの名無しさん [2019/02/03(日) 17:37:25.59 ID:KnacfqZI.net]
>>565
>stringやintはC#と同じくnull許容型ではないということだな

C#にstringのnull許容型ってないよね。
参照型には?を付けられないよね。

589 名前:デフォルトの名無しさん [2019/02/03(日) 17:47:48.25 ID:KnacfqZI.net]
>>565
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる

やってみたら、今度は文字代入するとエラーになるぞよ

Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。

590 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 18:06:20.48 ID:gLy6KBGU.net]
ああすまん、[Nullable[string]] はダメだったか
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな

591 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 20:22:36.62 ID:wQ2AkwMN.net]
>>566
C#8.0

592 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 06:50:42.41 ID:EWDxMe0z.net]
今まであまり気にしてなかったけどPesterってめちゃくちゃ便利なんじゃねえか
他言語で書いたプログラムの結合テストがスゴく書きやすい

593 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 09:06:58.55 ID:k6/DH+7Z.net]
>>570
いいもの教えてもらった。ありがとう。



594 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 22:51:37.48 ID:8Eclc9m3.net]
powershellの標準出力やエラー出力を、自分で作成したフォームのTextBoxにリダイレクトできないでしょうか?
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。

595 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 23:42:44.14 ID:CDGUBW/T.net]
>>572
Powershellから.Net Frameworkを利用できることは解ってる?

596 名前:デフォルトの名無しさん [2019/02/15(金) 20:32:06.22 ID:VV8Lu8eJ.net]
>>570
かんがえてみれば、VSCodeでC#なんかのひな形生成してるのって
PowerShellだね。同じことやってんだろな。

597 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 22:37:05.29 ID:JVFXEcJ1.net]
>>573
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける

598 名前:方法が判りません。
という状態です
[]
[ここ壊れてます]

599 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 23:35:43.92 ID:BkaZ3+61.net]
Ruby で、1-liner のフィルタ。
ファイル名を大文字で表示する

ls | ruby -lne 'print $_.upcase'

ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル

ruby -lne 'print $_.upcase' a.txt b.txt

sed -n, awk をエミュレートしたもの

600 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 23:54:24.30 ID:I8iEDAq8.net]
sed、awkでいいな。
わざわざ100倍遅くする必要はない。
そして死ね。

601 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 23:55:34.76 ID:Y7lTk+zi.net]
>>572
C#単体ではどうやって実現したの?

602 名前:デフォルトの名無しさん [2019/02/16(土) 12:36:04.55 ID:td/FtdQ5.net]
>>572
write-error とか write-warning とか write-output とか他にも
いろいろあるけど、そのこと言ってる?

603 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:02:03.17 ID:jxo9FooS.net]
powershellのソース読むとOut関係はそんなインターフェースが無いっぽいのが判ったので
全部%{[System.Console]::WriteLine($_)}に通すことにしました



604 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 01:05:58.24 ID:rqZOBHxw.net]
(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()}

605 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 11:18:15.41 ID:jsQqlcaV.net]
>>581
それ、しゃべるの?うちの環境では喋らなかった。

606 名前:582 mailto:sage [2019/02/19(火) 11:20:37.97 ID:jsQqlcaV.net]
>>581
喋ったわ、PCの設定の問題だった

607 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 14:42:09.09 ID:cO5Algvr.net]
https://dev.classmethod.jp/server-side/problem-about-awspowershell-netcore-not-autoloaded/

> 4000以上のコマンドをエクスポートしているとPowerShell Galleryでの公開がリジェクトされてしまう

608 名前:デフォルトの名無しさん [2019/02/19(火) 15:26:18.95 ID:xz+0XgYy.net]
似たようなのは、VSCodeでもあるね。
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな

609 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 14:59:45.45 ID:MrRFAFnZ.net]
v6.1.3 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.3

610 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 20:34:37.39 ID:K6odEV0u.net]
WindowsでしかPS使わないんだけど
早めにWindowsPS5.1から、PS6.1に移行した方がいい?

5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。

5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。

611 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 21:00:34.25 ID:mBphVd+l.net]
OSに標準搭載されるならともかく今は現状維持で良いんでない
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど

612 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 21:10:17.16 ID:K6odEV0u.net]
.net flamework呼び出すスクリプトが多くて
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかな

613 名前:って。

PS自体の互換性は割と大丈夫っぽいんだけど。
[]
[ここ壊れてます]



614 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 21:26:32.03 ID:U8qcMvKV.net]
.NET Coreの範囲だったらいいけど、.NET Frameworkと比べるとすごく狭そうだからなあ

615 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 21:41:56.40 ID:QCtZNWil.net]
>>590
そんなにかわらんやろ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<269KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef