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 が立ててね!!
552 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 17:45:18.14 ID:xipfHTvE.net] ツリーて何だ? フォルダに階層があってその中全部見たいということならGet-ChildItem -Recurseだぞ
553 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 17:57:09.50 ID:Wu29T3MH.net] ・コード貼ってバカにされるの嫌 ・具体例挙げるなど仕様詳細説明面倒臭いから文章から汲み取れ ・全部やれ こういうことだろう 舐め腐ってるヤツはスルーしときなよ
554 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 18:12:43.86 ID:6s8rSvAF.net] 本人はいたって真面目なパターンだろ ググった情報を組み合わせるスキルがないということは、悲しいかな往々にして他人に要件を一発で伝えるスキルも不足しがち 同時にやるのが無理めに感じるのはパイプを使おうとしてるからだろう for文とローカル変数で書き変えれば簡単
555 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] 伝えるスキルうんぬんの前に > PSFolderSizeをインストールして色んなサイトから拝借してコピペの集合体でやってみたのですが って言うならそのコード上げろって話 ヘタに説明するより100倍早い
556 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] いやできなかったコード上げても何の説明にもならんから 現状と得たい結果の図示だな
557 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] コードを上げたほうがいいんじゃないかとか図で伝えるべきなんじゃないかとかそういうの引っくるめての伝えるスキルだよ コミュニケーションは言葉に限定されない
558 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 20:42:50.25 ID:9IkSSHYa.net] >CSVにはツリー名、ツリー毎の合計サイズと、ツリー毎に最新更新ファイル(ファイル1つだけ)の日時を抜き出したい 変なモジュール入れんでも数行で書けるからがんばれ
559 名前:デフォルトの名無しさん [[ここ壊れてます] .net] パワー!
560 名前:デフォルトの名無しさん [[ここ壊れてます] .net] しっかしコマンドレットがコマンドライン実行時とスクリプト内呼び出しでパラメータ解釈が異なるって どんなキチガイが仕様考えたのか気になるわw switch型パラメータをスクリプト内で動的に外したり与える方法がないとか終わってる
561 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 23:16:07.40 ID:9fmju/sW.net] >>550 何を言ってるんだ? ちゃんと質問したらお前の間違いを教えてもらえるかもしれんぞ
562 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 00:48:03.74 ID:XoRPEjFK.net] Ruby で、win32ole を使って、 フォルダ以下のサイズ(再帰的な子孫も含めて)は、 require 'win32ole' fso = WIN32OLE.new( 'Scripting.FileSystemObject' ) folders = [ "C:/Users/Owner/Documents/test_1", "C:/Users/Owner/Documents/test_2" ] folders.each do |folder| folder_obj = fso.GetFolder( folder ) puts File.expand_path( folder_obj.path ) # \ を、/ に変換する puts "#{ folder_obj.name } : #{ folder_obj.size }" end 出力 C:/Users/Owner/Documents/test_1 test_1 : 28803 C:/Users/Owner/Documents/test_2 test_2 : 4390
563 名前:552 mailto:sage [2022/09/22(木) 01:41:34.82 ID:XoRPEjFK.net] Ruby で、フォルダ以下のファイル(再帰的な子孫も含めて)で、 更新時刻が最も最近のものを求めた folders = [ "C:/Users/Owner/Documents/test_1", "C:/Users/Owner/Documents/test_2" ] folders.each do |folder| # 絶対パスのディレクトリ名の後ろに、* を付けること! # . で始まる、隠し directory, file を除く glob_pattern = folder + "/**/*" latest_file = Dir.glob( glob_pattern ) .select { |full_path| File.file?( full_path ) } # ファイルのみ .max_by { |full_path| File.mtime( full_path ) } # 更新時刻が最も最近のファイルパス puts "#{ latest_file }\n#{ File.mtime( latest_file ) }" end 出力 C:/Users/Owner/Documents/test_1/a.txt 2022-05-19 14:38:35 +0900 C:/Users/Owner/Documents/test_2/x/x.txt 2022-02-24 16:01:54 +0900
564 名前:552 mailto:sage [[ここ壊れてます] .net] Ruby で、CSV 形式で出力する部分は、 require 'csv' result_ary = [ [ "C:/Users/Owner/Documents/test_1", "28,803", "2022-05-19 14:38:35 +0900" ], [ "C:/Users/Owner/Documents/test_2", "4,390", "2022-02-24 16:01:54 +0900" ] ] # 2次元配列を、CSV 文字列に変換する csv_str = result_ary.map( &:to_csv ).join print csv_str 出力 C:/Users/Owner/Documents/test_1,"28,803",2022-05-19 14:38:35 +0900 C:/Users/Owner/Documents/test_2,"4,390",2022-02-24 16:01:54 +0900
565 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 09:18:39.47 ID:5Z2vYjCC.net] >>541 @( "C:\dir1" "C:\dir2" ) | %{ $prop = [Ordered] @{Path=$_} $file = @(Get-ChildItem -LiteralPath $_ -Force -Recurse -File) ([Ordered] @{LastWriteTime='Maximum'; Length='Sum';}).GetEnumerator() | %{ $opt = @{'Property'=$_.Key; $_.Value=$true;} $prop += @{$_.Key = $file | measure @opt | select -exp $_.Value} } [PSCustomObject] $prop } | ConvertTo-Csv -NoTypeInformation
566 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 00:05:04.72 ID:r49iT1KO.net] >>555 おおー無駄がなくてすごい これぐらい書けるようになりてぇ 開始は配列の変わりにコマンドレットでも良さそう Get-ChildItem -LiteralPath <親フォルダ> -Directory | ...
567 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 13:45:46.35 ID:5ly2Ski6.net] >>556 確かに。てか半端に汎用性意識せず、素直にこんなんでも良かったな。 @(Get-ChildItem -LiteralPath <親フォルダ> -Directory).FullName | %{ $file = @(Get-ChildItem -LiteralPath $_ -Force -Recurse -File) [PSCustomObject] @{ Path = $_ LastWriteTime = ($file | measure LastWriteTime -Maximum).Maximum Length = ($file | measure Length -Sum).Sum } } | ConvertTo-Csv -NoTypeInformation
568 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 14:01:26.72 ID:5ly2Ski6.net] いや、こうか。 Get-ChildItem -LiteralPath <親フォルダ> -Directory | %{ $file = @($_ | Get-ChildItem -Force -Recurse -File) [PSCustomObject] @{ Path = $_.FullName LastWriteTime = ($file | measure LastWriteTime -Maximum).Maximum Length = ($file | measure Length -Sum).Sum } } | ConvertTo-Csv -NoTypeInformation
569 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 14:13:19.66 ID:76wlmrvm.net] 試してないけどフォルダにファイルが1個も無い場合を考慮できてない気がする
570 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 14:48:45.69 ID:5ly2Ski6.net] 知らんかった。前者つもりだった。 (@() | measure -Sum).Sum → 0 (@() | measure Length -Sum).Sum → Null
571 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 15:45:18.22 ID:76wlmrvm.net] powershellはgciはともかくmeasureが遅くてファイルが多くなると辛くなるね 結局C#に丸投げとかの手段になりそう
572 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 16:18:35.15 ID:PDKGWlWe.net] 試してないけど Get-ChildItem -LiteralPath <親フォルダ> -Directory | %{ $Stat = $_ | Get-ChildItem -Force -Recurse -File | Measure-Object LastWriteTimeLastWriteTime, Length -Sum -Maximum [PSCustomObject] @{ Path = $_.FullName LastWriteTime = $Stat[0].Maximum Length = $Stat[1].Sum } } | ConvertTo-Csv -NoTypeInformation ってやると多少効率的かと
573 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 17:09:36.54 ID:UvTk6pcp.net] >>561 まあC#でやった方が速いわな
574 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 19:58:47.42 ID:5ly2Ski6.net] >>562 なるほどな〜、余分な集計をする事になるとしても measureを1回で済ませられれば効率的な可能性があるのか、 さらにパイプラインで列挙と集計が同時進行になる可能性もあったり? と思い試してみたけど、残念ながらLastWriteTimeの-Sumがダメらしい。 -ea:SilentlyContinueなら?と思ったがLengthのMaximumしか出ない。 でもこのアイデアは使えそう。
575 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 20:11:16.46 ID:PDKGWlWe.net] >>564 ああなるほど、だから小細工してたのか、すまんかった てか、初めからURL書いとけば良かったな $Stat = $_ | Get-ChildItem -Force -Recurse -File | Measure-Object LastWriteTime.Ticks, Length -Sum -Maximum [PSCustomObject] @{ Path = $_.FullName LastWriteTime = [DateTime][Int64]$Stat[0].Maximum Length = $Stat[1].Sum } https://stackoverflow.com/questions/66697384/measure-multiple-properties
576 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 21:00:46.43 ID:UvTk6pcp.net] >>565 さも自分で考えたかのように書いて劣化パクリかよ
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] 変数?配列?何それ状態から始めてる初心者だけど基本的な用語がわからないから検索にも苦労する セオリーもわからないから無駄にあれこれやってあとはコメント書きまくってグチャグチャになってる