1 名前:デフォルトの名無しさん mailto:sage [2022/02/13(日) 18:36:12.07 ID:LaQ04ZoE.net] 前スレ PowerShell -Part 5 https://mevius.5ch.net/test/read.cgi/tech/1615994992/ 次スレは>>980 が立ててね!!
577 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 21:03:35.79 ID:PDKGWlWe.net] そりゃすまんな
578 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 21:18:28.66 ID:5ly2Ski6.net] PSv7だとmeasureに集計プロパティ使えるのか。 PSv5なので試せないのが残念。 速度の話が出てたからmeasureの速度がどんなもんか>>558 で計ってみたら 自環境だと普通の実装(最高水位線と足し算)より7〜8倍くらい遅いわ。 まあ、標準コマンドレットのよくある結果だな…。
579 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 21:06:47.50 ID:OAAH5wr1.net] タスクマネージャの詳細タブからaudiodg.exeの関係の設定を変更する操作をスクリプトで書けますか?
580 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 21:46:11.19 ID:NUiBz/8K.net] Get-Process "audiodg" | %{ $_.ProcessorAffinity = $コア数 } $コア数は2のn乗で表したコア数の数 たとえば若い番号の3コアだけ割り当てたい場合は 0xf
581 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 21:47:29.47 ID:NUiBz/8K.net] 上の3は4の間違い もちろんタスクマネージャーをいじろうと思えばできるけど面倒
582 名前:デフォルトの名無しさん mailto:sage [2022/09/30(金) 01:54:30.65 ID:Ls0wbInl.net] >>570 わからん・・・ 2の4乗=16 != 0xf ? 4=2の2乗 だと 0x2 ? コア数というよりフラグ?マスク?ってこと?
583 名前:デフォルトの名無しさん mailto:sage [2022/09/30(金) 05:17:13.01 ID:oHn8O8ll.net] マスクだね https://learn.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.processoraffinity
584 名前:デフォルトの名無しさん mailto:sage [2022/09/30(金) 09:21:08.41 ID:ZYrZXJKF.net] 皆さんありがとうございます!
585 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 09:21:34.51 ID:fKpjF07r.net] comobjectでofficeを操作してるとき、 $xxx.Count() が 2なのに $xxx[0] 範囲外 $xxx[1] 範囲内 $xxx[2] 範囲内 $xxx[3] 範囲外 みたいなアクセスになることがあるんやが これはどう理解すればええんや?
586 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 09:37:52.98 ID:jAJ0SKjr.net] Item使わないからじゃね
587 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 12:19:33.83 ID:K5+OjW4X.net] Excelってたしか値も書式もないセルはオブジェクト自体が存在しない扱いになるので、インデックスが0から始まるとは限らなかったはず データが取れる前提で処理するとうまく行かない
588 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 23:20:47.42 ID:9ETwK7p6.net] >>576 これかも 明日試してみるわ!サンクス! >>577 これは怖いな 今回は関係なさそうだけど、心に留めておくわ、サンクス
589 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 16:19:30.34 ID:3yQnaOmT.net] Excelは1オリジンやで
590 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 21:25:18.64 ID:HyYadl7b.net] 誰かmtkclient教えてクレメンス
591 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 12:43:06.89 ID:xY1K1bhL.net] >>566 >>555 からの流れ、色んな書き方があるんだなー、と非常に為になった
592 名前:デフォルトの名無しさん [2022/11/06(日) 19:05:17.89 ID:vSW2pkDA.net] $a = "abc::de/f/ghi/123jk" $b = $a.TrimEnd("/") をしても$bの出力が「abc::de/f/ghi/」にならないのですが、どこが間違っているのでしょうか?
593 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:19:37.21 ID:NZll9bPy.net] >>582 同じ勘違いしたことある 指定文字「を」末尾からtrimするのがTrimEnd $a.TrimEnd("jk123") Trimメソッドは正規表現使えないからreplaceステートメントをつかう $a -replace "\w*$",''
594 名前:デフォルトの名無しさん [2022/11/06(日) 23:51:09.18 ID:vSW2pkDA.net] >>583 ありがとうございます! 今回はreplaceを使っていこうと思います
595 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 20:57:05.64 ID:bawORDDu.net] PowerShell 7.3 General Availability https://devblogs.microsoft.com/powershell/powershell-7-3-general-availability/ What's New in PowerShell 7.3 https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-73
596 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 14:51:35.07 ID:p3H1JcgM.net] >>585 日本語訳 PowerShell 7.3 の新機能 https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-73
597 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 15:22:51.03 ID:c/ILT9OL.net] 11でもPowershell起動すると新しいのお試ししろとか表示されるけど5.1で十分だよなぁ 他の鯖系のベンダーのモジュールが5.1に対応しなくなったら考えるわ程度
598 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 19:04:11.88 ID:lKqjLh4g.net] >>586 前からexperimentalで有ったのは知ってたし、オプションだから嫌なら切ればいいんだけども… cmdから呼ばれる想定のコマンドは引数処理に癖があるからと
599 名前:いって、特定のプログラムのみ特別扱いするワークアラウンド的挙動にはちょっと賛同できない ワークアラウンドというのはユーザーがやるものだ pwsh側で個別対応をするとしても、ユーザーが期待する形式の引数を取って、コマンドの期待する形式に変換するラッパースクリプトを用意すれば済むだけの話 普段linux/macでpwsh使ってるから、どれ程の癖なのかは図りかねるが、 [] [ここ壊れてます]
600 名前:デフォルトの名無しさん mailto:sage [2022/11/14(月) 01:13:06.37 ID:zoPzNIvr.net] $obj.('行'); 1. 上記を7.3で実行するとハングする。 2. 5.1や7.2ではハングしない。 3. $prop = '行'; $obj.$prop; でもハングする。 4. '行'が違う言葉だとハングしない。 5. $obj.行; だとハングしない。 バグ?バグなの?ゲイツに電凸していいの?
601 名前:589 mailto:sage [2022/11/14(月) 01:23:18.32 ID:zoPzNIvr.net] あ環境はWindows11とmacOS13で再現してます。連投スマソ
602 名前:589 mailto:sage [2022/11/14(月) 21:56:16.00 ID:zoPzNIvr.net] 589の条件4についてだけど、 $obj.([System.Text.Encoding]::UTF8.GetString((0xE8, 0xA1, 0x8C))); でもハングして、UTF-8での先頭バイトが0xE8だった場合にハングするっぽい。 毎回ハングするのであんまり回数試してないけど。
603 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 01:46:29.41 ID:E2xRIJUz.net] まともにテストしてないか 変なメンテナが紛れてるか
604 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 11:09:43.75 ID:ADWqgLY3.net] 7.30-preview.2 Core win10(en-US)だけど大丈夫な感じ $gyo =[System.Text.Encoding]::UTF8.GetString((0xE8, 0xA1, 0x8C))) $gyo 行 $trans=@{$gyo="go"} $trans.$gyo, $trans[$gyo] go (まだ日本語IME入れてない新品なので行が入力できないのはご愛嬌) 属性/キーはハッシュ可能な任意のビット列で構わないはずなので、単にエンコルーチンの問題のはず、7.30-preview-2以降のgitレポの差分みては
605 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 11:40:25.67 ID:Xte85wf7.net] cx-fxは開始バイトだから安定リリースで出してたらマルチバイト圏壊滅してそうだが
606 名前:589 mailto:sage [2022/11/16(水) 02:47:51.66 ID:VVslFgtK.net] >>592-594 ども! >>593 ありがとうございます。 preview.3 から preview.4の間でなんかあったとこまで突き止めましたが、 preview.3から5までのStart-PSBootstrapがバグっててビルドに予想以上に時間かかったからもう寝るお
607 名前:589 mailto:sage [2022/11/18(金) 02:58:42.77 ID:5YGh8aoa.net] お巡りさんこの人でつ38909f7ee でそのコミットの中身がこちら Update .NET SDK version from `7.0.100-preview.2.22153.17` to `7.0.100-preview.4.22252.9` (#17061) おふぅ。PowerShellのバグを追っていて大変なものを見つけてしまったーどうしよう?
608 名前:デフォルトの名無しさん mailto:sage [2022/11/29(火) 18:07:22.13 ID:bVQqRFK0.net] 以前は PowerShell の日本語ドキュメントのリポジトリが Github に置いてあったはずですが今は消えていますよね? 事情がよくわからないんですが、マイクロソフトとしてはコミュニティで日本語翻訳を運用しない (機械翻訳でやっていく?) ということなんでしょうか。 それはそれとして、諸事情でネットワーク接続できない場所で日本語ドキュメントを読みたいんですが どこかでまとめてダウンロードする方法とかありませんかね?
609 名前:デフォルトの名無しさん [2022/11/29(火) 21:34:29.76 ID:S4GKm+YH.net] >>597 マイクロソフトにかきらず、英語以外の言語に翻訳することをみんなやめてしまっただけ。 ソフトウェアの更新スピードが速すぎて、ドキュメントを人間が翻訳する時間がない。
610 名前:デフォルトの名無しさん mailto:sage [2022/11/29(火) 21:48:53.54 ID:noJ3pHan.net] 日本マイクソロフトは何してんの
611 名前:デフォルトの名無しさん mailto:sage [2022/11/29(火) 23:10:55.01 ID:F0R68kvV.net] 日本語にすると曖昧になっちゃうからな 英語で厳密に説明されたほうがいいだろうし、ソフトウェア技術者だったら英語は素養の一つだね
612 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 01:07:23.00 ID:oNUduEv2.net] >>599 ちょまどはイベントに参加したり楽しくやってる
613 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 01:12:58.71 ID:TaPBZKHt.net] 文字列検索する時は、ラテン文字のキーワードが検索結果に埋もれない日本語ドキュメントのほうが便利
614 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 02:05:17.65 ID:k8p89eha.net] >>597 Get-Helpで取れる情報ならUiCulture指定してSave-Help https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_updatable_help それ以外ならGitHubから英語ドキュメント落としてきて機械翻訳かな オフライン環境でスクリプト書く気はしないから必要なドキュメントは限られるのでは
615 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 08:53:37.63 ID:QfqHtuzd.net] どうしてもドキュメントを日本語化してほしいなら16ビット時代みたいに 日本語版がリリースされる頃には英語版の新バージョンがリリースされている みたいな事になってもおま国とか文句言わないようにしないとね 英語版が完成してからじゃないと翻訳作業を始められないんだから
616 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 12:40:03.59 ID:4G7kek1Y.net] Google, DeepL, みらい翻訳 「みんなの自動翻訳@TexTra®」は、 国立研究開発法人情報通信研究機構(NICT)が開発した自動翻訳サイトです。無料 mt-auto-minhon-mlt.ucri.jgn-x.jp/ 翻訳したいサイトのURLを入力するだけで、自動翻訳結果をエディタ上に再現
617 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 13:17:37.01 ID:Occ07s0g.net] 機械が無料で一瞬でそれなりの翻訳をしてくれる時代になったのに わざわざ多ヵ国の翻訳チームを雇って変わり続ける膨大なドキュメントへの人件費を出す判断なんてできんだろなあ
618 名前:597 mailto:sage [2022/11/30(水) 17:21:56.68 ID:zA9UzzGK.net] 私は現時点では PowerShell について全く知識を持たず、 入門的な資料を移動中の合間にタブレットコンピュータで読みたいと考えています。 (通信は出来ないので事前に入れておく必要があります。) 基本理念をわかれば個々のコマンドの資料はたぶん英語でも理解できると思うんですが 新しい概念そのものを英語で読むのはしんどいです。 オフラインで読みたいと思うと ePub (などの電子書籍形式) になっているとやりやすくて そうするには元が Markdown なら一発で出来ると思ったんですが、 機械翻訳を通してその形に持っていくとなると面倒ですね。
619 名前:605 mailto:sage [2022/11/30(水) 17:40:14.72 ID:4G7kek1Y.net] Markdown は、HTML になるから、 「みんなの自動翻訳@TexTra®」で翻訳できるのでは? 翻訳したいサイトのURLを入力するだけで、自動翻訳結果をエディタ上に再現と書いてあるから、 ローカルPC にある、HTMLへのパスを入力すれば?
620 名前:597 mailto:sage [2022/11/30(水) 18:10:28.67 ID:zA9UzzGK.net] >>608 翻訳できることにはなんの疑いも持ってないですよ。 コマンド一発で出来るツールはないので手間がかかると言ってます。
621 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 21:29:56.51 ID:QfqHtuzd.net] 適当な電子書籍の解説本でも買えば?
622 名前:デフォルトの名無しさん mailto:sage [2022/11/30(水) 23:01:06.28 ID:k8p89eha.net] 過去の公式日本語訳が出てきたとして、基本理念を理解したい人の役に立つレベルとは思えない 電子書籍買って読むほうがいい
623 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 08:18:35.61 ID:iTNwCGJv.net] インアクションの邦訳ぐらい?古いのしかないな
624 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 13:08:12.37 ID:Qs+E1f1w.net] もしも古い翻訳テキストが手元にあるなら それでいいんじゃね 新しい要素だけググって調べてブラウザ上でctrl+Sするなりして保存しておけば?
625 名前:デフォルトの名無しさん [2022/12/03(土) 12:28:32.79 ID:Jt/U29yp.net] 配列の要素を逆順にしたものを得たいのですが, …たとえば, $a = @(10, 0, 5) これに対して $a[-1..-$a.Length] …とすれば,@(5, 0, 10) が得られて, それで不満は無いのですが,何かもっとシンプルに書ける気がして. (→ でもこれって $a[-1..0] とは書けないんですね.) あるいは [array]::Reverse($a) とすることで,$a 自体が逆順の中身に変えられるのですが でも $a自体は 変えたく無いのです 感覚的には $a.Reverse() とか $a | Reverse-Object みたいに書けたらいいのに とは思うのですが(…そんなものは無い) 文字列だったら [linq.enumerable]::Reverse("abcdef") で逆順を得られるのに 同じ場所に 数値の配列を書いて [linq.enumerable]::Reverse(@(0,5,1,2)) …としても,何故かできない (なぜなのかはc#に勉強不足な私には分からず) ってなわけで,別に困ってるわけでは無いのですが もっと シンプルな書き方ってありますか
626 名前:デフォルトの名無しさん [2022/12/03(土) 14:39:08.81 ID:H3EtATlx.net] $a[length - 1 - n]
627 名前:デフォルトの名無しさん mailto:sage [2022/12/03(土) 15:49:40.73 ID:h4dim/Vw.net] >>614 とりあえず、$a[-1..-$a.Length]だと-1,0,1で並ぶから@(5,10,0)になっちゃうはず。 $a[$a.length..0] が正。 個人的にはlengthじゃなくてcount使ってほしい。 後はsort-object使うか。 $a|sort -des でいける。 ただし遅いので巨大配列には向かない。
628 名前:デフォルトの名無しさん [2022/12/03(土) 18:40:22.74 ID:Jt/U29yp.net] >>616 $a[$a.Count..0] 言われてみれば! …これ使わせていただきます なお,sort を使うと,どうしても数値でsortされてしまうので うまくいかない感じです 何の意味も無い基準でsortして(何の順番も変えないで) -desだけしてくれたらいいのですが
629 名前:デフォルトの名無しさん mailto:sage [2022/12/03(土) 19:09:31.97 ID:K8Dj9wl7.net] >>614 [linq.enumerable]::Reverse([int[]]@(0,5,1,2)) LinqのReverseはこれで動く
630 名前:デフォルトの名無しさん [2022/12/03(土) 19:46:36.52 ID:Jt/U29yp.net] >>618 intの配列にcastってことなのか…半分くらいしか理解してませんが ありがとうございます. LINQは powershellだと 無理やり感があって,かえって使いにくい感じは ありますね
631 名前:デフォルトの名無しさん mailto:sage [2022/12/03(土) 22:02:33.57 ID:vihcAie/.net] Ruby なら、 reverse -> Array reverse! -> self 破壊的変更 a = ["a", 2, true] p a.reverse #=> [true, 2, "a"] p a #=> ["a", 2, true] (変化なし) a = ["a", 2, true] p a.reverse! #=> [true, 2, "a"] p a #=> [true, 2, "a"] 破壊的変更
632 名前:デフォルトの名無しさん [2022/12/05(月) 15:26:18.97 ID:9N6A06cG.net] きっと とても初歩的なことだとは思うのですが $a = "abc" $job = start-job { write-host $a } receive-job -Job $job # → 何も出力されない これって スコープの問題なんでしょうか {ブロック}の中の $aの中身を "abc"にしたいのですが
633 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 17:43:14.26 ID:sXIIIS0k.net] $using:a About_Remote_Variables
634 名前:デフォルトの名無しさん [2022/12/05(月) 18:59:35.95 ID:9N6A06cG.net] >>622 ありがとうございます ブロックの中の $a を $Using:$a と書けば望む動作になりました まぁ、何でusingって名前なんだろ?とか Remote Variablesとは言うけれど別にリモートじゃないし(?)など まだ不思議な感じは残りますが…もうちょっと調べたり勉強してみます
635 名前:デフォルトの名無しさん [2022/12/05(月) 19:22:50.61 ID:9N6A06cG.net] $a = "abc" $job = start-job { param($str); write-host $str } -Arg $a でも 受け渡せるんですね。
636 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 21:14:48.29 ID:Xw9Qnajp.net] Start-Jobでスクリプトブロック実行すると 別プロセスのpowershell.exeが起動してそっちで動く。(少なくともPSv5.1では。) イメージとしてはコンソールや.ps1から「powershell.exe -f 他スクリプト.ps1」で 他プロセスを動かすくらいに別スコープだと思ってればいいと思う。
637 名前:デフォルトの名無しさん [2022/12/06(火) 03:20:51.26 ID:PbeCdWM3.net] >>599 マイクロソフトのサポートにはとんでもない質問が大量に押し寄せる。 Windows Serverが起動しなくなった。電源が入ってないけど、Windowsのバグに違いないやら、しつこい嫌がらせやら、女に変なことを聞く変態やらと3万円も払って電話してくる。
638 名前:デフォルトの名無しさん [2022/12/06(火) 03:22:42.62 ID:PbeCdWM3.net] PowerShellのバージョンがわかりませんのでどうすればいいですか? こんなのを3万円も払って教えてもらうのが日本人
639 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 06:55:15.41 ID:yvaEv+2c.net] 一時片手間にカスタマサポートやってたことあるけど結構トンデモ問合せは多い いろいろ聞いて行ったら他社の製品の問合せだったなんてオチすらあるし
640 名前:デフォルトの名無しさん [2022/12/06(火) 07:03:21.20 ID:wGOv2qdu.net] >>625 そういうイメージ…ということでわりと納得. 同じことですが…では、ブロックの中で処理中に 変数に何かを入れても それは、receiveするまでは 取り出せないってことか…
641 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 19:06:25.36 ID:ayS530mj.net] functionの中でhashtable @{}を作成してその中にウィンドウと紐付いてるハンドルオブジェクトやらを入れて返して functionの呼び出し側で使おうとしたら無効なオブジェクトやら何やらのエラーが出てまともに使えなかった PSObjectに変換して返したらエラーは出なくなったがこれ何だろう 怖すぎなんだが
642 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 00:09:46.82 ID:5pWmYDMC.net] 参照型/値型とかその辺の理解は問題ない? とエスパーしてみる
643 名前:デフォルトの名無しさん mailto:sage [2022/12/23(金) 17:58:06.26 ID:F84mgbO0.net] 紐付けてるオブジェクトやらは.NETの参照型ね 値型だったら恐らくこの問題は起きてないだろうし PSCustomObjectのプロパティとhashtableの値への紐付けでオブジェクトの生存期間に差異があるようにしか見えないから functionから戻る時に何か想定外な事が起きてるんだろうなあ
644 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 14:24:53.22 ID:r8IxISV7.net] コマンド・プロンプトも一切つかったことない状況から powershellの勉強最近始めたけど難しいね 先ず参考書籍少なすぎ 何から手を付けたらいいのか全くわからん 先輩諸兄はどんな感じで習得していったの?
645 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 14:35:15.62 ID:ZD0ehGa/.net] 必要に迫られて色々とネットで調べて解決策を探し回る そのコードから理解できない部分や言語の基本を調べる(変数や表示の仕方とか色々と) という泥縄式だな
646 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 15:00:48.14 ID:r8IxISV7.net] ネットしかないのか、仕方ないな、、、 しばらくは苦しみながら覚えるしかないかぁ
647 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 15:45:26.24 ID:/tVTIbQ7.net] Get-Help about_ で出てくるのを一通り読んどきゃ何も苦しむことなんてないだろ
648 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 17:56:17.16 ID:0E4juWNJ.net] ある程度使えるようになってから書籍買って読んだら 「大体全部知ってるわ」ってなったから ネットだけでもいけるだろ
649 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 18:20:49.07 ID:U6V4cNSL.net] 他の言語と違って思い込みて書かれた間違った記事が多いから警戒すべし
650 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 20:24:26.94 ID:jYPDn/gh.net] ほかの開発言語やシェルプログラミングにまったく疎い状況からPoweshellで入門してゴリゴリ使いこなしてやろうという路線は正直筋が悪いと思う とはいえ勉強のためにPythonあたりの入門書をやれとも言いづらい やはり泥縄式かな
651 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 21:27:46.01 ID:T5RPj38W.net] >>639 一応VBAとGASが多少できるなったから他の言語も余裕かな、っておもって PowerShellに手を出したら苦戦してる感じ 一通り基礎を覚えたら実践的に色々と試してみたいけど powershellは色々覚えることが多すぎてメンドイ、、、
652 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 21:53:19.53 ID:fSsOcWwB.net] 変数?配列?何それ状態から始めてる初心者だけど基本的な用語がわからないから検索にも苦労する セオリーもわからないから無駄にあれこれやってあとはコメント書きまくってグチャグチャになってる
653 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:04:55.23 ID:vIW/uBHA.net] PythonもJavaも全くコード書けないノンプログラマだけどPowerShellは分かり易い気がする
654 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:58:59.38 ID:B+wJL+Im.net] 素人だけど、「PowerShell実践ガイドブック」っていう本は、素人には理解しにくい仕様とかを理解するのにとても役に立った ただ、いろいろ冗長でちょっと読みづらい本ではある
655 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 01:26:32.00 ID:++xg0WRh.net] PowerShell上で cmd /C xxxx を使うのが最善という結論に到達する こういうのでいいんだよ的な
656 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 14:16:21.29 ID:dmcJ6Qpo.net] ヘルプが出来が良いので何も要らない気はするけど ハック的なモノや中でどう動いてるとかはpowershellexplained、実用的な書法はPowerShellGetで人気のあるやつ読むとか
657 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 21:46:25.70 ID:D+6cXnGF.net] PowerShell は配列周りがトリッキーなのを除けば比較的まともな言語だと思う
658 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 01:00:35.68 ID:036NTvOT.net] 覚え始めは Microsoft docs を探し、それでわからなければ個人の解説記事を探した スクリプトを書くようになってからは about_ から知りたいことを追いかける事が増えた 上でも名前が上がった「PowerShell実践ガイドブック」は、ある程度できるようになってから読んだが 何もわからない状態で読むにも良いと思う 第2章までで基本的なことが身につく
659 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 15:03:24.27 ID:867KtYrP.net] パワーシェルの勉強始めたいんですが、学習に良いサイトありませんか?
660 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 16:02:07.28 ID:HWC94+Gl.net] >>648 実はこのスレだったりする 1つのサイト覗くよりたまにぜんぜん知らん知識が入ってくる 過去ログおすすめ
661 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 16:06:45.35 ID:HWC94+Gl.net] あと間違った情報書く奴には必ず突っ込み入るから間違えたまま覚え事故も起き難くなる仕様だと個人的には思ってる
662 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 16:17:56.35 ID:HWC94+Gl.net] powershell何某でぐぐって出てくる日本語の情報はなぜか間違ってたり思い込みで書かれた記事が放置されてて悲しい 情報源としてはstackoverflow辺りをまず探すのが安定 Microsoftの知りたかったことの全て系は役には立つけど知りたい事全てを補完できるわけではない
663 名前:デフォルトの名無しさん [2023/01/01(日) 00:27:17.84 ID:CeabMe2h.net] やり方が多すぎて失敗しているものだからな
664 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 15:47:50.12 ID:naMqCIBL.net] リリース当時は学生だったからPIAをむさぼり読んでたな、楽しい本だった 挙動で間違いやすいのは(スコープを除けば)基本パイプ周りだから、 パイプ使わないスクリプトを書いてけば初手で躓く要素は少ないと思う
665 名前:デフォルトの名無しさん [2023/01/03(火) 21:14:49.48 ID:AaMOQNR6.net] >>653 シェルスクリプトを知っているのが前提だと思っていたが?
666 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 21:46:27.47 ID:cXTWG1PB.net] パイプで間違う要素なんてあったっけ? むしろ配列まわりの方が間違いやすい気がするが...
667 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 22:10:05.90 ID:naMqCIBL.net] 前提は知らんけど、配列回りで間違えるのがパイプ使ってる時では?
668 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 23:27:08.09 ID:cXTWG1PB.net] >>656 いやパイプ関係なく PowerShell の配列は色々トリッキー 例えば複数のオブジェクトを配列で返すコマンドレットが要素が1つだけだとオブジェクト自体を返したりするとか https://qiita.com/hitsumabushi845/items/fe4219ba9daa34f541c2 switch文に配列与えたら各要素を順番に適用する(要は勝手にループする)とか https://step-learn.com/article/powershell/076-switch-loop.html
669 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 00:46:17.26 ID:v02S4T2G.net] >>657 まさに前者をパイプ周り(のための)の仕様だって認識してる カンマ演算子の使い方は知らないとできないけど、型指定しない変数に代入して原因がわからないってことはないでしょ 後者はforやforeach省略出来て便利ってだけで、トリッキーだとは思ったことないわ
670 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 03:45:39.75 ID:jtN0WhrQ.net] switchの評価式に配列をぶち込む発想は他の言語経験有りなら起きないから無害だけど function戻りの配列の扱いは慣れてても混乱するから特殊な事情が無い限りPSObjectや別のコンテナに入れて返す(脳死)
671 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 23:20:27.35 ID:kugWcEru.net] どなたか助けてください。相談です。 一つのファイルに置換したい複数の数列(0.005→0.000、0.006→0.001、0.007→0.002、etc‥)が存在した場合、うまく自動で全て置換する方法はないでしょうか? 下の置換のコマンドを繰り返し使用してるのですが明らかに非効率で何かうまくできないか考えてます。 (Get-Content ファイル名) | foreach { $_ -replace "置換前","置換後" } | Set-Content ファイル名
672 名前:デフォルトの名無しさん [2023/01/07(土) 08:57:10.32 ID:rjY6PjFx.net] >>660 $hash = @{ 0.005 = 0.000; 0.006 = 0.001; 0.007 = 0.002 } $hash[0.006] とすると 0.001 が返るから、"置換後" にあたる部分を $hash["置換前"] とすればいい。 詳しくはハッシュとかハッシュテーブルでググれ
673 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 14:47:12.03 ID:tZDUx9Ho.net] ver6.0以降だとスクリプトブロック使えるから、一応こんな感じで一度にできることはできる "対象の数値" -replace "^[-+]?[0-9]+[.]?[0-9]*", { [decimal]$_.value - 差分の数値 } 数字の足し引きならCSVデータとかで読みこんで処理した方がいいとは思うけど
674 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 15:16:28.02 ID:fgMMnpAg.net] >>661 ,662 すげー。ありがとうございます。
675 名前:デフォルトの名無しさん [2023/01/08(日) 03:23:42.25 ID:nZw+zsKC.net] 0.005を足した数値にしたいと書いてないのが不思議 質問者は聞き方がわかっていない
676 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 09:53:58.06 ID:n7Qx+Bf+.net] ちなみに、v5でも[regex]::Replace()のMatchEvaluatorにスクリプトブロックを渡せるから >>662 より手軽さが劣るけど同様の事ができる。
677 名前:デフォルトの名無しさん [2023/01/09(月) 14:33:22.12 ID:2QUdKeZJ.net] サブディレクトリ以下の全てのファイルに対し、ゾーンIDの削除をしたいのですが、 各ファイルのゾーンIDは Get-ChildItem -Recurse -File | ?{ $_ | Get-Item -Stream Zone.Identifier -ErrorAction Ignore; } | Remove-Item -Stream Zone.Identifier; に書けばできるみたいです。 powershell の勉強のため、下記のような書き方だと、どのように書けばできるのでしょうか? $itemList = Get-ChildItem $targetFolder -Recurse; foreach($item in $itemList){ Get-Item -Stream Zone.Identifier -ErrorAction Ignore; }