19/01/09 02:01:23.48 9kxsD7dR.net
別の言い方としてフロントエンドがある
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
525:デフォルトの名無しさん
19/01/09 14:51:11.50 teNQqIfe.net
PowerShellができるようになると何がいい?
526:デフォルトの名無しさん
19/01/09 17:40:53.83 iwuLoYXa.net
>>507
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
527:デフォルトの名無しさん
19/01/09 19:51:08.47 nNa8IYsJ.net
>>507
職業で使わない前提なら、
Windowsへの追加のインストールなしにそこそこリッチなツールをスクリプト言語で作れることかな
528:デフォルトの名無しさん
19/01/09 21:58:57.96 LPlKYmug.net
それな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
529:デフォルトの名無しさん
19/01/09 22:13:34.50 WxZlp6Z9.net
>>507
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お
530:客さんとか他の部署から送られてくる使いづらいExcelのデータを シンプルな表に整形するとか。 ■PowerShellならではのメリット 他の人も書いてるけど、Windowsに最初から入ってる。 スクリプトファイルを渡すだけで同僚にも使ってもらえる。 (起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど) ■デメリット 全くのプログラミング素人には難しいと思う。 初めてなら、Pythonあたりを先に勉強した方がいいかも。 「パイプラインではオブジェクトが受け渡しされる」とかいわれても 初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない) 適当に解説している入門書とかWebサイトには 「retrun文の後ろの値が、関数の戻り値になります」といった、 嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。 俺もトライアンドエラーばかりで、きちんと習得できてないです。
531:デフォルトの名無しさん
19/01/09 22:16:39.66 WxZlp6Z9.net
間違えた
return文でした・・・
532:デフォルトの名無しさん
19/01/09 22:17:35.75 nNa8IYsJ.net
すごいHaskell本を借りて100ページくらい読んだら、PowerShellの関数型風な書き方も割と理解できるようになった
533:デフォルトの名無しさん
19/01/09 22:19:11.83 nNa8IYsJ.net
関数型風というか勝手にOut-Defaultがつく挙動がそう見えるだけかもしれないけど
534:デフォルトの名無しさん
19/01/10 00:11:38.57 jhx89QXs.net
関数型は、Ruby, jQuery(JavaScript)。
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
535:デフォルトの名無しさん
19/01/10 00:25:40.33 mktY/a5R.net
dosならまだしもwinで無理やり拡腸されたのはちょっとね・・・
536:デフォルトの名無しさん
19/01/10 00:28:19.57 FheW454d.net
>>515
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
537:デフォルトの名無しさん
19/01/10 00:33:03.30 jxmC/C32.net
>>516
誤字がひどい
538:デフォルトの名無しさん
19/01/10 04:58:55.23 Pqz/qBav.net
>>507
batファイルが書けるよりも何が便利かという視点だと、batがひどいからずっとマシというのがある
batでは初歩的な処理もできなかったり、実現までに手間を要したりする
保守性も悪い
539:デフォルトの名無しさん
19/01/10 05:25:45.52 nf36oLbM.net
>>519
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
540:デフォルトの名無しさん
19/01/10 05:57:47.50 Pqz/qBav.net
>>520
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
541:デフォルトの名無しさん
19/01/10 06:03:49.10 nf36oLbM.net
MSの意図も、現実の普及や活用もvbsはbatの補間機能だよ、それらの一括後継がPowershell、そんなことを今更説明しなきゃならんとは残念至極
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
542:デフォルトの名無しさん
19/01/10 07:54:48.12 e7V
543:8oUZV.net
544:デフォルトの名無しさん
19/01/10 12:28:31.19 8HdqxYaB.net
>>517
ruby を NG してる
545:デフォルトの名無しさん
19/01/10 17:29:11.64 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:デフォルトの名無しさん
19/01/10 17:49:28.58 3kN+h5hG.net
インテリセンスしょぼすぎ
547:デフォルトの名無しさん
19/01/10 18:07:50.47 vGEkHdSz.net
>>524
俺もそうする
548:デフォルトの名無しさん
19/01/10 18:08:40.70 ct6DIWcV.net
>>525
わざわざ蕎麦好きが集まる蕎麦屋に出向いて、「うどんこそが至高の麺類。なぜなら~」って
講釈垂れるのと同じくらいヤボだ、って気づくべき。周りは迷惑してるんですよ。
549:デフォルトの名無しさん
19/01/10 18:11:49.88 SOl/xRps.net
どんどんrubyの評判を下げてるのがわからんのかねぇ
550:525
19/01/10 18:45:39.00 jhx89QXs.net
漏れは、PowerShell で数行書くなら、Ruby で作ってしまう
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
551:デフォルトの名無しさん
19/01/10 18:48:24.32 ntFiGaUH.net
なるほどrubyじゃ何もできないってことだね
552:デフォルトの名無しさん
19/01/10 19:03:20.25 3kN+h5hG.net
IronRubyってどうなったの?
553:デフォルトの名無しさん
19/01/10 20:51:10.85 UUY7OixD.net
(かつて)仕様書が存在しない処理系を複製するなんてやってられなくなったんじゃないか?
554:デフォルトの名無しさん
19/01/14 13:22:32.56 i1odpryK.net
powershellのメリットは対話環境とスクリプトが同一の文法て書けること
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
555:デフォルトの名無しさん
19/01/14 16:32:26.56 mUB6pFvH.net
>>534
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
556:デフォルトの名無しさん
19/01/14 17:38:40.92 i1odpryK.net
>>535
それもあるね
psreadline有効にしておけば履歴から同じようなことできるし
unix系で当たり前だったことが、やっと出来るようになったともいえるけど
557:デフォルトの名無しさん
19/01/15 07:41:15.21 PNg+c5Yb.net
文化の変化には拒絶反応があるもの
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
558:デフォルトの名無しさん
19/01/16 08:35:02.57 8/OmqdoX.net
v6.1.2 Release of PowerShell Core
URLリンク(github.com)
559:デフォルトの名無しさん
19/01/16 18:21:31.35 Y6YhZRdL.net
>>538
あんがとさん
560:デフォルトの名無しさん
19/01/31 21:35:30.95 AeQOSKqu.net
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
561:デフォルトの名無しさん
19/01/31 21:44:25.79 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:デフォルトの名無しさん
19/01/31 22:18:49.56 xJsSt9Re.net
Windows では、よく知らないけど、
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
563:デフォルトの名無しさん
19/01/31 22:20:50.85 wdHuOMr6.net
>>540
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
564:デフォルトの名無しさん
19/01/31 22:33:49.84 nQoHUWUF.net
powershell {
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
565:
19/01/31 23:10:29.40 GI5VQ7Hx.net
>>542
>デーモン・サービスのように、親プロセスから切り離すか
これ、なんか特別なことをしましたっけ…
566:542
19/01/31 23:44:01.11 xJsSt9Re.net
Windows では知らないけど、
Linux なら、systemd で、サービスを起動できる
567:デフォルトの名無しさん
19/01/31 23:44:18.82 AeQOSKqu.net
>>543
いにしえのブラクラかと・・・
>>544
一応こんな感じで、runspacepoolで実行するようにはしてみたけれど、
現実には
568:whileの中で実行する関数とかをASTの構文解析使って渡してやる必要があって、少し手間なんですよね Out-GridViewによるプロセス中断を制御できればなと思っていました
569:デフォルトの名無しさん
19/01/31 23:57:01.76 eCrLlhCC.net
>Windows では知らないけど、
このひとなんなん
こわい
570:デフォルトの名無しさん
19/02/01 07:42:04.59 92aZjlm0.net
>>545
>>542はWindowどころかLinuxもよく理解できてないみたいだからスルーするがよろし
親プロセスなんてどうでも良くてたぶん制御端末がクローズされた時にSIGHUPが送られる話と勘違いしてる
571:デフォルトの名無しさん
19/02/01 09:45:34.37 CxyFcB/M.net
>>547
パッと思いつきだけで考えたけど、
Start-Job
Workflow
あたりを使うのはどうでしょうね(未確認)。
572:デフォルトの名無しさん
19/02/01 10:57:54.88 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:デフォルトの名無しさん
19/02/02 21:37:38.54 GDLTgOlM.net
もうOut-GridView側の処理は別ps1ファイルで別けて
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
574:デフォルトの名無しさん
19/02/03 05:19:27.02 U6zkwiYj.net
URLリンク(i.imgur.com)
型指定した変数に$nullを代入できないの?
575:デフォルトの名無しさん
19/02/03 10:45:58.13 p2YNM7CO.net
PS > [bool]""
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
576:デフォルトの名無しさん
19/02/03 11:34:45.18 gZVRTEN5.net
psのnullはnullじゃないってどこかで記事見たな
577:デフォルトの名無しさん
19/02/03 12:12:22.77 p2YNM7CO.net
PS > [string]$s -eq $null
False
PS > $s -eq $null
True
578:デフォルトの名無しさん
19/02/03 12:17:47.78 sBfvPdNi.net
型変換が定義されてるっぽいね
579:デフォルトの名無しさん
19/02/03 12:58:35.28 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:デフォルトの名無しさん
19/02/03 13:06:40.62 KnacfqZI.net
>>553
[string]::IsNullOrEmpt
581:y($s) NullならTrueが返るから if([string]::IsNullOrEmpty($s)){ "ぬるだよ"}
582:デフォルトの名無しさん
19/02/03 13:52:06.12 fFxNo4TL.net
>>559
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
URLリンク(docs.microsoft.com)
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
583:デフォルトの名無しさん
19/02/03 14:28:24.77 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:デフォルトの名無しさん
19/02/03 14:38:16.60 KnacfqZI.net
>>560
じゃこんな感じで
[string]$s=$null
if($s -eq [string]$null){"ぬるぬるだよ"}
585:デフォルトの名無しさん
19/02/03 14:53:04.55 KnacfqZI.net
可能であれば [string]$s=$null
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
586:デフォルトの名無しさん
19/02/03 14:53:36.20 KnacfqZI.net
何でフォントが変わったんだろ?
587:デフォルトの名無しさん
19/02/03 17:18:00.01 gLy6KBGU.net
stringやintはC#と同じくnull許容型ではないということだな
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
588:デフォルトの名無しさん
19/02/03 17:37:25.59 KnacfqZI.net
>>565
>stringやintはC#と同じくnull許容型ではないということだな
C#にstringのnull許容型ってないよね。
参照型には?を付けられないよね。
589:デフォルトの名無しさん
19/02/03 17:47:48.25 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:デフォルトの名無しさん
19/02/03 18:06:20.48 gLy6KBGU.net
ああすまん、[Nullable[string]] はダメだったか
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
591:デフォルトの名無しさん
19/02/03 20:22:36.62 wQ2AkwMN.net
>>566
C#8.0
592:デフォルトの名無しさん
19/02/14 06:50:42.41 EWDxMe0z.net
今まであまり気にしてなかったけどPesterってめちゃくちゃ便利なんじゃねえか
他言語で書いたプログラムの結合テストがスゴく書きやすい
593:デフォルトの名無しさん
19/02/14 09:06:58.55 k6/DH+7Z.net
>>570
いいもの教えてもらった。ありがとう。
594:デフォルトの名無しさん
19/02/14 22:51:37.48 8Eclc9m3.net
powershellの標準出力やエラー出力を、自分で作成したフォームのTextBoxにリダイレクトできないでしょうか?
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
595:デフォルトの名無しさん
19/02/14 23:42:44.14 CDGUBW/T.net
>>572
Powershellから.Net Frameworkを利用できることは解ってる?
596:デフォルトの名無しさん
19/02/15 20:32:06.22 VV8Lu8eJ.net
>>570
かんがえてみれば、VSCodeでC#なんかのひな形生成してるのって
PowerShellだね。同じことやってんだろな。
597:デフォルトの名無しさん
19/02/15 22:37:05.29 JVFXEcJ1.net
>>573
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける
598:方法が判りません。 という状態です
599:デフォルトの名無しさん
19/02/15 23:35:43.92 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:デフォルトの名無しさん
19/02/15 23:54:24.30 I8iEDAq8.net
sed、awkでいいな。
わざわざ100倍遅くする必要はない。
そして死ね。
601:デフォルトの名無しさん
19/02/15 23:55:34.76 Y7lTk+zi.net
>>572
C#単体ではどうやって実現したの?
602:デフォルトの名無しさん
19/02/16 12:36:04.55 td/FtdQ5.net
>>572
write-error とか write-warning とか write-output とか他にも
いろいろあるけど、そのこと言ってる?
603:デフォルトの名無しさん
19/02/17 16:02:03.17 jxo9FooS.net
powershellのソース読むとOut関係はそんなインターフェースが無いっぽいのが判ったので
全部%{[System.Console]::WriteLine($_)}に通すことにしました
604:デフォルトの名無しさん
19/02/19 01:05:58.24 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:デフォルトの名無しさん
19/02/19 11:18:15.41 jsQqlcaV.net
>>581
それ、しゃべるの?うちの環境では喋らなかった。
606:582
19/02/19 11:20:37.97 jsQqlcaV.net
>>581
喋ったわ、PCの設定の問題だった
607:デフォルトの名無しさん
19/02/19 14:42:09.09 cO5Algvr.net
URLリンク(dev.classmethod.jp)
> 4000以上のコマンドをエクスポートしているとPowerShell Galleryでの公開がリジェクトされてしまう
608:デフォルトの名無しさん
19/02/19 15:26:18.95 xz+0XgYy.net
似たようなのは、VSCodeでもあるね。
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな
609:デフォルトの名無しさん
19/02/20 14:59:45.45 MrRFAFnZ.net
v6.1.3 Release of PowerShell Core
URLリンク(github.com)
610:デフォルトの名無しさん
19/02/23 20:34:37.39 K6odEV0u.net
WindowsでしかPS使わないんだけど
早めにWindowsPS5.1から、PS6.1に移行した方がいい?
5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。
5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。
611:デフォルトの名無しさん
19/02/23 21:00:34.25 mBphVd+l.net
OSに標準搭載されるならともかく今は現状維持で良いんでない
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど
612:デフォルトの名無しさん
19/02/23 21:10:17.16 K6odEV0u.net
.net flamework呼び出すスクリプトが多くて
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかな
613:って。 PS自体の互換性は割と大丈夫っぽいんだけど。
614:デフォルトの名無しさん
19/02/23 21:26:32.03 U8qcMvKV.net
.NET Coreの範囲だったらいいけど、.NET Frameworkと比べるとすごく狭そうだからなあ
615:デフォルトの名無しさん
19/02/23 21:41:56.40 QCtZNWil.net
>>590
そんなにかわらんやろ
616:デフォルトの名無しさん
19/02/23 22:07:09.64 U8qcMvKV.net
でもCoreには、Windows formsとWPFが無いよ
617:デフォルトの名無しさん
19/02/23 22:20:27.28 U8qcMvKV.net
悪い、俺の知識が古かった
Core 3.0ではサポートされるんだな
618:デフォルトの名無しさん
19/02/23 22:42:29.56 3sqzQkTc.net
3.0はdnSpyとか既に導入しているアプリもちょくちょく見るね
SCDにできるのが野良配布の開発者には良さげ
619:デフォルトの名無しさん
19/02/24 05:23:00.00 EIdikGBL.net
>>587
ほぼ問題なく動いてるよ
620:デフォルトの名無しさん
19/02/24 15:29:42.14 aT0Lsbsv.net
>>595
ってことは、WindowsPS5.1で作っても
後々、6.xに移植するのはかなり容易ってことかな?
621:デフォルトの名無しさん
19/02/24 16:23:30.62 njB6xu8t.net
OSチームが謎のps推ししてるんだからそう動作が変わるとも思えない(全く信用はしてないが)
622:デフォルトの名無しさん
19/02/24 21:05:12.28 JgPRA9Sg.net
分からない所があるなら、まずは公式ドキュメントを読めよ
PowerShell Core 6.0 の重要な変更
URLリンク(docs.microsoft.com)
PowerShell Core 6.1 の新機能 - 破壊的変更
URLリンク(docs.microsoft.com)
623:デフォルトの名無しさん
19/02/24 21:25:21.67 njB6xu8t.net
encoding以外ほぼどうでもいい内容だな
624:デフォルトの名無しさん
19/02/25 06:14:15.76 WiC9+kGP.net
>>595
上で言っているエンコードと、サポートされていない画面系(Forms,WPF)以外は
特段の違いはないと思っていいと思う。
625:デフォルトの名無しさん
19/02/25 17:25:12.02 PrYchFgA.net
System.Windows.FormsみたいなWindows固有のGUI系はサポートされない。
今のところこれで困ってる。
Core3.0でサポートされるから、将来的には大丈夫なんだろうか。
626:誰かスクリプト教えて下さい、、、
19/02/26 08:07:40.70 OWiOsoxx.net
Windowsサーバのディスク断片化を検知するPowerShell
627:デフォルトの名無しさん
19/02/26 08:18:02.82 OWiOsoxx.net
誰か教えて下さい
断片化を検知するパワーシェル
一定の断片化でデフラグするパワーシェル
628:デフォルトの名無しさん
19/02/26 09:02:46.40 dRkGmNcH.net
>>603
しつこい
629:デフォルトの名無しさん
19/02/26 12:06:29.45 DYKZ90LU.net
>>603
とうとうこっちに来たのか…、要件をまとめられない限り、お前さんに仕事は無理、勿論回答も無理。丸投げなどもっての他、はよ仕事降りて病院行け
630:デフォルトの名無しさん
19/02/26 12:13:41.62 DYKZ90LU.net
こいつはWindows板のスレに2/12に登場し、周りから色々アドバイス貰っても、壊れたレコードのように「わかりません、教えてください」を繰り返し「もう来ませんさようなら」と言っては再び現れる
スレリンク(win板:373番)-
631:デフォルトの名無しさん
19/02/26 12:24:30.73 W0wJxBNy.net
>>606
なんだそりゃワロタwwwww
632:デフォルトの名無しさん
19/02/26 12:41:56.50 5MxkS3P7.net
断片化?
そんな難しいプログラムを、書けるわけないだろ
断片化を判定するようなコマンドなんて、無いだろ?
そういうのは、それ専門の会社が作っている、アプリを使う。
自作できるようなものじゃない
633:デフォルトの名無しさん
19/02/26 14:04:50.81 xyBbmsCy.net
Win10だと自動でデフラグするけどな。
634:デフォルトの名無しさん
19/02/26 14:29:41.52 n
635:1GswSmU.net
636:デフォルトの名無しさん
19/02/26 14:47:12.84 iHcW87Sg.net
>>603
Optimize-Volume
URLリンク(docs.microsoft.com)
後は勝手にしろ
637:デフォルトの名無しさん
19/02/26 19:16:16.83 OWiOsoxx.net
PS C:\Users\user> Optimize-Volume -DriveLetter C -Analyze -Verbose
Optimize-Volume : Access denied
Activity ID: {dcf03f92-726b-4adb-a208-4f620c23ef63}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -Analyze -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
638:デフォルトの名無しさん
19/02/26 19:17:18.94 OWiOsoxx.net
PS C:\Users\user> Optimize-Volume -DriveLetter C -ReTrim -Verbose
Optimize-Volume : Access denied
Activity ID: {fd9e0378-9517-49a9-874f-49fdbbafec31}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -ReTrim -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
639:デフォルトの名無しさん
19/02/26 19:41:44.80 4qbJwUeH.net
これも前ググれと言われてるだろ?
"PermissionDenied"だから原因は明確、PG言語を学ぶ以前の問題
640:デフォルトの名無しさん
19/02/26 20:11:15.34 OWiOsoxx.net
考えても分からないから寝ます
641:デフォルトの名無しさん
19/02/26 20:12:11.17 c/a6AL8h.net
>>606が警告してるのになんで相手するかな…
642:デフォルトの名無しさん
19/02/26 20:20:24.56 OWiOsoxx.net
分からなくてどうしようもないから質問しているのに
要するにスクリプトの構文の意味から分かっていない
643:デフォルトの名無しさん
19/02/26 20:43:08.57 SZnduWSg.net
いやPSのエラーは判り難いと思うね
そもそもコマンドライン置き換えたいなら日本語で出すべき
644:デフォルトの名無しさん
19/02/27 06:31:25.86 KDd7+K01.net
>>618
UNIX系のシェルに比べたら圧倒的にわかりやすいでしょ
645:デフォルトの名無しさん
19/02/27 07:06:27.77 KDd7+K01.net
>>617
みてると、まるきり一切調べようとせずに
出来上がったコーディング教えろという
感じですよね
しかも、PowerShellだけでなく、使用するユーティリティーに
ついてもどちらもまるきり分らないし調べないでの質問。
646:デフォルトの名無しさん
19/02/27 07:58:43.59 9BuZTaoV.net
やる気なく、能力も無いと漏らしてるクセに辞退もせず、数ヶ月居座ろうという腹です。
後任に苦労かけるだけ。正常な社会人の要件まとめ能力、調査能力すら失ってるのは精神病としか思えないため、はやく病院に行けと勧めてます
647:デフォルトの名無しさん
19/02/27 21:51:13.40 KyKRLtdw.net
数十GBのバイナリファイルを2GB毎に分割したいのですがpowershellで効率よい方法あったら教えてください
C#コード埋め込みでも可です
648:デフォルトの名無しさん
19/02/28 14:47:18.94 jurbU8zc.net
>>622
GNUの split コマンドでええんちゃう?
$ split -d -b 2G src dst.
こんな感じに分割される。
dst.01
dst.02
...
dst.99
結合は、
$ cat dst.* > dst
で終わり。
649:デフォルトの名無しさん
19/02/28 16:39:52.64 bHx/l7mF.net
>>622
URLリンク(stackoverflow.com)
に良さげなサンプル関数作ってくれてる奴居るよ
650:デフォルトの名無しさん
19/02/28 21:16:57.85 VwWxMUG7.net
ありがたごましうた
651:デフォルトの名無しさん
19/02/28 22:01:42.89 FWfO9yYH.net
>>620
なんか日本語ちょっとおかしいし、日本人じゃないのかもな
652:デフォルトの名無しさん
19/03/01 00:11:45.93 GEdFntp5.net
byeとか再�
653:ゥとか毎回言う外国人居る??
654:デフォルトの名無しさん
19/03/01 05:49:41.07 vonrkHCa.net
『Youは何しにPowerShellに』の撮影かな?
655:デフォルトの名無しさん
19/03/01 15:20:53.71 o7q1IFCw.net
powershellでチャットできないですか?
656:デフォルトの名無しさん
19/03/02 09:51:56.69 iF6Iyi4r.net
Manage chat rooms in Persistent Chat Server in Skype for Business Server 2015
URLリンク(docs.microsoft.com)
657:デフォルトの名無しさん
19/03/02 12:30:51.54 k1Nl7LaS.net
>>630
ありがとう。結局サーバー借りた方が楽ですね。
あとtermsとかも無料だし使えそう。
pcからpcってリモデス使用でできそうですね。
なかなか勉強になりますわ。
658:デフォルトの名無しさん
19/03/02 17:10:56.38 J6Ykyvz8.net
最近プログラムでわからないことググるとQiitaってサイトがやたら出てくるなと思ってたら
いつの間にか日本最大のプログラマーコミュニティになってたんだな
URLリンク(www.sbbit.jp)
659:デフォルトの名無しさん
19/03/21 21:13:15.16 Kce5LZBI.net
>>570
業務でps1ファイルを大量に使ってるような現場だと
今後標準のテストツールとして採用するところが増えそうだね
660:デフォルトの名無しさん
19/03/23 14:31:45.42 zukmvcaU.net
>>632
調べ物があってググると結構な確率で Qiita でヒットするけど、
「初心者がとりあえずやってみた系」「自分だけが理解できる作業メモ系」が
大部分で、間違ってることも少なくない。
(日本語の IT 系個人ブログの大多数がそうだとも言えるが)
なので、最近はググる際のキーワードは極力英語のみにして、
海外のコンテンツから優先して探すようにしてる。
661:デフォルトの名無しさん
19/03/23 15:05:59.87 AczqyFo9.net
俺は最初は日本語かな
日本語なら数秒で記事全体を眺めて概要と筆者の腕前を判定できる
そこからちゃんと読むか次のサイトを見るかの見極めが楽
英語だと仮に真実を語っててもそれが期待してた内容と違う場合にそれに気付くまで少し時間がかかる
そもそも英語でも間違ってる記事は少なくない
662:デフォルトの名無しさん
19/03/23 18:54:02.90 sans/OC7.net
Qiitaが云々っていうより、最近のgoogleで上位に来るのはgoogleのアフリエイトが
使われているものが優先されていて、特に意図的にアフリエイトだけが目的の
コピペサイトが上位に来るので検索エンジンとして役に立たなくなってきてる
まぁ、キーワードうまく絞れば見つかることも多いし、なれと面倒くささも手伝って
google日本語2ページ、google英語2ページ、bing、duckduckgoって感じで最近は
検索してるかな
663:デフォルトの名無しさん
19/03/23 18:57:03.05 sb/buXjf.net
euの脅しのお陰でchromeのデフォルト検索エンジンにduckduckgo選べるようになってるなw
664:デフォルトの名無しさん
19/03/23 20:27:48.56 9w+Nt8ul.net
>>634
第三者の情報を利用しているのに、
コミュニティなんだから、自分で精査すればいいだけ。
その手間もおしいとか?w
665:デフォルトの名無しさん
19/03/23 21:48:53.64 PK70pzz9.net
>>636
マップもぶっ壊れてるしgoogle落ち目だな
666:デフォルトの名無しさん
19/03/24 13:06:39.33 0UFOFyyE.net
euは一体
667:何様なんだ?
668:デフォルトの名無しさん
19/03/25 03:07:23.90 UZnjqkvB.net
ConvertFrom-Csv って、#で始まる行はスキップしてくれるのかな?
Get-Content .\list.txt -Encoding UTF8
url1 file1
#url2 file2
url3 file3
Get-Content .\list.txt -Encoding UTF8 | ConvertFrom-Csv -Delimiter " "
url1 file1
url3 file3
これって、ヘルプに見当たらないんだけど、何かのオプションの初期値で決まってるの?
# PSVersion 5.1.17763.316
URLリンク(docs.microsoft.com)
669:デフォルトの名無しさん
19/03/25 05:27:00.32 jHLU9O87.net
>>641
調べたらコメントとして処理してるわけでもなくてパイプライン入力だと#Typeとかいうよくわからない識別子の判定時に捨てられてるようだ
URLリンク(github.com)
なので一つの文字列として渡すと無視できる
$a = Get-Content .\list.txt -Encoding UTF8
$a -join "`n" | ConvertFrom-Csv -Delimiter " "
あとパイプラインでも改行が\nのみだと挙動が変わったりするけどバグなんじゃないのこれ
670:641
19/03/25 15:55:58.17 UZnjqkvB.net
>>642
おー、ありがとう(*^▽^*)
確かに Raw オプションで読み込むとスキップされなかった。
Get-Content .\list.txt -Encoding UTF8 -Raw | ConvertFrom-Csv -Delimiter " "
Export-CSVがデフォルトで出力する型情報を無視するようにっていう意図なのかな?
#TYPE System.Management.Automation.PSCustomObject
"#TYPE"始まりを無視しようとして "#"始まりを無視しちゃダメな気がするけど...(´・ω・`)
671:デフォルトの名無しさん
19/03/25 21:10:47.02 E8OEO5vB.net
powershell謹製の定型入出力処理って大抵どっかが糞だよな
C#でさくっとコード埋め込んだ方が速い
672:641
19/03/26 03:30:50.37 7kgkCpnE.net
>>643
あ、違うか。 >>642 の言う通り、#TYPEの判定時に捨てられちゃってるんだね。
#始まりで#TYPEだったら型情報を返すけど、そうじゃなかったらnullにしちゃってるから#始まりは(#TYPE以外)一律落ちちゃうってことか。
型情報以外の#はコメントだから落とそうという意図なのか、意図せずなのかはよくわかんないけど。
673:デフォルトの名無しさん
19/03/26 07:15:12.47 yaU1CQab.net
そういう場合はコメント扱いか将来の予約用として設計するケースが多いかな
癖のある部分がしっかりドキュメント化されてるといいんだけどね
674:デフォルトの名無しさん
19/03/27 00:37:50.64 Y2V1g2tl.net
ドキュメント化されてない糞言語機能なんて使えんわな
675:デフォルトの名無しさん
19/03/29 08:30:26.38 CjsaVqOU.net
General Availability of PowerShell Core 6.2
URLリンク(devblogs.microsoft.com)
676:デフォルトの名無しさん
19/03/29 12:30:11.33 N4KkVZCo.net
>>648
Microsoft Update で pwsh のアップデートが提供される、ってのはいつになるのかね
677:デフォルトの名無しさん
19/04/06 09:01:31.22 d6ZNnt3i.net
The Next Release of PowerShell - PowerShell 7
URLリンク(devblogs.microsoft.com)
678:デフォルトの名無しさん
19/04/06 10:23:45.60 DpBRf5ef.net
>>650
Windows PowerShellとPowerShell Coreが統合されるのか
679:デフォルトの名無しさん
19/04/06 18:19:21.57 VUIBvQ2c.net
.NET使えたりC#埋め込めるってだけでps自体には何も魅力を感じない
680:デフォルトの名無しさん
19/04/06 19:36:51.47 YyWMpA9h.net
なら、こんなスレ見るのやめたら?
681:デフォルトの名無しさん
19/04/07 07:15:21.58 WD9Sfyky.net
>>651
当初からの既定路線です
682:デフォルトの名無しさん
19/04/07 11:08:35.13 gun2agJ4.net
>>652
C#
683:スクリプトでも使ってろよ https://msdn.microsoft.com/ja-jp/magazine/mt614271.aspx
684:デフォルトの名無しさん
19/04/07 21:27:45.92 KO8gpU7g.net
良かった
これでわざわざコアを入れなくてもWindowsデフォルトのPSがメンテされるのかな?
本家であるWindowsデフォルトのPSを冷遇するMSに腹が立ってたんだ
685:デフォルトの名無しさん
19/04/08 14:15:31.94 flU0/mvo.net
オブジェクト指向(class、Add-Member)はあまり使わないのかな?
686:デフォルトの名無しさん
19/04/08 19:02:08.74 sE/xXtkV.net
それらを即ちオブジェクト指向ってまとめられると語弊があるけど
PowerShellでわざわざクラスをつくるメリットがあまりないんで使わないかな
C#側で作ってそれを利用するモジュールはよく見かける
PowerShellでつかうんならメソッド生やすよりパイプ入力に対応した関数を作ったほうがそれらしいから
687:デフォルトの名無しさん
19/04/08 21:12:55.80 BZrWgE85.net
Coreもデフォでインストールして欲しいんだが。
予定あるのかね。
688:デフォルトの名無しさん
19/04/08 21:33:20.59 GoiTTqTj.net
>>657
classはわかるけどオブジェクト指向とAdd-Memberになんの関係が?
689:デフォルトの名無しさん
19/04/08 23:22:18.02 zFFjnYPT.net
>>660
バージョン古いとAddMenberなしで振る舞い定義できんやん
690:デフォルトの名無しさん
19/04/09 06:55:48.14 WguqqX2K.net
>>661
ああ、そういう意味か
その時代は構造体代わりにAdd-Member使う程度だったな
class使えるようになってからは普通にオブジェクト指向って言うか他の言語と変わらん程度には使う
691:デフォルトの名無しさん
19/04/09 18:59:23.20 W7MAWXJx.net
標準搭載になる予定みたいね。
マイクロソフト、「PowerShell 7」を発表--5月にプレビュー版を公開へ
URLリンク(japan.zdnet.com)
692:デフォルトの名無しさん
19/04/12 09:48:45.13 FkqjpuHe.net
PowerShell Core 6.2 の新機能
URLリンク(docs.microsoft.com)
693:デフォルトの名無しさん
19/04/13 11:52:50.01 agvTDDTm.net
2019年人気&嫌われプログラミング言語ランキング- Stack Overflow
URLリンク(news.mynavi.jp)
「Bash/Shell/PowerShell」とひとくくりにされていることに激しく違和感
694:デフォルトの名無しさん
19/04/13 22:04:36.80 cCi57egk.net
PS単体だと空気だし
695:デフォルトの名無しさん
19/04/14 10:51:28.73 x8HUstxk.net
俺達のbashが空気だっていうのか!
696:デフォルトの名無しさん
19/04/18 08:38:59.87 19FvTfVH.net
リモートで各Windowsサーバのhostsファイルのメンテナンスをしたいのですが、いいサンプルなどはありませんでしょうか?
697:デフォルトの名無しさん
19/04/18 08:59:31.67 JGuMcupo.net
サンプルもクソもないだろ…hostsファイル更新は管理権限が必須、それだけの話
698:デフォルトの名無しさん
19/04/19 07:26:06.94 gmGy9oTC.net
ls -name | ruby -ne 'puts $_.center(20, "-")'
これは、Linux では問題ないけど、
Windows のPowerShell で実行すると、Ruby の文法エラーになる
これで、ダブルクォーテーションをエスケープすると、正常に動く。
\"-\"
どういう事?
" は、Rubyに渡る際に、何かに変換されてしまうのか?
エスケープしない書き方は、出来ますか?
699:670
19/04/19 07:41:35.36 gmGy9oTC.net
自己解決した!
ls -name | ruby -ne 'puts $_.center(20, "-")'
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた
%Q で、ダブルクォーテーションをエスケープできる。
\"-\"
ただし、Linux では囲んではいけない
700:デフォルトの名無しさん
19/04/19 08:20:04.25 pitW5bfl.net
朝からrubyガイジ登場か
701:デフォルトの名無しさん
19/04/19 23:14:36.12 XlmULy2Z.net
PS起
702:動が重すぎてとうとうクレームが来た
703:497
19/04/20 15:08:25.44 59Xq7wbj.net
Win10_1809 のマシンを新規セットアップ中に気がついたんだが、format-table で
多バイト文字が含まれるデータを表示しても表組みがズレなくなってるな。
URLリンク(i.imgur.com)
1809 の改良点かと思って別の 1607 も見てみたら、こちらでもズレなくなってるわ。
Windows Update でいつの間にか修正されてたらしい。良かった、良かった。
704:デフォルトの名無しさん
19/04/20 19:17:44.43 gHzm7Vzg.net
ps1を別のps1から実行したとき、呼び出したps1の標準出力を呼び出し元のps1で取得する方法ってありますか?
$LASTEXITCODEとか$?には当然入らないですよね
705:デフォルトの名無しさん
19/04/20 22:12:38.92 BGbzUadU.net
普通に取得できるけど
どうやって呼び出してんの?
706:デフォルトの名無しさん
19/04/20 22:27:38.00 gHzm7Vzg.net
A.ps1が呼び出されるps1としてB,ps1で
.\A.ps1
としてるだけなのですが、どう取得すれば良いのでしょう?
A.ps1の中身は例えばこんな感じの標準出力を吐き出してるだけ
Write-Host "test"
707:デフォルトの名無しさん
19/04/20 22:29:25.41 BGbzUadU.net
Write-Hostは画面に表示するだけ
出力するならWrite-Outputか、そもそもPowerShellでは勝手に出力されるから
"test"
とするだけでいい
708:デフォルトの名無しさん
19/04/20 22:35:29.57 gHzm7Vzg.net
標準出力を取得したいんですよね
A.ps1はいじれないので
709:デフォルトの名無しさん
19/04/20 22:46:00.75 BGbzUadU.net
だからWrite-Hostは標準出力じゃないって言ってるんだが
710:デフォルトの名無しさん
19/04/20 22:46:19.99 gHzm7Vzg.net
Write-Hostだと標準出力ですらなくて取得出来ないってことなのかしら?
Write-OutputだとB.ps1側で変数に格納する場合どうすれば?
711:デフォルトの名無しさん
19/04/20 22:51:17.48 BGbzUadU.net
標準出力されるなら普通に変数に入れればいいんで
$a = .\A.ps1
とすればいいよ
Write-Hostで出力しようとするスクリプト書いた奴が馬鹿なんだから変えるしかない
712:デフォルトの名無しさん
19/04/20 22:52:47.85 gHzm7Vzg.net
あー、普通にいけるね
Write-Hostで書かれてるから上手くいってなかったのか
ありがとうございました
713:デフォルトの名無しさん
19/04/21 11:07:01.93 vucDkGbp.net
>>677
$a = . .\A.ps1 6>&1
で取得できる、使ってるPowerShellのバージョンにもよるけど
714:デフォルトの名無しさん
19/04/21 15:12:23.52 DYRtR1tP.net
>>684
試したところ確かに取得出来ました
2>&1は試していたのですが、6>&1とは初めてみました
6がコンソールなのかな?
助かりました、ありがとうございます
715:デフォルトの名無しさん
19/04/21 19:32:10.42 RVTtJDMW.net
<Japan>
<Tokyo>
<Shinjuku Area="Nishi" Type="Kusai"/>
<Shinjuku Area="Kabuki" Type="Kitanai"/>
<Shinjuku Area="Okubo" Type="Ikoku"/>
</Tokyo>
</Japan>
こういうXMLの場合、Type="Kitanai"の子要素があるAreaを取得するにはどうすればいいの?
716:デフォルトの名無しさん
19/04/21 20:01:09.97 RCGv90ei.net
$xml = [xml]'<Japan>
<Tokyo>
<Shinjuku Area="Nishi" Type="Kusai"/>
<Shinjuku Area="Kabuki" Type="Kitanai"/>
<Shinjuku Area="Okubo" Type="Ikoku"/>
</Tokyo>
</Japan>'
$xml.Japan.Tokyo.Shinjuku |
Where-Object {$_.Type -eq 'Kitanai'} |
Foreach-Object {$_.Area}
とか?
717:デフォルトの名無しさん
19/04/21 20:31:15.57 jwyOkte1.net
>>686
powershell XPath
でググると色々情報が得られるでしょう
718:デフォルトの名無しさん
19/04/21 21:24:14.09 aMzGc0Ck.net
//Japan/Tokyo/Shinjuku[@Type='Kitanai']
こうかな?
まあ、検索して!
jQuery で、CSS Selector なら、
Japan > Tokyo > Shinjuku[Type="Kitanai"]
719:デフォルトの名無しさん
19/04/21 23:45:42.71 SQdQ4J0R.net
xml要素って順序木ってわけでもないから結局forで回すしかないんかね
720:689
19/04/22 13:01:10.79 A5Rqz7hQ.net
Ruby のNokogiri では、該当する要素数が0, 1, 複数で、異なる書き方をする。
例えば、該当する最初の1つの要素だけを欲しい場合は、at_css みたいに、at を付ける
jQuery では、それらのすべてで、配列を返すように統一されている
>>689
>//Japan/Tokyo/Shinjuku[@Type='Kitanai']
これは、XPath
721:デフォルトの名無しさん
19/04/22 15:02:53.67 3J9RCiSz.net
Select-Xml -xml file "/tokyo/shinjuku/[@type='kusai']"
>>691
またrubyガイジの独り言
722:デフォルトの名無しさん
19/04/22 17:18:16.81 KTQxmf3k.net
>>691
糞にまみれて死ね
723:デフォルトの名無しさん
19/05/07 04:02:54.07 aR2V8MII.net
Microsoft unveils Windows Terminal, a new command line app for Windows
URLリンク(www.theverge.com)
724:デフォルトの名無しさん
19/05/07 04:35:30.79 aR2V8MII.net
The new Windows Terminal
URLリンク(www.youtube.com)
725:デフォルトの名無しさん
19/05/07 09:29:44.47 uoqudFNG.net
>>694
素晴らしい!けど、20年前にやってほしかったな・・・。
726:デフォルトの名無しさん
19/05/07 12:36:36.82 p0H+1JvB.net
powershell7と.NET5で大分見通しが良くなるな
727:デフォルトの名無しさん
19/05/07 12:40:22.14 ZCZ3c4oa.net
ん?
大分とpowershellが関係あるのか?
728:デフォルトの名無しさん
19/05/07 12:47:57.26 uoqudFNG.net
>>698
大分県で開発者会議が予定されてる
729:デフォルトの名無しさん
19/05/07 12:59:48.38 Ok8kB8ur.net
漫才かw
730:デフォルトの名無しさん
19/05/07 19:37:55.51 T//WWibe.net
すべってるぞ。
おお痛!なんちゃって。
731:デフォルトの名無しさん
19/05/08 07:32:11.87 m3CbCT8F.net
Windows PowerShell ISE なら
$Error[0]. できちんとインテリセンスの候補が出てくるんだけど
PowerShell Core だと配列と勘違いしたままの候補を出してきます。
何か設定しないといけないのかそういう不具合なのかどちらでしょうか
732:デフォルトの名無しさん
19/05/08 22:29:50.31 VmC21Scz.net
ISEとコンソールは動作がかなり異なる
不具合と言ってよい
733:デフォルトの名無しさん
19/05/10 15:15:49.46 cKAyPz2z.net
PowerShell をしばらく使い込んでから久しぶりに bash とかの Shell script をいじると、ものすごく原始的に感じる。
原理主義者から罵声を浴びそうだけど。
734:デフォルトの名無しさん
19/05/10 15:21:30.53 j4eHz/16.net
bashは速い、コマンド短い、リナ鯖でデフォで動くのでpsとは使い道が違うかな
735:デフォルトの名無しさん
19/05/13 23:26:25.83 hyOZOxip.net
もっさもさのゴミ
736:デフォルトの名無しさん
19/05/14 21:36:16.08 Umyq8Om1.net
速度が重要な処理はスクリプトじゃなくてC言語で書けばいいんだよ
737:デフォルトの名無しさん
19/05/17 23:14:58.14 84kT7PGy.net
そもそもLinuxの場合はスクリプトないと使い物にならないという問題があるから。
738:デフォルトの名無しさん
19/05/18 09:08:41.54 CdqDIO7E.net
バイトストリームしかないくせにテキスト至上主義とか言ってるのはギャグなんだろうか
739:デフォルトの名無しさん
19/05/21 17:37:00.04 nuXn2mIW.net
sample.csv
---------
A,B,C,D,E
あ,いう,えおか,きくけこ,さしすせそ
Get-Content sample.csv | ConvertFrom-Csv | Format-Table
Get-Content sample.csv | ConvertFrom-Csv | Format-Table | Out-File sample.txt
コンソール画面ではレイアウトは正常なのに、Out-Fileすると半角全角違いの影響なのかレイアウトが崩れてしまう。
コンソール画面のとおりにテキスト出力する方法ありませんか?
740:デフォルトの名無しさん
19/05/21 18:05:39.20 1dtSHonA.net
コンソールは座標決め打ちできるからじゃねーの
外人がマルチバイトの事なんか考慮してるわけねーよ
741:デフォルトの名無しさん
19/05/21 18:23:53.35 1jccaJmM.net
帳票整形に異常なまでに神経を使うのは日本だけ
742:デフォルトの名無しさん
19/05/21 18:34:34.88 5U/ewrLb.net
Excelでも使っとけ
743:デフォルトの名無しさん
19/05/22 05:48:45.20 okzMK2Wd.net
>>712
しがない派遣な俺はそういうとこ気使わんとすぐ切られちまうのよ
744:デフォルトの名無しさん
19/05/22 07:11:49.10 62koVQSH.net
もうやだこの国
745:デフォルトの名無しさん
19/05/22 11:47:23.28 F+bTsM9Q.net
そもそも表作るためのソフトじゃないやろ
そういうソフトを組み込むのは簡単ちゅう代物
そこを生かさないとね
746:デフォルトの名無しさん
19/06/04 11:05:53.37 PR65wrLt.net
v6.1.4
URLリンク(github.com)
v6.2.1
URLリンク(github.com)
747:デフォルトの名無しさん
19/06/04 20:36:15.02 BylyrmWo.net
>>717
update-pwsh みたいなコマンドレットでアップデートできるようにならんかのう
748:デフォルトの名無しさん
19/06/04 21:01:40.96 bsTOoaq8.net
>>718
URLリンク(chocolatey.org)
749:デフォルトの名無しさん
19/06/05 15:44:43.15 FhACL5FX.net
chocolateyはpowershellモジュール版もあるけど通常版とは別管理になるのが惜しい
普通に通常版使っといた方が楽なのはわかるんだがコマンド脱却してコマンドレットだけにしたくなる
750:デフォルトの名無しさん
19/06/11 20:56:21.53 ziX2s9yQ.net
非推奨になったSend-MailMessageを使えって、ホントに正しい?
その知識、ホントに正しい? Windowsにまつわる都市伝説(137):
Windows Server標準のメール通知の機能不足は「Send-MailMessage」コマンドレットで解決!
URLリンク(www.atmarkit.co.jp)
751:デフォルトの名無しさん
19/06/11 21:01:49.48 6DBwhRzC.net
Powershellクラスタが騒いでたのはこれか
752:デフォルトの名無しさん
19/06/12 09:43:55.62 kgH69nQx.net
>>721
4年前の案件では Net.Mail.SmtpClient() を使って処理したな。理由は忘れた。
ところで、非推奨って話の情報源はどちら?探せなかった。
753:デフォルトの名無しさん
19/06/12 09:51:22.78 jw1ViI3v.net
>>723
そのSmtpClientが非推奨になってSend-MailMessageもSmtpClien使ってるから廃止しようってことらしい
URLリンク(github.com)
754:デフォルトの名無しさん
19/06/12 16:39:19.29 kgH69nQx.net
>>724
なるほど~、これからは MailKit が推奨ってことね。ありがとう。
で >>721 だけど、OS 標準機能だけでお手軽に、手っ取り早く SMTP AUTH や
SMTP over SSL でアラートメールを送信するだけなら「アリ」だと思うね。
要するに、「要件次第」。
755:デフォルトの名無しさん
19/06/13 12:15:28.51 p0mjXhjx.net
質問します
WindowsServer2012R2をWin10からリモートで使っています。
get-ExecutionPolicyは
RemoteSigned
スクリプトは例えばこんな感じです
test.ps1
$AA=Read-Host "入力"
PowerShellSEからtest.ps1は実行成功。
PowerShellを起動し./test..ps1で実行成功。
エクスプローラーからtest.ps1を右クリックからPowerShellで起動しようとすると
一瞬PowerShellが起動するが何も実行されず終了。
どの辺を修正すればよいかアドバイスをいただけますでしょうか
756:デフォルトの名無しさん
19/06/13 23:02:42.88 UGCqyxPq.net
>>726
リモート
757:デスクトップ試せないけど、とりあえずリモート先のイベントログ見たら? ローカルなら C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file ps1フルパス名 -Command if((Get-ExecutionPolicy ) -ne AllSigned) { Set-ExecutionPolicy -Scope Process Bypass } が実行されるけどね
758:デフォルトの名無しさん
19/06/16 19:28:37.13 sa5lhoiI.net
-Recurseって、ForechObjectのLazy評価と相性悪いのね。
759:デフォルトの名無しさん
19/06/18 06:16:59.21 3nOE2mBA.net
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
スレリンク(tech板)
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
760:デフォルトの名無しさん
19/06/19 19:17:38.02 TWs5Iott.net
VBAからPowerShell呼びたいのだがシェルコマンドとして実行するしかないのかね?
C#だとSystem.Management.Automationが使えるがCOMじゃないのだよねコレ
761:デフォルトの名無しさん
19/06/22 01:23:30.12 3TgqxsPN.net
>>730
VBA詳しくないから合ってるか知らないけど、ExecPowerShellコマンドは使えるんでない?
762:デフォルトの名無しさん
19/06/22 13:27:06.92 DZJ/hc7X.net
シェルコマンドの何が不満なのかさっぱり
763:デフォルトの名無しさん
19/06/24 23:49:52.33 +JWJYT3O.net
以下の Data.txt と Format.txt がある状態で<実行結果>を得るにはどのようなスクリプトを書けば良いのでしょうか?
Get-Contentを使うのだと思うのですが、改行の入れ方がよくわかりません。
<Data.txtの内容>
1111111111abcde2223333333
<Format.txtの内容>
10
5
3
7
<実行結果>
1111111111
abcde
222
3333333
764:デフォルトの名無しさん
19/06/25 00:37:21.55 crlTuLoY.net
ひどいレベルの低さだな、変数と代入と展開だけ。試行錯誤すれば5分で答えでるだろ。
765:デフォルトの名無しさん
19/06/25 10:30:56.60 oiRmP0Xi.net
教育問題は自分で考えて解かないと意味が無いよ
766:デフォルトの名無しさん
19/06/25 12:26:30.04 z/YFlONv.net
>>733
テストしてない
URLリンク(pastebin.com)
まずは何でもかんでもgetType()してみる癖をつける事から
767:デフォルトの名無しさん
19/06/25 17:28:39.42 NjnEAwoB.net
$s = "1111111111abcde2223333333"
10,5,3,7 | % { $n = 0 } { $s.Substring($n, $_); $n += $_ }
768:733
19/06/25 21:04:00.53 SYrWEeYW.net
>>736
わざわざありがとうございます!
ちょっと動かし方を確認してから動かしてみます。
>>737
そのままPower Shellウインドウに貼り付けたら>>733の<実行結果>を得ることができました。
私には高度ですが調べてみます。ありがとうございます。
>>734-735
Power Shellを始めたばかりなんで一旦ベテランの方の回答を見させてもらおうと考えてしまいまして…
とりあえず頂いた回答を全力で分析します。
769:デフォルトの名無しさん
19/06/28 2
770:2:35:51.43 ID:7dQVY7x3.net
771:デフォルトの名無しさん
19/06/29 00:07:50.83 rLR7TtJ0.net
Pastebinは相当前からあったけど・・・
772:デフォルトの名無しさん
19/06/29 06:29:56.03 G7+AZKsr.net
Qiita、GitHub、teratailでもpastebinモジュールが中で使われてるよね、でもpastebin.comは単体で便利
773:デフォルトの名無しさん
19/07/01 12:57:19.36 fiA0UtsU.net
>>739
ただのGistのパクリなんだが。。
774:デフォルトの名無しさん
19/07/01 14:19:02.73 O1pDJEnN.net
Ruby で作った
str = "1111111111abcde2223333333"
nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
10
5
3
7
EOT
#=> [10, 5, 3, 7]
i = 0
nums.each do |num|
puts str[ i, num ] # 位置i から、num個の文字列
i += num
end
775:デフォルトの名無しさん
19/07/01 14:41:57.11 YzHO/9WR.net
>>743
どうでもいい
776:デフォルトの名無しさん
19/07/01 16:21:19.60 MoEwNeEz.net
>>743
死ね
777:デフォルトの名無しさん
19/07/02 21:03:55.04 IFMrsVTJ.net
教えてくださいエロい方
初心者なりに頑張ってwpfでxmlデータをツリー表示させたのですが、
テンプレートで定義したボタンにクリックイベントをつける方法がわかりません・・
①見た目: xaml
②データテンプレート: TreeViewのhierarchicalDataTemplate(xaml)
③データソース: xmlをxmlDataProviderに読み込んで②にバインド (起動時コード)
アドバイスをお願いします。
778:デフォルトの名無しさん
19/07/02 21:36:19.03 uMGeffjZ.net
jQuery なら、後から追加した要素にも、on で、複数のイベントを付けられる
$( 'CSS セレクター' ).on( {
'click': function() { 処理 },
'mouseenter': function() { 処理 }
} );
779:デフォルトの名無しさん
19/07/02 22:05:43.99 IFMrsVTJ.net
>>747
むー・・・ あと3日WPFで頑張らさせていただきます!
もしそうなったときはHTMLベースのUIに変換するコード書いてjsで制御しようと思います
780:747
19/07/02 22:30:07.10 uMGeffjZ.net
WPF の概要
URLリンク(docs.microsoft.com)
この辺の説明は?
781:デフォルトの名無しさん
19/07/02 23:46:29.77 TfK25CW5.net
>>747
後から追加した要素にも、という話ならこっちじゃないのか
$('セレクター1').on('click', 'セレクター2', function() { 処理 });
782:デフォルトの名無しさん
19/07/03 00:05:26.64 CCtfRBKO.net
ここが優しい世界か・・・
煮詰まってたけど癒やされたよおお
>>747
xamlで書いた表示要素とコード上のオブジェクトを紐付けるのがx:classらしいんですが、
powershellはx:classをパースできなくて落ちてしまいます(T T)
いまxmlDataProviderの継承クラスをつくって、プロパティにICommandのオブジェクト設定する方法やってみようとしています
トライアンドエラーアンド討ち死にを繰り返してます
783:デフォルトの名無しさん
19/07/03 01:47:49.94 CCtfRBKO.net
ふぁああ・・・
だめだぁ ピクリともしない
784:デフォルトの名無しさん
19/07/03 12:43:03.67 aBGmP+w2.net
癒やされたよおお
とか、
ふぁああ・・・
とか、顔文字とか気持ち悪い
キャラ作んなくていいから普通に質問して
785:746
19/07/04 20:57:41.18 BTJ6kVqu.net
解決しました!
①xmlDataProvider継承したViewModelクラスを作る
786: ②RoutedCommand型のオブジェクトを作成して、ViewModelの公開プロパティにする ③TreeView.DataContextに①を設定する ④イベントハンドラを $doSomething = { }の形で作る ⑤CommandBindingオブジェクト作成して②と④を紐付ける ⑥TreeView.CommandBindingsに⑤を追加する ⑦XamlのDataTemplateで定義したButtonのCommand属性: RelativeSourceとPathを併用してTreeView.DataContext.②を直接指定する CommandPerameter={Binding} これでボタンを押すと④が呼ばれて、commandParameterで渡した引数が $_.parameter に入ってきます
787:デフォルトの名無しさん
19/07/17 08:59:27.68 9NhZdbVu.net
v6.1.5
URLリンク(github.com)
v6.2.2
URLリンク(github.com)
788:デフォルトの名無しさん
19/07/17 10:10:22.98 41FBiYn6.net
>>755
6系の長期サポート版が欲しいな
789:デフォルトの名無しさん
19/07/25 18:27:45.21 zfVWvI3/.net
shellからjarを起動したいのですがjarの引数に変数を入れると落ちてしまいます
直接書くと問題なく動くのですがなぜでしょうか?
790:デフォルトの名無しさん
19/08/12 02:48:57.74 kdU0FwTT.net
PowerShellのGet-HelpコマンドでGetType()についてのヘルプを見るにはどうすればいいのでしょう。
Get-Help -Functionality GetTypeとか
Get-Help -Component GetTypeとか
色々やってみたのですが表示してくれません…。
791:デフォルトの名無しさん
19/08/12 03:14:57.78 k4SaZ4yK.net
GeTtype()は.NETのオブジェクトのメソッドだからGet-Helpじゃ見れんやろ
Powershellの与り知らんとこだし
792:デフォルトの名無しさん
19/08/12 06:13:32.21 kdU0FwTT.net
>>759
そうなんですね。
ありがとうございます。
793:デフォルトの名無しさん
19/08/15 08:40:37.86 HmFqQFvo.net
Windows以外でもGUI使えるのか
Out-GridView Returns!
URLリンク(devblogs.microsoft.com)
794:デフォルトの名無しさん
19/08/15 19:53:03.53 1FEo3MBg.net
俺の大好きなogv!!
795:デフォルトの名無しさん
19/08/17 18:24:44.34 2EecLECc.net
ここの人がPowershell、vbs、C#に精通していると思い質問させていただきます。
C#もまだ覚え中ですが、vbsをC#に移行していました。
最近Powershellを知って、
C#より分かりづらいですが、同じことがC#より短く書けます。
shellで.NETも使えてほぼ何でもできるPowershellに可能性を感じたのですが、
全然盛り上がっていませんw
Powershellをどんどん使っていくか、
C#を覚えていくか、将来性も含めどちらがいいでしょうか?
796:デフォルトの名無しさん
19/08/17 18:58:18.44 Q0D8gSGr.net
そんなの状況次第だよ
大雑把に分けるなら
アプリケーションを作りたいならC#
システム管理ツールを作りたいならPowerShell
797:デフォルトの名無しさん
19/08/17 19:03:01.90 CK+x7f61.net
用途が違うからC#とは並べるものじゃない
windowsがメインならどっちもできるようになった方がいい
複雑なGUIをPowerShellで頑張って作ってる人見るとごくろうさまですとしか思えんし
PowerShellでさくっと書けるCUIをわざわざVisualStudio入れてC#で書いてビルドしてバイナリ配置して
ソースも別の場所でずっと管理してんの見るとアホだなあと思う
修正の度にソース探してまたビルドしてバイナリ配置して・・・ってなるんだし
あとPowershellのスクリプトの中でC#のコードを書いて使うこともできる
これがまた強力だからどっちも覚えて損はない
(速度はC#が圧倒的に速いから速度的にネックになってる部分だけC#でかくということができる)
将来性についてどっちもMSが力入れてるから気にすることはない
vbsに関して言えば所詮道具だから現状やりたいことができ�
798:トいるんならわざわざ移行する必要もない 今んとこMSがWSHを切るって話もないし
799:デフォルトの名無しさん
19/08/17 19:11:51.36 Ic+b/2I0.net
Linux 覚えたほうが良さそうw
800:デフォルトの名無しさん
19/08/17 20:01:01.84 2EecLECc.net
>>764-765
ありがとうございます
C#はGUIやDLLなどもできるので覚えていきたいです。
最近知ったPowerShellが何でもGUIもできるし、
短く書けておもしろいのでPowerShellに夢中です。
.NETや.csを読み込んで使えたり、
C#も一緒に覚えていけそうです。
用途で併用していきます。
>>766
Linuxもやってますが、PowerShellも入れられるので、
PowerShellが標準になったらうれしいですw
801:デフォルトの名無しさん
19/08/17 20:37:46.41 fWrg11mT.net
役割違うからどっちも必要だと思う
Windows技術者じゃなく.NET技術者を目指して勉強して欲しい
802:デフォルトの名無しさん
19/08/18 00:06:00.19 26pp6bRY.net
PowerShell の1つ上は、Ruby。
より複雑な、ファイル操作・CSV・テキスト処理・シェルスクリプトなど
例えば、1-liner で、
Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'
Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
ただし、Windows では、" をエスケープする必要がある。
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた
%, %Q で、ダブルクォーテーションをエスケープできる。\ と同じ。
\"-\"
まあ、VBScript のスレ主のピッコロ大魔王のように、
PS で、5ch をスクレイピングするような猛者もいるけど、Ruby の方が可読性が高い
803:デフォルトの名無しさん
19/08/18 00:15:38.74 4oEGaRbg.net
>>769
お前は出てこなくていい
804:デフォルトの名無しさん
19/08/18 08:18:26.56 vD0MLvXn.net
>>769
将来性のないプログラミング言語5選として「Ruby」が挙がり話題に
URLリンク(it.srad.jp)
805:デフォルトの名無しさん
19/08/18 22:05:00.38 aNJOLvna.net
WindowsでRuby使うとかギャグだろ
806:デフォルトの名無しさん
19/08/19 23:45:41.47 6VXOyYrl.net
RubyがギャグならPythonは?
807:デフォルトの名無しさん
19/08/20 00:23:10.44 S2+8M2EA.net
PythonはAIプログラミングで一躍有名になったね
808:デフォルトの名無しさん
19/08/20 08:18:30.85 trDWBWGh.net
>>773
Visual Studio が対応してるし、.NET Framework 上で動く IronPython なんてのがあるくらいだから「アリ」だろうな。
809:デフォルトの名無しさん
19/08/20 15:46:07.95 OusQ3pFE.net
Windows版のPythonは結構ちゃんと動くし、Python製のGUIアプリもDropboxとかたまにある
WindowsのRubyは非推奨の流れで、WSL使うか仮想環境のLinux使うか
810:デフォルトの名無しさん
19/08/20 21:28:48.24 n/ZUSiaV.net
昔、七行プログラミングってあったけど、
PowerShellなら7行ですごいことできるよね
811:デフォルトの名無しさん
19/08/24 01:22:08.40 kPbBL5c4.net
csvファイル内の特定セル?(エクセルでいうところのcells(1,2)みたいな)を変数に格納して、
そのファイルのファイル名にしたいのですが、こういったことはできますか?
812:778
19/08/24 01:39:25.56 kPbBL5c4.net
できました。import-csvから要素の取り出しをするだけでした。
813:デフォルトの名無しさん
19/08/26 04:00:34.51 yeIOnWDr.net
パイプラインにオブジェクトが流れるPowerShellライクな新シェル
Nu Shell
URLリンク(github.com)
814:デフォルトの名無しさん
19/08/26 07:51:25.55 LOkM9Twk.net
コマンドプロンプトで、where notepad
と入力すると、メモ帳のパスが、2つ表示されるが、
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
PowerShell(PS)で、Get-Command notepad
と入力すると、上の1つだけが表示される。
つまり、PSと、whereコマンドの挙動が異なる!
コマンドプロンプトで、where where と入力すると、
C:\Windows\System32\where.exe
そこで、PSで、where.exe notepad
と入力すると、whereコマンドを呼び出せたので、2つ表示された
815:デフォルトの名無しさん
19/08/26 08:31:04.34 sAEBXghq.net
>>781
Get-Command -CommandType Application notepad は試した
816:?
817:デフォルトの名無しさん
19/08/26 14:58:24.63 R1/Rmq9c.net
>>781
何を主張したいのかが良く分からんレスだな。
困ってるから何とかしてくれ、とでも言いたいのか?
Get-Command notepad
で
C:\Windows\System32\notepad.exe
が表示されたは、$env:path で一番最初に見つかったものを表示してるだけだ。
試しに $env:path を変更して、C:\Windows\System32 よりも C:\Windows を先にしてみろ。
$env:path を変更したら、念のため Powershell.exe を開きなおすのを忘れんなよ。
あるいは、notepad.exe が二か所にあることが疑問/不満なのか?歴史的な経緯だ。
実態は c:\Windows\WinSxS\ 以下にあるもので、C:\Windows\System32 と C:\Windows に
あるものはハードリンクだ。
三つとも同じハードリンクなので WinSxS\ 以下のものを特別に「実態」と表現するのは本来正しくないが、
WindowsUpdate の仕組み上、便宜的に「実態」と呼んでも差し支えないだろう。
818:デフォルトの名無しさん
19/08/26 15:00:01.45 R1/Rmq9c.net
>>782
Get-Command notepad -all
でも良いんじゃないかな
819:デフォルトの名無しさん
19/08/26 15:10:26.74 JMmOsJb3.net
Why are there two copies of Notepad?
URLリンク(devblogs.microsoft.com)
820:デフォルトの名無しさん
19/08/26 15:27:38.53 j8vvMRg5.net
>>783
独特の文体からして、この板で有名なRuby君かと思われる。話の流れと無関係にRuby推ししてきたり、頓珍漢な知識披露(間違い多数)をしてきたりする奴だから、相手するだけ無駄だよ。
おそらく、ぼくこんなこと気づいたんだよ!って嬉しくて書かずにいられなかっただけだと思う。
821:
19/08/26 19:23:25.35 jPNtTojU.net
>>786
>話の流れと無関係にRuby推ししてきたり
ステキじゃないですか、この前も C/C++ スレに乱入していましたね、これからも頑張って ruby を喧伝してほしいです!
822:デフォルトの名無しさん
19/08/27 01:45:40.61 OLaosybt.net
DOSメインでPSでしかできない部分だけPSにしてるのをやめて、PS一本化を増やそうかと思い立ったが
そういやDOSからキックしないと動かないのであった
というわけでやはりDOSメイン
823:デフォルトの名無しさん
19/08/27 01:49:02.45 OLaosybt.net
なんでそんな仕様にしたんだろうね
かといってPS直でやりたいというより、DOSを拡張して欲しかった
824:デフォルトの名無しさん
19/08/27 02:31:00.22 AUeyxvTx.net
まだDOSなんて使ってんの
825:デフォルトの名無しさん
19/08/27 17:41:47.14 DT/yO98c.net
なんでps1てへんてこな拡張子なの
826:デフォルトの名無しさん
19/08/27 18:06:41.10 JlFv53u2.net
どっかのゲーム機みたいにPowerShell 2, PowerShell 3, …って作るんじゃね?w
827:デフォルトの名無しさん
19/08/27 21:28:53.53 2r3hz+dJ.net
>>791
PowerShell の ps1 ファイルは 何故 1なのか
URLリンク(tech.guitarrapc.com)
828:デフォルトの名無しさん
19/08/28 02:40:35.65 tqyYzyWN.net
考え無しに作った結果か・・・
829:デフォルトの名無しさん
19/08/29 03:16:31.66 RYMiansx.net
基本的なことが分かってない気がするのだけど教えてください
get-date, get-childitem, get-location といったコマンドレットの代わりに
get 無しで date, childitem, location と入力しても同じ結果になる
これら get 無しコマンドは get 付きのエイリアスなのか? と最初は思ったのだけど
そんなエイリアスはないと言われる
これらの get 無しコマンド(?) はどういう立ち位置なんでそ?
ちなみに例えば location.bat とかを PATH の通った場所に置いておくと
そっちが実行されるので、これらは�
830:Tーチパスより優先度が低いようです
831:デフォルトの名無しさん
19/08/29 04:05:52.42 TR1/uwdi.net
>>795
基本的なことはここにまとまってる
URLリンク(docs.microsoft.com)
1. Alias
2. Function
3. Cmdlet
4. Native Windows commands
の順に探す
ただこの文書にはGetを省略した場合について書いてない
以下のコマンドを実行すればだいたいわかる
Trace-Command CommandDiscovery { date } -PSHost
すると上記の1~4の順に探してもコマンドが見つからなかった場合、以下のようなデバッグ出力が見つかる
>The command [date] was not found, trying again with get-prepended
つまり1~4でコマンドが見つからなかった場合は、頭にGetを付加してもう一回1~4を探すよってこと
832:デフォルトの名無しさん
19/08/29 04:22:51.28 RYMiansx.net
>>796
明快な回答ありがとうございます
> Trace-Command CommandDiscovery { date } -PSHost
これ勉強になりました
833:デフォルトの名無しさん
19/08/29 19:25:49.72 +UUfxV7s.net
初心者で右も左もわからない状況で申し訳無いのですが、
明示的に設定してる共有ディレクトリとアクセス権を一括で出力ってできたりするんですかね?
Get-wmiobject -class win32_share
だとアクセス権までは出力されなかったんで...
詳しい方教えて頂きたいです。
834:デフォルトの名無しさん
19/08/30 00:19:55.56 kVpvpBih.net
「powershell アクセス権限 確認」で検索!
こんな感じ?
ls | Get-ACL
835:デフォルトの名無しさん
19/08/30 10:55:43.01 uzgqDeg8.net
>>799
ありがとうございます。
検索してみます。
PowerShellはほんとに難しいです...
836:デフォルトの名無しさん
19/09/06 17:24:06.26 LE0BBPZ5.net
ふぁあああ・・・・
解決してよかったよぉお
ハロー優しい世界、だねええええ^^
837:デフォルトの名無しさん
19/09/07 01:23:05.71 SOW3zbb3.net
Set-ACLは使うな
838:デフォルトの名無しさん
19/09/07 06:28:56.33 jlJXcZnh.net
>>802
替わりに何を使ったら良いですか?
839:デフォルトの名無しさん
19/09/07 06:44:55.31 jb/JoUUS.net
>>802
why?
840:デフォルトの名無しさん
19/09/07 10:39:33.44 sSufJvsQ.net
>>804
俺は >>802 ではないが、Set-Acl は使いづらい。
そもそもの理由は Windows の ACL (ACE) が複雑だからなのだが、対象にセットする ACL オブジェクトを作るのが分かりづらい。
例:All Users のスタートメニューのアクセス権を変更し、一般ユーザにも書き換えられるようにする場合(既存の権限に追加)
URLリンク(pastebin.com)
他のフォルダなどから ACL オブジェクトをコピーし、それをそのままターゲットに適用するだけなら簡単なのだけど。
>>803
「何が何でもすべて PS でやる!」 というポリシーでないのなら、cscls.exe、icacls.exe のほうがお手軽。
841:デフォルトの名無しさん
19/09/07 10:48:02.60 jlJXcZnh.net
>>802に答えて欲しいな
842:デフォルトの名無しさん
19/09/07 11:08:11.46 sSufJvsQ.net
>>806
ごめんね
843:デフォルトの名無しさん
19/09/07 15:10:43.76 SOW3zbb3.net
>>802だけどSet-ACLは所有権絡みで問題抱えてる
下サイトで説明されてる
URLリンク(qiita.com)
844:デフォルトの名無しさん
19/09/07 15:12:47.14 SOW3zbb3.net
あ、>>803への答えはicaclsコマンド使えね
powershellは変な仕様あるから割と警戒した方がいい
845:デフォルトの名無しさん
19/09/08 20:21:13.64 d6DJW1MN.net
F:/ に SDカードがマウント�
846:ウれているのを アンマウントするコマンドは何ですか?
847:デフォルトの名無しさん
19/09/08 21:55:23.61 D+CIKcq7.net
>>810
(New-Object -comObject Shell.Application).Namespace(17).ParseName('F:').Verbs()|?{$_.Name -match '取り出し'}|%{$_.Doit()}
848:デフォルトの名無しさん
19/09/09 16:38:34.04 8EKyQA8Q.net
>>811
thanks
849:デフォルトの名無しさん
19/09/10 21:38:04.40 Eo4YqZPr.net
■C:\hoge.txtの内容
aaa
bbb
bbb
bbb
ccc
ccc
ccc
ccc
ccc
↑のようなテキストファイルがある場合に、↓の結果(タブ区切り)を得るにはどうすれば良いのでしょうか?
aaa 1
bbb 3
ccc 5
850:デフォルトの名無しさん
19/09/10 22:19:37.38 L5QX1JAH.net
>>813
Group-Object
851:デフォルトの名無しさん
19/09/10 22:36:34.85 hrOpSOVs.net
頼むから順不同なのかそうじゃないのか
書いてから質問してくれ
852:デフォルトの名無しさん
19/09/10 23:28:19.24 Eo4YqZPr.net
>>814
gc C:\hoge.txt | Group-Object
などとやってみたのですがうまく動かず…
>>815
ソート済みです><
853:デフォルトの名無しさん
19/09/10 23:30:43.39 L5QX1JAH.net
>>816
上手く動かずじゃよくわからんからどういう出力なのか書いて
エラーになるの?
854:デフォルトの名無しさん
19/09/11 00:05:23.05 TMos3buL.net
あータブ区切りの文字列にしたいんか
gc hoge.txt | group | foreach { $_.name,$_.count -join "`t" }
855:816
19/09/12 00:24:07.29 W/V8jwbc.net
>>818
★★★★★
ありがとうございます!
実はまだ試せてないのですが、期待を込めて★5つです!(^_^)
856:デフォルトの名無しさん
19/09/12 10:44:16.82 W/V8jwbc.net
>>805
icaclsってps1ファイル内でも普通に呼出せるのね
ps1→bat→icaclsみたいに呼出さなきゃならないのかと思った
コマンドというより単なるexeってことか
857:デフォルトの名無しさん
19/09/12 13:07:06.37 9SxJRVV0.net
これからは>>819みたいに★で評価しよう
★☆☆☆☆ クソレス
★★★★★ 問題解消
858:デフォルトの名無しさん
19/09/12 14:46:18.96 pQlsfVOK.net
ふーむ、アホがアホに同調するアホな好例だな、アホすぎてオレにはよく分らんのだが、アホだということは分かる
アホA「ありがとうございます! まだ試していないけど! ★5つです!(^_^)」
アホB「・・これは良い! これからは★で評価しよう!」
ボク「・・いやいや、まだ試してもいないのだから評価もくそもねーだろ、★2~3の定義もねーし、こいつらアホの極みだな」
859:デフォルトの名無しさん
19/09/12 14:53:12.75 j3ZoG8EK.net
>>822
★
860:デフォルトの名無しさん
19/09/12 17:51:47.62 TUHPbFV0.net
>>822
これが噂のヤラセレビューってやつか?
861:デフォルトの名無しさん
19/09/12 18:29:54.11 5CMOpd/7.net
>>822
☆
862:デフォルトの名無しさん
19/09/12 19:50:41.33 igJ/H+nC.net
icaclsとか括弧を多用するコマンドはエスケープうざいですね
ヒアドキュメントみたいな感じでスマートに書けませんか
863:デフォルトの名無しさん
19/09/13 20:13:01.19 Vx47yrR/.net
PowerShellで非同期処理って酷く書きづらいと思ってるんだが、こんなもんなんか?
変数を渡すのにめっちゃ苦労したんだが…
864:デフォルトの名無しさん
19/09/13 21:35:11.86 3ZdspPUD.net
具体的にはどんなコードを書いたの?
865:デフォルトの名無しさん
19/09/13 21:49:24.82 Vx47yrR/.net
あまりにもニッチな製品の負荷テスト用スクリプトだから具体的には言えないが、平たく言えば自作関数とWin標準コマンドを引数変えながら並列投入するだけ
bashと比べちゃ駄目なんだろうが、スクリプト書いててキレそうになったのは久
866:しぶりだわ
867:デフォルトの名無しさん
19/09/13 23:05:20.75 ha69B7nJ.net
runspaceでやってるのかjobでやってるのか
868:デフォルトの名無しさん
19/09/14 01:25:26.61 XbAlqDVd.net
そんな苦労するもんだっけか
869:デフォルトの名無しさん
19/09/14 01:53:38.89 ogAZWftq.net
runspaceの中で親スコープで宣言した関数を(特に書き換えずに)呼ぼうとするとややこしい
ちょっとggって出てくる方法だと面倒
URLリンク(devblogs.microsoft.com)
解決策:まとめて文字列にして渡す
# runspaceで実行したいスクリプトブロック
$cmd = {
param($func_parent)
$func_current = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(子)スコープの関数リスト
compare-object $func_current $func_parent | % inputobject | Invoke-Expression # 親スコープで宣言した関数のみを定義する
<# 実行したい処理 #>
}
$func = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(親)スコープの関数リスト
$ps = [PowerShell]::Create()
$ps.AddScript($cmd).AddArgument($func) | Out-Null
$result = $ps.BeginInvoke()
$ps.EndInvoke()
$ps.Dispose()
}
870:デフォルトの名無しさん
19/09/14 01:55:28.35 ogAZWftq.net
$ps.EndInvoke($result)
だわ