1 名前:デフォルトの名無しさん [2023/11/29(水) 16:07:49.46 ID:0g8RZ7sB.net] 前スレ PowerShell -Part 6 https://mevius.5ch.net/test/read.cgi/tech/1644744972/ 次スレは>>980 が立ててね!!
338 名前:デフォルトの名無しさん mailto:sage [2024/10/31(木) 21:50:30.83 ID:uhxgBp24.net] UNIXシェルはもっと言語としてはゴミなんだよなぁ
339 名前:デフォルトの名無しさん mailto:sage [2024/10/31(木) 23:02:56.00 ID:va++Flqd.net] 普段そういうゴミしか作者の周りになくて間違えて拾ってきちゃったんやな
340 名前:デフォルトの名無しさん [2024/11/01(金) 02:03:26.53 ID:EQMsSXTB.net] >>338 シェルはUIだぞ?
341 名前:デフォルトの名無しさん mailto:sage [2024/11/01(金) 04:01:30.22 ID:+lXxXu7p.net] >>328 gal見てたらcurlだけでなくwgetもiwrだった
342 名前:デフォルトの名無しさん mailto:sage [2024/11/01(金) 04:58:32.80 ID:4H4fm5Ic.net] エイリアスといえばパラメータのエイリアスにも多分いろいろundocumentedなのあるよな? -ArgmentListが-argsで通ったりとか規則的な略じゃないやつ、これは短くて分かりやすいからいいが -argなら曖昧さのない限り頭から略せるという規則通りなんだけど こういう個別のまとめた文書ってある? 一部は https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_commonparameters にあるのは知ってる
343 名前:デフォルトの名無しさん mailto:sage [2024/11/01(金) 09:06:40.20 ID:vIWZBp6A.net] Get-Help -Fullの、パラメータのエイリアス
344 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 09:49:45.91 ID:LBdK5SU3.net] Windows Server 2025 以降で削除された機能または開発されなくなった機能 https://learn.microsoft.com/ja-jp/windows-server/get-started/removed-deprecated-features-windows-server-2025 Windows PowerShell 2.0 エンジンは削除されました。アプリケーションとコンポーネントはPowerShell 5.0 以降に移行する必要があります。
345 名前:デフォルトの名無しさん [2024/11/20(水) 17:28:43.06 ID:jLoC/a6V.net] AD一覧をcsv出力すると区切りが半角スペースになってExcelで取り込めない。 ググっても同じ症状の人が出て来ない
346 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 17:56:33.65 ID:itZFOqj8.net] とりあえず-Delimiterで指定すれば?
347 名前:デフォルトの名無しさん [2024/11/20(水) 18:05:31.34 ID:jLoC/a6V.net] OutfileってDelimiterできないよね? Exportだと文字コードをdefaut、utf-8にしても数列で出力されちゃう
348 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 19:09:02.72 ID:b8mbz+Om.net] Out-File? ならその前にConvertTo-Csvで変換してるんじゃないの?
349 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 21:42:00.83 ID:KXgtJp1v.net] powershellのなんちゃってCsvコマンドレットはExcelで扱えるCSVと特に親和性があるわけでもなく、俺俺CSV止まりだからあんま使う価値ないかも
350 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 22:02:13.56 ID:KXgtJp1v.net] ではCSV扱うなら何がいいかと言えばCsvHelperが定番なんだけど、C#や.NETの知識が要るね AD一覧程度なら自力でフィールドをカンマで区切ったっていいよ
351 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 22:56:49.84 ID:+ywVzG00.net] Announcing the Public Preview of AI Shell https://devblogs.microsoft.com/powershell/announcing-the-public-preview-of-ai-shell/
352 名前:デフォルトの名無しさん mailto:sage [2024/11/21(木) 09:11:03.40 ID:uYan55MO.net] CSV変換標準コマンドレットはデータ前後のスペース文字が消えるので 一切データ欠落しちゃいけない場合は注意
353 名前:デフォルトの名無しさん mailto:sage [2024/11/27(水) 23:16:05.27 ID:aNQZM+B9.net] Export-Csvって自力でクォーテーション外してた時代あるし地味に改良してるけどな
354 名前:デフォルトの名無しさん mailto:sage [2024/11/30(土) 22:11:49.94 ID:LJbTxW4W.net] Should PowerShell 7.x ship inbox in Windows? https://github.com/PowerShell/PowerShell/discussions/24340
355 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 13:20:57.08 ID:8Yw35ga9.net] >>354 PowerShell7.xは通常利用されないpwshシェルとして実装されても良いと思うよね 標準シェルをpowershell.exeにしておけば互換性問題無いし ただ7.xが5.1の互換とか言ってるのはかなり微妙
356 名前:デフォルトの名無しさん [2024/12/11(水) 10:15:30.38 ID:Bk1Et5xQ.net] 引数の文字数上限って回避方法ってありますか? 複数のフォルダをドラッグ&ドロップして使いたいけどいい方法が思いつきません
357 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 22:01:27.57 ID:J5p4fYKY.net] WSHやjavascript限定ではあるけどファイラーのTablacus Explorer使えば会費できたと思う
358 名前:デフォルトの名無しさん [2024/12/15(日) 21:59:46.99 ID:D9xraIFr.net] >>356 ネタだよな? Windowsはパス文字列の長さの上限がかなり低いので長いパスはWindowsでは扱えない
359 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 11:35:41.45 ID:EDggbpJc.net] 引数の文字数上限なんて気にしたこともないわ 一体どんなスクリプト組んでるんだ?
360 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 12:33:48.42 ID:BlyRMH2R.net] 複数のフォルダをD&Dしてとあるから 大量のフォルダ・ファイルを渡すんだろうな これは言語の制限じゃなくてエクスプローラかcmdかのシェルの制限だろう
361 名前:デフォルトの名無しさん mailto:sage [2024/12/17(火) 00:26:16.95 ID:qauPzx29.net] powershellのIDEってやっぱvscode一択?
362 名前:デフォルトの名無しさん [2024/12/18(水) 15:12:46.26 ID:vtNCD/9a.net] >>361 Windowsのスタートメニューを見たことがないのか? PowerShell ISEは無視、Visual Studioも無視するなら、あなたの希望通りにVSCodeになるな。
363 名前:デフォルトの名無しさん mailto:sage [2024/12/18(水) 22:53:36.03 ID:r/ciUEmV.net] いや普通にVSCode一択だよ ISEは開発停止がアナウンスされてMicrosoft自身がVSCodeを推奨してる
364 名前:デフォルトの名無しさん mailto:sage [2024/12/18(水) 23:49:49.43 ID:qUh0YP4m.net] powershellの開発環境としてvisual studioが挙がることってあるか…?
365 名前:デフォルトの名無しさん mailto:sage [2024/12/19(木) 00:10:06.38 ID:MPXM+zkD.net] VScodeなら分かる
366 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 16:45:21.87 ID:3/R2Wu0q.net] .ps1のスクリプトを右クリックから実行しようとすると 最初に[実行ポリシーを変更しますか?…]というのが出て、キーボード操作が必要になるんだけど これは出ないようにできないのかな?
367 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 17:27:08.04 ID:HkxgIAjH.net] うろ覚えだけど 右クリからやるやつはポリシーがhogeだったらbypassにするみたいなif文が入ってた気がする レジストリで変えれたはずだけど出先だから細かくは分かんないや 適当にググったら出てくるんじゃないかな それかif文にかからないようにポリシーの方を変える
368 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 17:47:50.11 ID:3/R2Wu0q.net] >>367 できました! ありがとうございます
369 名前:デフォルトの名無しさん [2024/12/21(土) 19:56:38.76 ID:IOryZJAZ.net] >>368 間違って実行してしまわないよう、わざわざそういう仕様になっていることを忘れないように
370 名前:デフォルトの名無しさん [2024/12/21(土) 19:57:11.83 ID:IOryZJAZ.net] >>368 バッチファイルというものを知った方がいい
371 名前:デフォルトの名無しさん [2024/12/21(土) 20:34:08.41 ID:kQ229ZTv.net] 的外れなレス付いてんなw
372 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 10:35:42.88 ID:8lbwsaDk.net] バッチこい
373 名前:デフォルトの名無しさん [2024/12/24(火) 22:41:53.48 ID:S4CkJ4V1.net] >>371 そもそもGUIで人間の操作で実行というのが変 何のための自動化なのかわからない
374 名前:デフォルトの名無しさん mailto:sage [2024/12/24(火) 23:14:00.94 ID:ALyk/+99.net] どこからGUIの話が出てきたんだ…?
375 名前:デフォルトの名無しさん [2024/12/25(水) 17:59:30.20 ID:YmcCoB80.net] >>374 「右クリック」と書いてある
376 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 21:34:02.80 ID:G9TljzDw.net] ps1で思考停止するような子を見てるとそう もっと頭を使う訓練を教育機関で受けさせとかないとやばいのではと総務省に問い質したくなるね
377 名前:デフォルトの名無しさん mailto:sage [2024/12/26(木) 00:31:28.78 ID:3BPBxHkr.net] 総務省…?
378 名前:デフォルトの名無しさん mailto:sage [2024/12/27(金) 11:14:09.84 ID:nSbaFnN8.net] >>373 ps1ファイルを右クリでpwshコンソールが起動してスクリプトが実行される て普通にあることだと思うが
379 名前:デフォルトの名無しさん mailto:sage [2024/12/27(金) 12:09:30.67 ID:+TT5rJ9I.net] もう既に解決して終わってるし、>>366 に書いてることをもう一度書く必要はない
380 名前:デフォルトの名無しさん mailto:sage [2025/01/02(木) 12:24:43.46 ID:XSssqHtC.net] $s = "昔し羅馬にこう云う話しがある。後学のため聞いておけと云うんです" Write-Host -ForegroundColor Red -BackgroundColor Black "$($s[12]) $($s[24]) $($s[23]) $($s[19])"
381 名前:デフォルトの名無しさん [2025/01/07(火) 17:30:11.98 ID:150rExn4.net] >>378 それはGUIの操作
382 名前:デフォルトの名無しさん [2025/01/07(火) 17:33:24.53 ID:150rExn4.net] 実行形式のファイルを実行するときにしつこく確認する仕組みに変化した歴史も知らないんだろ。
383 名前:デフォルトの名無しさん mailto:sage [2025/01/08(水) 01:30:32.18 ID:T5jAWt2M.net] 的外れ過ぎる
384 名前:デフォルトの名無しさん mailto:sage [2025/01/08(水) 09:05:49.08 ID:DiodmN71.net] >実行形式のファイルを実行するときにしつこく確認する仕組み 何それ
385 名前:デフォルトの名無しさん mailto:sage [2025/01/12(日) 01:09:34.15 ID:7sMi3UMV.net] gci C:\Windows -include *.log,*.dat は要素が一つも出なくて gci C:\Windows\*.* -include *.log,*.dat gci C:\Windows -recurse -include *.log,*.dat はOKってどういう理屈なの? できれば一番上の書きかたしたい…
386 名前:デフォルトの名無しさん mailto:sage [2025/01/12(日) 10:26:34.53 ID:+COVob5t.net] >>385 仕様。 https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-5.1#4-include 理屈は知らん。過去ログになんかあったような、ちょっと違ったような。(-Filterの話だったような)
387 名前:デフォルトの名無しさん mailto:sage [2025/01/12(日) 14:27:17.12 ID:+gCgMQG7.net] 初期リリースで適当に用意されたコマンドレットの仕様が残ってるだけだから理屈なんて無いだろうよ gciのオプションは普通の人の感覚と違うからWhere-Objectにパイプで渡してフィルタする方がおかしな事にならないよ
388 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 14:43:26.79 ID:It61Xpnn.net] 末尾のスラッシュの有無でフォルダ自体を指すのかその配下を指すのかを区別するのはUNIXでは割と珍しくないだろう Windowsだとファイルパスを文字列というより何らかのエンティティを参照するものと考える傾向があるから馴染みにくいわな
389 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 19:43:42.33 ID:yWOGeGxK.net] この話は末尾がスラッシュかどうかは関係ないよ Include, Excludeを使うときはワイルドカードを含めないとPathで指定した項目自身しかヒットしなくなるというこのコマンドレット固有ルールの話
390 名前:デフォルトの名無しさん [2025/01/27(月) 01:42:20.03 ID:hFrLE9a7.net] V7.47 https://github.com/PowerShell/PowerShell/releases/tag/v7.4.7 V7.5 https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0 が出ました
391 名前:デフォルトの名無しさん [2025/01/27(月) 01:43:08.84 ID:hFrLE9a7.net] 今回から.exeがある。
392 名前:デフォルトの名無しさん mailto:sage [2025/01/27(月) 21:48:58.99 ID:sL8l+nw9.net] .exe版と.msi版の違いが分からん .msiだと問題が起きる環境でもあるのか
393 名前:デフォルトの名無しさん mailto:sage [2025/01/27(月) 22:00:26.88 ID:PdZna4r2.net] MDMで配れない
394 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 01:17:36.51 ID:lMdV6DH3.net] powershellの実行権限デフォルトで縛ってるのなんでなの batは縛ってないのに
395 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 09:34:59.87 ID:RMyxJ4z6.net] batが作られた時代はセキュリティという概念がほとんどなかった いまや甘いと社会的影響も甚大で徹底的に叩かれる時代 何もわからない初心者がメールに添付されたスクリプトを実行できなくて困惑するくらいで丁度いい batという穴が残っているといってもいまは過渡期 移行する選択肢がありたとえば組織のルールで禁止してメールフィルタで弾けばいい
396 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 11:32:38.10 ID:Mu7T1O7D.net] 情弱は我慢して使えってこと
397 名前:デフォルトの名無しさん [2025/02/07(金) 21:28:42.53 ID:lNWVt+S0.net] >>394 誰でも間違って重大ミスをする方がいいのか?
398 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 08:16:37.94 ID:cxNGtJGK.net] https://learn.microsoft.com/ja-jp/powershell/scripting/security/security-features > 実行ポリシーは、Windows プラットフォームにのみ適用されます。 https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_execution_policies > Windows 以外のコンピューターでは、既定の実行ポリシーは Unrestricted され、変更できません。 Set-ExecutionPolicy コマンドレットは使用可能ですが、PowerShell はサポートされていないというコンソール メッセージが表示されます。 Windows 以外のプラットフォームでは Get-ExecutionPolicy は Unrestricted を返しますが、これらのプラットフォームは Windows セキュリティ ゾーンを実装していないため、実際の動作は Bypass と一致します。 なんだこの差は
399 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 08:24:47.70 ID:26aAk0ye.net] 草
400 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 08:47:04.49 ID:Tj0Icuu5.net] マルチプラットフォームで社外の全システムに対応するのもめんどくさそうだしある程度はええやろ UNIXならパーミッションを適切に設定する文化が馴染んでるしな 100点満点じゃないと人様に叩かれる文化は新しいものが生み出せずに萎縮する
401 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 13:21:14.91 ID:1vi9xXrm.net] バッチファイルでも実行権限を持たせる事はできるんだから powershell独自のやつは余計なんだよ
402 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 15:13:57.11 ID:k/NTaFUS.net] .ps1はエディタに紐付け
403 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 15:51:11.00 ID:6WBbu+9W.net] メモ帳に紐付けてます
404 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 09:12:08.62 ID:/wbXAgvm.net] PowerShell 7.5 GA is now available https://devblogs.microsoft.com/powershell/announcing-powershell-7-5-ga/
405 名前:デフォルトの名無しさん [2025/02/18(火) 06:18:26.96 ID:YFjssuad.net] Selectボタンでファイルを選択した後にOKボタンを押下しても、$filePathにファイル名が代入されていません。何が原因でしょうか? ttps://pastebin.com/a3EwP1Lw
406 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 07:51:32.12 ID:WQjhH71Q.net] >>405 テキストボックスには選択したファイルのパスが表示されてるのに、ってこと?
407 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 07:53:13.44 ID:hC2ChTFa.net] scope的に$filePath揮発してたりしない?
408 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 08:02:55.62 ID:WQjhH71Q.net] 関数内で外のスコープの変数に代入する場合はスコープ指定(script: や global:)が必要だったかも
409 名前:デフォルトの名無しさん [2025/02/18(火) 19:01:09.96 ID:cVYWxauq.net] >>406 はい、そうです。 >>407 多分$filePathが揮発しているのだと思うのですが、何故そうなるのかが正直分かっておりません。 >>408 $global:filePath = $null $script:filePath = $null に書き換えても結果は同じでした。orz
410 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 21:38:36.15 ID:Zhun0sKt.net] >>409 408の内容理解してないだろ
411 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 21:45:12.87 ID:X9R6h3Dz.net] $button_Select.Add_Clickの中の $filePath = $dialog_fileSelection.FileName を $script:filePath に変える そもそもイベントハンドラの書き方おかしくない? Add_Click{} じゃなくて Add_Click({}) でしょ
412 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 21:45:47.23 ID:pnZByoKT.net] >>409 惜しいw スコープ指定が必要なのは関数内の代入文側であって、外にある変数定義側ではないよ
413 名前:デフォルトの名無しさん [2025/02/19(水) 05:46:44.36 ID:95a5Qlah.net] >>411 ありがとうございます! $filePathにファイルパスが代入されるようになりました。 >>412 ありがとうございます。 そうだったんですね。勉強になりました。
414 名前:デフォルトの名無しさん [2025/03/01(土) 22:23:09.05 ID:yrcKQQ99.net] ttps://pastebin.com/THGpvEsL ファイルを何も選択していない状態でOKボタンを押下すると、メッセージダイアログボックス「"Please select a file."」が表示され、そのダイアログボックスのOKボタンを押下すると、処理?が終了してしまいます。 OKボタンを押下した際に、そのメッセージダイアログボックス「"Please select a file."」だけ消すにはどうしたらいいでしょうか?
415 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 03:09:52.22 ID:9brWkkbH.net] >>414 当たり前だけど、下記を削除するしかない $button_OK.DialogResult = "OK"
416 名前:デフォルトの名無しさん [2025/03/02(日) 07:10:25.55 ID:yaeCdLgC.net] >>415 ありがとうございます!
417 名前:デフォルトの名無しさん mailto:sage [2025/03/04(火) 14:43:31.10 ID:p/g0UiTR.net] Microsoft Update changes for PowerShell 7 https://devblogs.microsoft.com/powershell/microsoft-update-changes-for-powershell-7/ 「Microsoft Update」を用いた「PowerShell 7」のアップデート計画が変更 まだ「PowerShell 7.2」を利用している場合、米国時間3月14日より7.4へ更新開始 https://forest.watch.impress.co.jp/docs/news/1667304.html
418 名前:デフォルトの名無しさん [2025/03/07(金) 19:36:07.86 ID:zJfq1/au.net] Input Folder用のボタンを押下して対象のフォルダを選択した後、OKボタンを押下すると選択した対象のInputフォルダのパスが取得されていません。 変数スコープまたは"function setSelectButton"におけるswitchが機能していないのおもうのですが、何が原因でしょうか? Copilotに聞いてもダメでした。ボタンなどの部品は関数化しないほうがいいのでしょうか? ttps://pastebin.com/ULTy9dM8
419 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 23:19:13.53 ID:6K+ignj1.net] Add_Clickに渡したスクリプトブロックが実行されるのはボタンクリック時。 その時にはもうsetSelectButtonを抜けてるから、setSelectButton実行時に渡した$folderTypeはもう見えない。 最後の手段的なglobalスコープの使用を避けて手っ取り早く解決するなら、 {〜〜〜}.GetNewClosure()でsetSelectButton実行中の変数スコープを記憶(?)したうえで 自前のクラスとかハッシュテーブル等で入出力しちゃう。とか。適当実装だとこんな。 function setSelectButton($def){ $conf = New-Object System.Windows.Forms.Button $conf.Location = New-Object System.Drawing.Point($def.xAxis,$def.yAxis) $conf.Size = New-Object System.Drawing.Size($def.xSize, $def.ySize) $conf.Text = "Select" $conf.Add_Click({ $dialog_FolderSelection = New-Object Windows.Forms.FolderBrowserDialog if($dialog_FolderSelection.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK){ $def.textBox.Text = $dialog_FolderSelection.SelectedPath } }.GetNewClosure()) return $conf } (略) $inputDef = [Ordered] @{xAxis = 370; yAxis = 50; xSize = 70; ySize = 20; textBox = $textBox_inputFolder;} $outputDef = [Ordered] @{xAxis = 370; yAxis = 70; xSize = 70; ySize = 20; textBox = $textBox_outputFolder;} # create Select button $button_Select_inputFolder = setSelectButton $inputDef $button_Select_outputFolder = setSelectButton $outputDef (略) if([String]::IsNullOrEmpty($inputDef.textBox.Text)){ # show a message dialog if no file is selected ※これで入力欄にフォルダパスをコピペする人(=私)も安心
420 名前:デフォルトの名無しさん [2025/03/08(土) 23:41:12.69 ID:zOJ1gnEL.net] 画面用のコードがひどすぎるのがPowerShell
421 名前:デフォルトの名無しさん [2025/03/09(日) 07:42:20.13 ID:RXTu5Tqn.net] >>419 ありがとうございます! setSelectButton実行時に渡した$folderTypeはもう見えないんですね。
422 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 21:13:50.84 ID:LUWD7xFy.net] Windows 11 バージョン 24H2 で netsh.exe の出力を PowerShell の変数に代入すると、非 ASCII 文字が文字化けする事象について https://jpwinsup.github.io/blog/2025/03/11/Networking/TCPIP/NetshEncodingChange24h2/
423 名前:デフォルトの名無しさん [2025/04/26(土) 01:37:45.27 ID:1l1C1hqe.net] ttps://pastebin.com/0HrXEMvc のHTMLソースから特定のDIVクラス「KW」とそのクラスないを削除する方法はありましでしょうか? 以下ではきえませんでした # HTML読み込み $targetDir = "D:\Download\test\sample.html" $html = Get-Content "D:\Download\test\sample.html" -Raw # KWクラスdivを正規表現で削除 $pattern = '<div\s+class="KW">[\s\S]*?<\/div>' $modifiedContent = $htmlContent -replace $pattern, '' # 結果出力 $processedHtml | Out-File "D:\Download\test\pit.html" -Encoding UTF8
424 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 21:00:04.39 ID:arwW7ZGW.net] >>423 なんで変数の対応がめちゃくちゃなの? 正規表現で力技でやるとこんなところだが xmlとして読み込めばnode削除でいけそうな気がする Add-Type -AssemblyName Microsoft.VisualBasic $html = Get-Content "D:\Download\test\sample.html" -Raw # KWクラスdivを正規表現で削除 $pattern = [regex]"^((?:(?'open'<div[^>]*?>[\r\n]*))|(?'close-open'</div>)|(?:(?!</?div[^>]*>)[\s\S])+?)*(?(open)(?!))" $processedHtml=$pattern.replace($html,{ $r=$args.value $e=0 $args.groups['3'].captures| sort index| ?{$_.index+$_.length -gt $e -and $_.value -cmatch '<div.*class="KW"'}| %{$e=$_.index+$_.length; $r=[Microsoft.VisualBasic.Strings]::replace($r,$_.value,"",1,1)} $r }) $processedHtml | Out-File "D:\Download\test\pit.html" -Encoding UTF8
425 名前:デフォルトの名無しさん [2025/04/26(土) 23:51:52.55 ID:p1PcxSuO.net] ttps://pastebin.com/0M9pbEJt みたいなHTMLから特定のDIVクラス(kw)で定義されている要素を全部削除したいのですが、何かいい方法ありますでしょうか?
426 名前:デフォルトの名無しさん [2025/04/27(日) 15:25:40.97 ID:/1DxBHsK.net] >>425 (>>423 と同一人物だよね) >>424 に礼を言ったうえで、どの点が自身の質問意図に合ってなかったか説明して、 それからもっと具体的に追加質問した方がいいと思うよ。 ところで「xmlとして読み込めばnode削除でいけそう」は試してから言ってるの?何が合わなかったの?
427 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 16:50:54.99 ID:ce45ltSU.net] 滝川クリトリスです
428 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 20:14:14.77 ID:/O0GUF2P.net] 楽しようとして初回マッチ部分のみのreplace使ったけど やっぱり別のが消えちゃうという一抹の不安があるのでreplaceを使うのはやめた 最終行に改行がないままにしたいのかな? $html = Get-Content "D:\Download\test\sample.html" -Encoding UTF8 -Raw # KWクラスdivを正規表現で削除 $pattern = [regex]"^((?:(?'open'<div[^>]*?>[\r\n]*))|(?'close-open'</div>)|(?:(?!</?div[^>]*>)[\s\S])+?)*(?(open)(?!))" $processedHtml=$pattern.replace($html,{ $r=$args.value $text='' $e=0 $args.groups['3'].captures| sort index| ?{$_.index+$_.length -gt $e -and $_.value -cmatch '<div[^>]*?class="KW"'}| %{ $text = $text + $html.substring($e, $_.index-$e-1); $e = $_.index + $_.length - 1 } if($r.length -gt $e) {$text = $text + $r.substring($e, $r.length-$e)} $text }) [Text.Encoding]::GetEncoding("UTF-8").GetBytes($processedHtml) | Set-Content -Path "D:\Download\test\pit.html" -Encoding Byte
429 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 20:24:25.83 ID:/O0GUF2P.net] >>426 試してませんでした HTMLやxmlを扱うことはほぼ無いのであんまり知識が無い で、>>423 の場合では[xml]で読み込めてnode削除でうまくいくんだが 入れ子になってる場合 <div class="KW"> <span> <div class="KW"> </div> </span> </div> とかにはどうやったら簡単に対応できるのかと思ってるところ
430 名前:デフォルトの名無しさん [2025/04/27(日) 22:05:35.62 ID:aGrpQ/Rq.net] 中身全部消すのであれば内側のKWは無視していいのでは
431 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 22:11:37.95 ID:/1DxBHsK.net] 簡単には $text = DOCTYPE宣言を除いた<html>〜</html>とかXMLとして読み込めるテキストデータ $xml = [xml] $text while($node=$xml.SelectSingleNode("//div[@class='KW']")){ $null = $node.ParentNode.RemoveChild($node) } $xml.OuterXml | Out-File 〜〜〜 ## class="aaa KW bbb"の存在とか、インデント等を完璧に維持したい、とかは考慮外。
432 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 22:22:47.91 ID:/O0GUF2P.net] >>431 なるほど こんな感じにしてたんだよ $list=@() $doc.GetElementsByTagName('div')|?{$_.class -eq "KW"}|%{$list+=$_} $list|%{[void]$_.ParentNode.RemoveChild($_)}
433 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 22:48:33.11 ID:/O0GUF2P.net] 悩んでたのは 既に削除しちゃてて存在しない場合にエラー無視はやりたくないなあってところ
434 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 21:45:21.05 ID:TuuGRLh6.net] powershellって日本語に厳しい? 日本語名のフォルダに入れた時だけエラー吐く 英語名フォルダは動く UTF-8BOMで保存してるのに文字化けエラーが治らない
435 名前:デフォルトの名無しさん [2025/05/02(金) 22:24:03.09 ID:OrgxTXnx.net] いわゆる「マルチバイト文字」のことを「日本語」と呼ぶのはジジイ
436 名前:デフォルトの名無しさん [2025/05/03(土) 07:39:35.24 ID:ERFTsxnY.net] UTF-8にBOMは不要
437 名前:デフォルトの名無しさん [2025/05/03(土) 17:59:32.71 ID:0tHkB26n.net] 文字コードが混在するシステムではBOMがあると便利です
438 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 18:08:41.88 ID:qBega2UP.net] それが更に文字コードのバリエーションを増やし失敗を生むのだから本末転倒です
439 名前:デフォルトの名無しさん [2025/05/03(土) 18:08:56.03 ID:PV3Uf1QS.net] PowerShellスクリプトは「UTF-8 with BOM」が前提 >>434 実行時(コンソール)のコードページを確認してみては?
440 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 07:07:42.38 ID:kiovYued.net] shift-jisにすればいいんじゃないの?
441 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 08:23:30.18 ID:GZLENS5k.net] 適切なエンコードの選択 https://learn.microsoft.com/ja-jp/powershell/scripting/dev-cross-plat/vscode/understanding-file-encoding#choosing-the-right-encoding
442 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 11:02:36.68 ID:Bff2jlZm.net] 文字化け対策は [Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 こういうのをpowershellのプロファイルに書き込んで powershell起動時に文字エンコードが適切な値になるようにしておく そしてコンソールのタイトルバーを右クリして設定で適切なフォントが使用されてるか確認
443 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 16:18:47.82 ID:LImQScat.net] >>434 とは別人だが、レジストリ弄ったら文字化けしなくなったわ 初心者泣かせのクソ仕様だな
444 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 10:47:55.61 ID:ARU6YZDD.net] >>443 powershellをアップデートしたらリセットされそうな予感
445 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 15:03:05.65 ID:L74jL6NI.net] >>444 文字化けするようになったのはプロパティでコンソール画面の調整を行ってから デフォルトの状態では文字化けしていなかったのでたぶん大丈夫…と思う
446 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 16:44:31.56 ID:w/29XAyn.net] $a = powercfg.exe -lastwake $aは文字列かと思ったら文字列の配列だった… コマンドの出力に改行が無ければ文字列、含む場合は配列とかいうヘンテコ仕様は何なんだ
447 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 19:51:20.44 ID:xRSUEbTb.net] この振る舞いを知らないと、$a.Lengthが時により文字列長だったり配列長だったりして、例外やバグになる。 さらには標準出力が何もないと文字列型である空文字ではなくNULL(AutomationNull)になるし。 外部プログラムの標準出力を受け手が改行ごとに分割して解釈するのはgrep等でよくあるからヘンテコ仕様とは思わないけど、 沢山あるpowershellの落とし穴の1つだと思ってる。
448 名前:デフォルトの名無しさん mailto:sage [2025/05/19(月) 10:22:41.03 ID:Z1VKFLAg.net] $a = @(powercfg.exe -lastwake) こんなふうにして必ず配列で返るようにするといいです
449 名前:デフォルトの名無しさん mailto:sage [2025/05/19(月) 21:43:03.14 ID:qL6NUCv5.net] キモい記法だな
450 名前:デフォルトの名無しさん mailto:sage [2025/05/19(月) 23:54:30.60 ID:2rbfAZ+2.net] このキモい記法ってコレクション返す関数書くと使わざるを得ないんだよな… 関数とかスクリプト最後のreturnにコレクションを渡すと勝手にバラす謎仕様 最初知らなくてDataTableのつもりがDataRowの配列で返ってきたときはびっくりした
451 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 01:53:43.90 ID:yO05o0Kw.net] [string[]]$aで受け取る
452 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 12:57:58.71 ID:NKLxZTlt.net] 時刻データ(ISO 8601)が入った JSON を invoke-RestMethod で受け取る あるいは ConvertFrom-JSON すると時刻が powershell 形式になる データの内容を見て勝手に変換してるんか…
453 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 14:18:35.07 ID:Xl2+DDPz.net] >>452 勝手にDateTime型でだしてくるってこと?
454 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 15:30:07.39 ID:NKLxZTlt.net] >>453 こうなる (ConvertFrom-Json('{"data":"2025-05-19T16:35:42.000Z"}')).data 2025年5月19日 16:35:42
455 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 15:52:27.90 ID:NKLxZTlt.net] 括弧いらなかった(どうでもいい) (ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data
456 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 09:54:31.02 ID:rXr/G70T.net] ならんが(Win10, Win11, PSv5.1 -nop) PS C:\Users\User5> (ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data 2025-05-19T16:35:42.000Z PS C:\Users\User5> (ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data.GetType().FullName System.String
457 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 09:59:36.90 ID:2NJ41Wyd.net] powershell5とpowershell7で動作が違うね powershell7だと変換される
458 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 17:10:41.92 ID:NEzFfeHM.net] 大半が5.1しか使わないから7の方が合わせろよって事
459 名前:デフォルトの名無しさん [2025/05/21(水) 18:50:19.37 ID:UAEUk5lE.net] https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/convertfrom-json?view=powershell-7.5#notes PowerShell 6 以降、 ConvertTo-Json はタイムスタンプとして書式設定された文字列を DateTime 値に変換しようとします。 PowerShell 7.5 では、DateKind パラメーターが追加されました。これにより、タイムスタンプ文字列の変換方法を制御できます。 このパラメーターは、次の値を受け入れます。
460 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 00:10:17.72 ID:9HpiqCeZ.net] powershell7っていつになったらOS標準搭載されるんだろう スクリプト配れないから困るんだよね
461 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 11:26:30.59 ID:F3nFA9Ml.net] 配ればいいじゃん 7で動作確認してますって書いとけばいいだけ
462 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 11:45:12.25 ID:jKpO0eO6.net] その小学生低学年みたいな書き込み必要か?
463 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 12:05:00.87 ID:KEAdRoBs.net] いつになってもされないよ Windowsのサポート期間と合わないから、標準で入れたところで結局塩漬けされて第二のPowerShell5になるだけ そして最新のバージョンのPowerShellは今以上に誰も使わなくなる .NET4.8のサポートが終了する頃にはとっくにPowerShellは開発終了してるだろうし、無理に移行させる理由がないんだよ
464 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 12:24:16.18 ID:uXNyGdUq.net] OS標準搭載とか安定が必要なのはv5を使え、v7は破壊的変更を加えながら育ててくって棲み分けになってるから標準搭載はナイだろうなあ
465 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 18:03:39.76 ID:sjc0o4g2.net] 6以降はWindowsファーストでUNIXでも動くシェルとしてわりとユニークな立ち位置なのでそれなりに存在価値はあり、 MSスタックどっぷりな人間がAzureをはじめとしてクラウドでLinuxに触れざるを得ないときのハードルを下げるのに役立っている Winのオンプレ鯖やPCのシェルとしては5までで終わり
466 名前:デフォルトの名無しさん mailto:sage [2025/06/24(火) 19:36:57.27 ID:ZrkIV361.net] .NET Framework 4系(4.8.x)がWindowsに同梱され続ける限り、PowerShell 7.xが標準になることはなさそう Unicodeの年次アプデがもう何年も反映されてなかったり、色々とキツいけど仕方ない
467 名前:デフォルトの名無しさん mailto:sage [2025/06/25(水) 00:38:29.01 ID:6PeRjodX.net] powershellで攻めた使い方するくらいならpythonで書くよなぁ インストール不要で動くという最大のメリットがない7系はpowershell好きにしか響かないと思う
468 名前:デフォルトの名無しさん mailto:sage [2025/06/25(水) 13:28:46.57 ID:zWuAHPd0.net] >>467 逆にpowershell7をインストールしないメリットて何だ
469 名前:デフォルトの名無しさん mailto:sage [2025/06/25(水) 15:20:42.55 ID:TZWJXUbx.net] Pythonをインストールしないメリットと似たようなもん
470 名前:デフォルトの名無しさん mailto:sage [2025/06/26(木) 17:27:15.49 ID:lOjfAOzg.net] powershell 7 が読めない速さで(読めないのでキャプチャした) ”Creating implict remoting module ... [Getting command information from remote session ... 74 commands received 0s]” とか黄色文字で一瞬表示するの止められないんだろうか チラチラして鬱陶しい implict remotingて何だと調べると互換性の無いモジュールを裏でpowershell 5 を起動して処理してるんだとか Set-Location 程度でも発動する
471 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 01:00:11.07 ID:UBYVDQZY.net] 昔数百万行の各個別コマンドをpowershellでスレッドプール実装して並列処理で捌いたことあったけどvscodeの拡張機能でのデバッグが無かったら諦めてたと思う 拡張機能のおかげで大分開発しやすくなった
472 名前:デフォルトの名無しさん [2025/06/28(土) 16:43:22.73 ID:uH6ba5rf.net] >>471 なぜマルチスレッドの実装にこだわってマルチプロセスにしなかったのか? スレッドのコントロールは面倒くさい。 互いのスレッドが干渉し合わないなら、別のプロセスとして実装すべき。
473 名前:デフォルトの名無しさん mailto:sage [2025/06/30(月) 14:31:10.94 ID:+52Dh5n7.net] 「Windows PowerShell 2.0」は非推奨、将来的に削除 〜Microsoftが改めて注意喚起 「Windows PowerShell 5.x」や「PowerShell 7.5」への移行を https://forest.watch.impress.co.jp/docs/news/2026721.html
474 名前:デフォルトの名無しさん [2025/07/08(火) 11:07:44.40 ID:ub1Gvu25.net] >>397 batの方が重大なミスしそうなんですがそれは
475 名前:デフォルトの名無しさん [2025/07/08(火) 11:08:23.57 ID:ub1Gvu25.net] >>398 っぱpwsh on linuxよ
476 名前:デフォルトの名無しさん mailto:sage [2025/07/08(火) 11:16:15.29 ID:jxaCuQsN.net] >>474 よく読め
477 名前:デフォルトの名無しさん [2025/07/08(火) 11:16:26.31 ID:ub1Gvu25.net] >>466 何時までも4,5系に留まるってことは無いと思うけどね 実際2からアップグレードされてきた訳だし .NET Frameworkとの差異は比較的大きいにせよ >>473 の件もあるしそのうちプリインされるだろCore版が なお6か7かはたまたまだ見ぬ8かは知らんけど
478 名前:デフォルトの名無しさん [2025/07/09(水) 05:32:28.94 ID:aeqwBJS6.net] powershellの日本語ドキュメント、chatGPTに翻訳させたらもっとマトモにならんかなあ…
479 名前:デフォルトの名無しさん [2025/07/09(水) 05:34:55.69 ID:aeqwBJS6.net] 6もしぱらくバグまみれだったし7もバグどんどん見つかっていったし、最新がプリイン入る事は無いと思うな 多分最新の1つ前の最終マイナーバージョン、すなわちもし今なら6の最終バージョンじゃね
480 名前:デフォルトの名無しさん mailto:sage [2025/07/09(水) 06:17:43.31 ID:b3V2Axv4.net] .NET Frameworkと違って.NET5以降がOSに同梱はないでしょ MS的に推奨かは知らんが関連するライブラリを標準モジュール含めて全部同梱配布が.NET系アプリのスタンダードになってるし今は だったらロードさせることのないdllをOS標準で入れる意味も無いし未来永劫Powershell6以降は来ないって半分諦めてるけどね
481 名前:デフォルトの名無しさん mailto:sage [2025/07/09(水) 17:36:33.28 ID:ohpjpVt+.net] 本日はご多忙の中、協力関係者様にお集まりいただきありがとうございます。 powershellは無事5.1で完結いたしました。 powershell第一部・完 6以降はまた別のお話とさせていただきます。 こんな感じ
482 名前:デフォルトの名無しさん mailto:sage [2025/07/10(木) 00:21:06.24 ID:z96em9yx.net] ps1の1は当時はバージョン名の想定じゃなかったっけ
483 名前:デフォルトの名無しさん mailto:sage [2025/07/10(木) 07:27:18.57 ID:qajreXxd.net] >>482 バージョンを表しているのは間違いない ただ言語のメジャーバージョンとファイルフォーマットの互換性を表すバージョンは必ずしも一致しないって扱いなので、もし次に拡張子が変わるときが来るなら.ps2になる https://devblogs.microsoft.com/powershell/ctp-versioning/ Excelを例に取ると97、2007でそれぞれ内部形式が変わっていて、2007では拡張子も変わっているので、いうなれば.xlsxは.xl3に相当するイメージ(5.0以前は無視した場合) .ps1は最初はバージョンごとに毎回数字を変えるつもりだったけどやめたって説が巷で主流だけど、コレは公式のソースが見つからなかった
484 名前:デフォルトの名無しさん mailto:sage [2025/07/10(木) 11:15:28.70 ID:DIIl0KYX.net] microsoftは妙に互換性にこだわるから 拡張子.ps1はpowershellがどんなバージョンになっても変わらないよ 今は拡張子に「バージョンの番号が含まれてます」っていう意味すら意味をなくしていて ただ単に「.ps1はpowershellスクリプトの拡張子です」ってだけの意味でしかないから 今さら拡張子を新しくするメリットが無い
485 名前:デフォルトの名無しさん mailto:sage [2025/07/10(木) 11:20:06.12 ID:DIIl0KYX.net] >>484 と思ったけどバージョン5とそれ以降では互換性に問題のある事が多かったなw そういう誤実行を防止する目的で拡張子を変えるメリットあるかなぁ
486 名前:デフォルトの名無しさん mailto:sage [2025/07/10(木) 11:55:28.72 ID:nn3AKhN3.net] もうexeにすればいいんじゃねえかな powershellで作ったかどうかすら判らんし
487 名前:デフォルトの名無しさん mailto:sage [2025/07/11(金) 21:41:14.58 ID:UFItDSPS.net] https://devblogs.microsoft.com/powershell/ctp-versioning/ PowerShell Scripts continue to use “.PS1”. We will continue to pursue this approach until there is a major change in the CLR or .NET frameworks which force us to go side-by-side. It is at that point that we’ll go from .PS1 to .PS2 . Until then we will stay with .PS1 and everything that runs today will continue to run in new releases.
488 名前:デフォルトの名無しさん mailto:sage [2025/07/12(土) 15:57:57.17 ID:KKY9VgUr.net] 記事の日付は2007年やぞ
489 名前:デフォルトの名無しさん mailto:sage [2025/07/14(月) 21:23:18.49 ID:54I3beLE.net] PowerShell6で拡張子を変えなかった時点で この先も.ps1のままなのはほぼ確定だよね
490 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 01:51:30.33 ID:kwekYfOc.net] 俺たちのJeffrey Snoverはもういない、いないんだ…
491 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 14:43:34.46 ID:iicdRBcv.net] コマンドプロンプト使ってる人はたくさんいるけど powershell使ってる人ここ10年で一度も見たこと無い
492 名前:デフォルトの名無しさん [2025/07/15(火) 17:26:35.63 ID:J6nh+lbb.net] >>491 コンソール(の外観)のハナシ?
493 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 17:58:06.00 ID:eVgbUR/v.net] 俺も、以下の1行をバッチファイル内に記述して実行する程度の事しかやってないな。 ↓ powershell.exe -command ("Write-EventLog -LogName Application -EntryType Information -Source 'WSH' -EventID 0 -Message '(%~f0)_Windows Updateの画面を起動します。'") && start "" ms-settings:windowsupdate ※注1: Windows7以降で標準搭載されているPowerShell(バージョン2.0以降)で使用可能な「Write-EventLog」コマンドレットは、バージョン6.0以降には搭載されてない。 だがバージョン2.0~5.1いずれかとの互換性が保持されている環境(「$PSVersionTable」変数内の「PSCompatibleVersions」プロパティを参照すれば確認可能)では問題ない。 ※注2: 「ms-settings:windowsupdate」コマンドはWindows10~11のみで使用可。
494 名前:デフォルトの名無しさん [2025/07/15(火) 17:58:26.26 ID:onP4ElKb.net] Terminalに移行したら分からなくなっちゃったか
495 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 18:07:10.16 ID:yseOir/R.net] 気軽にスクリプト実行できないから使い道がない
496 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 20:54:02.36 ID:1cN94XmW.net] 本気で言ってるのか
497 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 21:58:24.95 ID:ZcYliqlC.net] 弊社はIT企業じゃないし、勝手にPythonを入れたりするとたぶん怒られるので Windowsに最初から入ってるPowerShellを便利に使ってました たまに、起動用のbatファイルとPowerShellスクリプトをセットにして同僚に渡すこともありました
498 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 08:58:08.06 ID:83bEnGjZ.net] いい加減ペイント3DみたいにPowerShellのアプローチは失敗でしたと認めちゃばいいのに(´・ω・`)
499 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 12:43:16.16 ID:09DhhKQk.net] もうログインスクリプトにも使われてるから Windowsの終焉まで逃げ出せないよ
500 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 22:06:02.34 ID:5d/ixC+9.net] PowerShellのどのアプローチが失敗なのか具体的に
501 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 23:17:35.03 ID:7/+dohrQ.net] 起動用のbatが必要になっちゃうってのがな PowerShell単独では使いにくい
502 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 23:57:41.77 ID:YcDGevHy.net] ん?どういうこと?
503 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 00:10:22.13 ID:sGHKyXGW.net] ダブルクリック実行できるようにするために手間がかかる
504 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 00:22:02.88 ID:Nf2HlQRn.net] 正直言ってexecutionpolicyの初期値は大失敗だろうなぁ 結局.batか.cmd経由でダブルクリック起動できるんだからマジで無意味 ネットから落としたファイルはzoneidがあるから設定に関係なく警告でるんだし あとcmdもPowershellもWindowsのオマケであることに価値があるのにPowershell5.1までしか同梱されてないし
505 名前:デフォルトの名無しさん [2025/07/17(木) 07:33:01.42 ID:1VTmgFuN.net] もう直接powershell.exeに関連付けしてる
506 名前:デフォルトの名無しさん [2025/07/17(木) 08:05:58.12 ID:9jYPg0KZ.net] >>482 それはバージョン1として普及させただけ。 いまとなってはバージョンを表してはいない。
507 名前:デフォルトの名無しさん [2025/07/17(木) 08:06:51.20 ID:9jYPg0KZ.net] >>486 それはWindowsしか知らない人間の発想
508 名前:デフォルトの名無しさん [2025/07/17(木) 08:08:24.36 ID:9jYPg0KZ.net] >>491 Windowsはターミナルというアプリで統合された。 PowerShellはコマンドプロンプトも含めているので、あなたが気づいていないだけ。
509 名前:デフォルトの名無しさん [2025/07/17(木) 08:09:59.60 ID:9jYPg0KZ.net] >>495 実行形式にする必要がない。UNIX、Linuxは実行形式ファイルを嫌う。 ブラックボックス化はやめろ!
510 名前:デフォルトの名無しさん [2025/07/17(木) 08:11:35.61 ID:9jYPg0KZ.net] >>501 バッチファイルにする必要もないよ? バッチファイルなどでラッピングするのはWindowsの使い方のひとつでしかない。
511 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 09:38:35.80 ID:+XuQIino.net] >>506-510 全部元発言者を意図を読み取れてない馬鹿のレス UNIX使いの印象を悪くするだけなのでやめてくれ
512 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 12:08:51.21 ID:uGnrWKuf.net] powershellは小数点以下のバージョンアップでも毎回互換性を壊す 破壊的変更を入れてくるから普及させる気無いんじゃね
513 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 12:30:14.69 ID:l8YWhCPU.net] 実際、6以降は普及させる気無いと思うよ Azure関連を中心にMS社内で使うために開発続けてるだけでしょ
514 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 21:54:18.35 ID:yTEYa8cJ.net] PowerShellが失敗作じゃないと困る人がいるのは分かった
515 名前:デフォルトの名無しさん mailto:sage [2025/07/17(木) 22:59:18.52 ID:o0/3IwZx.net] PowerShell自体の出来はともかく、6以降は周辺環境がね PowerShellは.NETがWindowsの中核として位置付けられていた頃に設計されており、 システムワイドにインストールされた.NETに安定的に依存できることが大前提なのよ 知っての通りその前提は完全に覆されてしまい、存在意義を失おうとしている
516 名前:デフォルトの名無しさん mailto:sage [2025/07/18(金) 01:15:27.61 ID:T97Bau37.net] 知っての通りどころか.net frameworkは今もWindowsと一蓮托生だけど .netと.net frameworkを分けて書かないと意味不明な文章が出来上がる
517 名前:デフォルトの名無しさん mailto:sage [2025/07/18(金) 22:16:02.55 ID:avd6O0J8.net] Windows以外で.Netで作られたアプリやサービスなんてあんの?
518 名前:デフォルトの名無しさん mailto:sage [2025/07/18(金) 22:17:51.22 ID:r2egjf+1.net] pythonで良くない?駄目?
519 名前:デフォルトの名無しさん mailto:sage [2025/07/19(土) 02:03:44.93 ID:QndlLNYI.net] pwsh.exe
520 名前:デフォルトの名無しさん [2025/07/19(土) 08:55:57.75 ID:jBcCcJ6x.net] >>518 Pythonがそこまで言い言語だとは思わないので
521 名前:デフォルトの名無しさん mailto:sage [2025/07/19(土) 10:16:02.54 ID:F2LZk1nd.net] >>517 ゲームエンジンのUnity
522 名前:デフォルトの名無しさん mailto:sage [2025/07/19(土) 19:43:58.62 ID:PVxrNHN1.net] >>517 GitHub Actions
523 名前:デフォルトの名無しさん mailto:sage [2025/07/20(日) 10:33:30.33 ID:8UONs9WI.net] >>515 は、元はシステム全体でひとつの.NETフレームワークを使ってPowerShellをCOMに対するWSHポジにするつもりだった、という意味だろうけど .NETフレームワーク自体最初から複数バージョンを共存させる設計になってるので、果たしてそのような構想はあったのだろうか
524 名前:デフォルトの名無しさん mailto:sage [2025/07/20(日) 11:36:14.91 ID:nDfpIeCg.net] >>523 5以前のPowerShellはサイドバイサイドに対応していないから、使用される.NET Frameworkは結局一つだけ
525 名前:デフォルトの名無しさん mailto:sage [2025/07/24(木) 02:44:32.63 ID:uw32EQ1Q.net] >>523 > .NETフレームワーク自体最初から複数バージョンを共存させる設計になってるので、果たしてそのような構想はあったのだろうか .net frameworkはそんな設計じゃないぞ…
526 名前:デフォルトの名無しさん [2025/07/24(木) 18:49:30.39 ID:bvlLnJ99.net] コマンドレットを作ったが中途半端で.NET Frameworkを呼び出せばいいということにしたが、これではPowerShellを作った意味がないとしてPowerShellを拡張していまの混乱状態に至る。
527 名前:デフォルトの名無しさん mailto:sage [2025/07/24(木) 20:21:14.09 ID:3SMUfFNx.net] PowerShell独自の構文や機能はいらん .Net実行できる部分だけでいい C#Scriptがほしい
528 名前:デフォルトの名無しさん mailto:sage [2025/07/24(木) 21:28:50.84 ID:Ii6lkj2E.net] C#コードを単一ファイルでスクリプトのように書ける言語機能が「.NET 10」でテスト中 従来のプロジェクトベースへの変換も簡単 https://forest.watch.impress.co.jp/docs/news/2018094.html
529 名前:デフォルトの名無しさん mailto:sage [2025/07/24(木) 22:28:33.22 ID:qxgm8L3v.net] powershellのAdd-Typeを使えばC#を実行出来るらしいが
530 名前:デフォルトの名無しさん [2025/07/26(土) 11:52:54.27 ID:VPjMt5X4.net] Add-TypeのC#は、Windows API使いたい時、局所的に処理速度を上げたい時によく使う。
531 名前:デフォルトの名無しさん mailto:sage [2025/07/26(土) 19:50:25.05 ID:kldGNMpl.net] ぜんぜん分からないんですけどAdd-TypeでC#を書くのって インテリセンスが効かなそうで、ちょっとしんどそうなんですけど そうでもないんですか
532 名前:デフォルトの名無しさん mailto:sage [2025/07/26(土) 20:51:36.43 ID:eh3q3MEs.net] PowerShellで使う程度のものなら余裕でバイブコーディングでいけるからどうでもいい
533 名前:デフォルトの名無しさん mailto:sage [2025/07/26(土) 22:09:50.67 ID:kldGNMpl.net] なるほど
534 名前:デフォルトの名無しさん mailto:sage [2025/07/27(日) 01:39:44.77 ID:sXx2dSLi.net] もっとc#に近い記法にしてほしかったのになんでそうならなかったんだろう 配列の宣言とかセミコロンがないとか
535 名前:デフォルトの名無しさん mailto:sage [2025/07/27(日) 05:42:54.86 ID:L6p6i+Me.net] クラスはほぼC#だけど
536 名前:デフォルトの名無しさん mailto:sage [2025/07/27(日) 08:16:33.47 ID:/sb9ajQY.net] PowerShellは名前の通りシェルだからな 単なるスクリプト言語が欲しいだけならWSH.NET的なものを作ってる
537 名前:デフォルトの名無しさん mailto:sage [2025/07/27(日) 09:15:11.85 ID:zaK1ilRt.net] 今のMSだったらRustあたりで作ったWindows CLIで一通りの管理タスクを一貫したコマンド体系でやれるようにした上で、 スクリプトはbashでもPythonでも何でも好きなの使えみたいにしてるだろうね 今となってはPowerShellはバルマー時代の古き悪きMSを象徴する遺産の一つ
538 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 09:16:16.29 ID:BMbzFeOA.net] 最初はbashの採用を検討してたけどWindowsには向かないって分かったからわざわざPowerShellを作ったんだが https://x.com/jsnover/status/976904848162435072
539 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 10:39:54.16 ID:dloezDzP.net] >>538 その理由はファイル指向のUNIXと違ってWindowsはAPI指向だからとJeffreyは述べてるんだけど、 一方でUNIX的なシェルで扱うのに適したCLIコマンドを整備するという方向もありえて、 実際MSがPowerShellにベットする以前はWMICのようにラッパーとしてCLIコマンドを整備していく方針だったんだよ ただ、その方向で進む限りWindows上でのコマンドラインシェルは特殊なラッパーに依存することになり、決してWindowsスタックにおける主流になり得ない そこで当時Windowsの新たな中核技術として喧伝されていた.NETプラットフォームに乗ることで、 MS社内にサービスしつつ一気にWindowsでのコマンドラインシェルを主流に押し上げようとしたわけだね で現状はというと、肝心の.NETが主流から外されちゃって、PowerShellは一般のアプリの一つになっちゃいました(いまここ
540 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 11:02:51.49 ID:dloezDzP.net] あと、現状について周辺の情勢も踏まえると、CLIを使ってAPI指向のプラットフォームを管理するスタイルはPowerShell 初期開発の当時と比較して遥かに市民権を得ているといえる それはひとえにクラウドによるもので、現在ではクラウドプラットフォームのAPIをCLIを使って操作することは普通に行われており、しかもその多くはJeffreyの懸念に反して旧来のUNIXシェルを使用している この現状を踏まえて今Windowsのコマンドライン管理を再考するとすれば、PowerShellのようなものが生まれる可能性は低いといえる
541 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 17:29:52.01 ID:CQsGHQXP.net] Windowsは(少なくともOLE〜.NET全盛期の頃のWindowsは)APIもオブジェクト指向する方向性だったので それを操作するスクリプト言語もCOMオブジェクトや.NETオブジェクトを長期保持できなければいけない 単発で終了するCLIコマンドを揃えてもだめだろう
542 名前:デフォルトの名無しさん [2025/07/28(月) 19:14:24.95 ID:7Fge/X80.net] おっさんエンジニアが全然使わないから無理だわ
543 名前:デフォルトの名無しさん [2025/07/28(月) 19:32:06.85 ID:K95kqw+R.net] >>528 それだとVBScriptの二の舞
544 名前:デフォルトの名無しさん [2025/07/28(月) 19:33:30.80 ID:K95kqw+R.net] >>534 そこがマイクロソフトの変なところ いろんなプログラミング言語を研究して最良のものを作ったというのが当初の売り文句だった
545 名前:デフォルトの名無しさん [2025/07/28(月) 19:34:24.66 ID:K95kqw+R.net] >>538 それはプライドが許さなかっただけ
546 名前:デフォルトの名無しさん [2025/07/28(月) 19:35:04.74 ID:K95kqw+R.net] >>538 グーグルおじさんじゃねえか
547 名前:デフォルトの名無しさん [2025/07/28(月) 19:37:29.63 ID:K95kqw+R.net] >>541 WindowsはWindows SDK開発がC言語でもC++でもいいというところから始まったせいで、形だけオブジェクト指向のC++が基本になってしまった。
548 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 20:23:32.91 ID:0zFGFjxD.net] 後発だからいろんな言語を参考にできるという強みがある一方で Windowsのシェルスクリプトという世界最大級のしがらみのもと あらゆるステークホルダーが全方位から好き勝手なことを言い 無数の歴史的経緯を踏まえつつデザインしないといけない無理ゲーなプロジェクト 変なクセが多い言語だけど苦労が偲ばれるからあまり文句を言う気にはなれない
549 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 20:35:24.51 ID:n+5V5/p3.net] CとB-Shellが混じったような半端な記法
550 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 21:11:45.32 ID:s3rviGhL.net] 今なら普通にTypeScriptになるだろうね
551 名前:デフォルトの名無しさん mailto:sage [2025/07/28(月) 21:57:11.64 ID:pEErs1kG.net] bat埋込み技法とAdd-Typeでcsスクリプト化したった スクリプトのくせに起動が遅いのが不満
552 名前:デフォルトの名無しさん mailto:sage [2025/07/29(火) 08:49:01.81 ID:zbO0uIbs.net] パイプにバイナリが流せるようになったPowerShell 7.4 からは使える子になった
553 名前:デフォルトの名無しさん [2025/07/29(火) 12:01:37.45 ID:0YhddUmf.net] VBSもなんやかんや生き続けると思ったけどOSとしてサポート終了となれば話しは別やな
554 名前:デフォルトの名無しさん mailto:sage [2025/07/29(火) 14:11:31.33 ID:/sYzcWbW.net] >>552 パイプにバイナリ通せるつって1バイトずつbyteで送られてきても困るんだが 実際のとこどうなっとんの
555 名前:デフォルトの名無しさん [2025/07/29(火) 17:07:26.34 ID:HrDR44lc.net] コマンド間にControl-Streamかまして調整する
556 名前:デフォルトの名無しさん mailto:sage [2025/07/29(火) 21:53:14.21 ID:J2wyXy1Z.net] >>550 .NET対応のスクリプト言語なら静的型付けなJScript.NETが前からあるんだから TypeScriptなんて中途半端な言語はいらない Introducing JScript .NET https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/scripting-articles/ms974588(v=msdn.10)
557 名前:デフォルトの名無しさん mailto:sage [2025/07/31(木) 08:21:16.74 ID:y/q8ihDv.net] Windows PowerShell って python3 -c 'print("hoge")' とか curl なんちゃら | tar かんちゃら すらできないのに cmd.ехе にとってかわろうなんて無理筋にもほどがある この辺だけでも PowerShell から持ってくればいいのに
558 名前:デフォルトの名無しさん mailto:sage [2025/07/31(木) 11:23:28.67 ID:+PK2lVhx.net] もう諦めてWSLでbash使えばいい
559 名前:デフォルトの名無しさん mailto:sage [2025/07/31(木) 13:18:34.83 ID:cbQ+pPIq.net] >>557 互換性が無いのにデフォルトのAliasでcurlがInvoke-Webrequestになってるの酷い
560 名前:デフォルトの名無しさん mailto:sage [2025/07/31(木) 22:32:58.67 ID:H5u1AeiS.net] bashでは駄目だからわざわざPowerShellを作ったのにbash使えばいいとか意味不明すぎ
561 名前:デフォルトの名無しさん mailto:sage [2025/08/01(金) 00:05:22.62 ID:2FKaw99x.net] curlがエイリアスって件だけは俺も擁護できない あの罠は誰もが一度は引っかかる
562 名前:デフォルトの名無しさん mailto:sage [2025/08/01(金) 07:56:40.22 ID:z02NetRk.net] >>560 PowerShellはWindowsの管理のために作られたもので、その用途においてbashは不向きだといっているのであり、 君が示したようなWindows管理と無関係なケースでbashより推奨されているわけではない 加えて現在ではWSLという完全なUNIX環境がWindows上でシームレスに使用できるのだから、もはやPowerShellの役割は上記の通り極めて限定的になっている 一点だけ汎用シェルとしてのPowerShellの特徴として構造化データに強いというのがあるが、それだけならNushellとかの方が遥かに使いやすいよ
563 名前:デフォルトの名無しさん mailto:sage [2025/08/01(金) 08:52:42.59 ID:TWGrPtc3.net] ・ >>557 の二つの例は PowerShell では問題なく実行できる ・ Windows のデフォルトコマンドラインシェルは Windows PowerShell 過去のしがらみで PowerShell をデフォルトにできないなら Windows PowwerShell に >>557 が実行できるように機能追加するべき Experimental feature として必要に応じで Enable できるように とにかく今の Windows PowerShell がデフォルトってのが最悪
564 名前:デフォルトの名無しさん mailto:sage [2025/08/01(金) 09:31:11.55 ID:ciUSYvyR.net] ・一部の人は「PowerShell」と「Windows PowerShell」を分けて考えている バックポートしろって話ならできるのでは 公式がやるかどうかはともかく
565 名前:デフォルトの名無しさん [2025/08/03(日) 20:29:44.07 ID:kVKBj15M.net] C#と同じでWindowsだけのものはバージョンが古いものだけ 単にPowerShellと呼んでいるのは、WindowsとLinuxとMacOSで動く製品だからだ。
566 名前:デフォルトの名無しさん [2025/08/13(水) 10:09:50.25 ID:lyLUlfa6.net] >>562 wslでpwsh使おうって方向性じゃないの? chshするとwinとシームレスで快適だぞ 別にchshしなくてもホストのwin上リモートで繋げるしwslとの相性バツグン
567 名前:デフォルトの名無しさん mailto:sage [2025/08/13(水) 14:33:52.76 ID:BMYIv7Jv.net] PowerShell 2.0 removal from Windows https://support.microsoft.com/en-us/help/5065506 PowerShell 2.0 will be removed in a later release starting in August 2025 for Windows 11, version 24H2 and a September 2025 release for Windows Server 2025. All later releases for Windows 11 and Windows Server 2025 will not include PowerShell 2.0.
568 名前:デフォルトの名無しさん mailto:sage [2025/08/13(水) 16:04:08.55 ID:VzGNLP/v.net] .NET 10では「dotnet run」で.csファイルをそのままスクリプトとして実行できるようになるっぽい(要.NET SDK) 実行時にビルトされる点はこれまでと変化ないけど、ビルド成果物が一時フォルダに吐かれる?のか、.csファイルの場所が散らかることがなくなってスクリプト的に扱えるように 実行時のオーバーヘッドは...PowerShellと大差ない模様
569 名前:デフォルトの名無しさん [2025/08/13(水) 18:30:43.34 ID:vtzVqfUP.net] Pythonを検索してもファイルが見つかりませんとなります。 誰かどうすればいいか分かりますか?
570 名前:デフォルトの名無しさん mailto:sage [2025/08/14(木) 00:36:43.33 ID:9QEKXUa7.net] 日本語でおk
571 名前:デフォルトの名無しさん mailto:sage [2025/08/14(木) 07:06:36.79 ID:jDrEWEUc.net] 7をインストールしたけどエラー吐く時に黒背景に赤文字ってどうにかならん?くっそ見にくい
572 名前:デフォルトの名無しさん mailto:sage [2025/08/14(木) 09:27:10.03 ID:Do/BXbHP.net] じゃあそれ夏休みの宿題な
573 名前:デフォルトの名無しさん mailto:sage [2025/08/14(木) 09:54:56.24 ID:vhNMb463.net] $PSStyle.Formatting.Errorを変更する about_ANSI_Terminals https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_ansi_terminals
574 名前:デフォルトの名無しさん [2025/08/14(木) 18:59:18.68 ID:eBuFE50k.net] 厨二シェル
575 名前:デフォルトの名無しさん mailto:sage [2025/08/15(金) 21:38:08.69 ID:QOcfL0u7.net] UNIXシェルが?
576 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 04:08:48.96 ID:TBSqwQ7N.net] powershellってコマンドがいちいち長ったらしくて打つのダルいんだよな shellみたいに2文字3文字の略称で何の意味かわからんコマンドも学習するのに困るけど
577 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 05:22:57.26 ID:X86RYV3a.net] それな
578 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 12:37:42.26 ID:B434g2i0.net] PowerShellのAdd-Typeでc#が書けるとよろこんだもののpowershell.exeの起動がクソ遅くcscでコンパイルする方が速い なにやってんのコレ
579 名前:デフォルトの名無しさん [2025/08/17(日) 13:12:08.30 ID:jIhEo17k.net] エイリアス使え
580 名前:デフォルトの名無しさん [2025/08/17(日) 13:29:34.64 ID:dA3TcCkL.net] ps1ファイルって暗号化とまでは行かなくとも難読化くらいはできねーの?
581 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 15:36:02.04 ID:DpVlhT9Y.net] 正規表現の検索パターン内で変数配列を使いたいが角括弧のせいで動かない エスケープの方法を教えてほしい 行末に一致させたいとして -Pattern "$aryr[5]$" #ng -Pattern "$arry`[5`]$" #ng -Pattern "$aryr\[5\]$" #ng -Pattern ($arry[5] + "$") #ok 美しくない
582 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 16:37:39.55 ID:CNACV2eM.net] コレじゃダメなんだっけ? "$($arry[5])$"
583 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 20:58:20.47 ID:DpVlhT9Y.net] >>582 動いた ありがとう!
584 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 21:28:17.56 ID:jRtquIfz.net] >>578 DLL化してPowerShelllで読み込む PowerShell使わずに済むならC#だけでもいいと思うけど
585 名前:デフォルトの名無しさん [2025/08/18(月) 19:07:51.36 ID:zdocw/KA.net] これが好み '{0}$' -f $array[5]
586 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 20:04:20.41 ID:Pa7e5Gs8.net] キモい記法だな
587 名前:デフォルトの名無しさん [2025/08/18(月) 21:29:02.39 ID:Ydgj3IKT.net] -gt -ge -lt -leが覚えられないんだが なんでこんなクソ記法にしたん?
588 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 21:38:20.35 ID:FxxqvCUB.net] UNIXのshの記法だよ どうせ非互換なんだからそんなとこだけ合わせんでもいいのにな ちな実際に使われてるbashやzshでは拡張構文があるのでそんな書き方はしなくていい
589 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 21:49:57.69 ID:1syDG9J2.net] gt → greater than ge → greater than equal lt → less than le → less than equal 覚えられないことは無いだろ
590 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 22:27:56.29 ID:KSZiSj98.net] shは条件判定が外部コマンド( /usr/bin/[ )になってるからリダイレクトで使う不等号を使えなかったんかな
591 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 23:44:31.03 ID:a/rWUBXI.net] リダイレクト記号の > が大なりと判定されたらされたでキレる奴はたくさんいるし、文脈で判断すると難しいと不満を漏らす gt や lt は天下のHTMLやXMLでもお馴染みだし ge も含めて ALGOL や Fortrun の時代からあるらしいから由緒ある演算子サマだ
592 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 00:24:31.91 ID:Idn/vjK6.net] コマンドのワンライナーでも動かないとダメだしパイプやリダイレクトとも共存しないとダメってなると文法自体が分かりづらくなるのはやむなし c#のスクリプト版みたいに思われてるけど本来そういうものじゃない
593 名前:デフォルトの名無しさん [2025/08/19(火) 19:46:40.89 ID:0LMCTzzK.net] >>589 やめてやれよ!
594 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 07:51:25.99 ID:M8TEndqZ.net] 結論 コマンドプロンプトでいい
595 名前:デフォルトの名無しさん [2025/08/20(水) 09:46:38.94 ID:fQ+KVP3R.net] コード書くにはメモ帳で十分みたいなこと言うね
596 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 11:21:33.79 ID:wDjB3YqX.net] 老人は新しいことを覚えるよりも古い道具のハック含めていろいろ知ってるからね
597 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 11:56:14.66 ID:Xf/p3Qkz.net] こういう立ち止まってくれる人達がいるから相対的に新しい技術にキャッチアップする若者がひきたつんだよな 感謝です
598 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 13:09:09.63 ID:eox7iA6W.net] 立ち止まって深掘りするのもいいけど、立ち止まるなら立ち止まる土地を間違えないことが大事 10年前からWindows Serverの設定職人として立ち止まった人とAWS職人として立ち止まった人なら、同じ苦労をしても圧倒的に後者の方が現在の価値は高いわけで
599 名前:デフォルトの名無しさん mailto:sage [2025/09/05(金) 00:20:11.88 ID:MID+NCuc.net] 同じプロジェクトで未だにスクリプトをbatで頑張るおじさんがいてキツイ
600 名前:デフォルトの名無しさん mailto:sage [2025/09/05(金) 08:27:44.85 ID:ci6Mzi4c.net] batなんかどうせ大して複雑なことできないんだから実害はほとんどない むしろPowerShellで何でもやろうとするおじさんのほうが潜在的には問題になりやすい というかbatおじさんが現役で活躍できるような職場でPowerShellやってんならお前も側から見りゃ大差ないから嫌ならさっさと転職しろ
601 名前:デフォルトの名無しさん mailto:sage [2025/09/05(金) 12:35:07.92 ID:Gl7iryF4.net] まあbatというかcmdのほうがド安定だよな PowerShellはバージョンアップで動作が変わったりするので書いた本人がいなくなったあと困るんじゃないか
602 名前:デフォルトの名無しさん mailto:sage [2025/09/05(金) 13:24:51.33 ID:/aSZPCtW.net] AIがあるから困らない
603 名前:デフォルトの名無しさん mailto:sage [2025/09/05(金) 15:17:33.01 ID:D2PHAyAe.net] batおじさんワラワラ湧いてて草
604 名前:デフォルトの名無しさん mailto:sage [2025/09/05(金) 22:20:18.61 ID:Yt4Zwm1N.net] batの弱点は特殊文字のエスケープ処理がバラバラだったりそもそもエスケープできなかったり
605 名前:デフォルトの名無しさん [2025/09/05(金) 22:29:13.57 ID:OEkVQg6g.net] >>604 昭和50年代のパソコン向けに作ったものに文句を言うな!
606 名前:デフォルトの名無しさん [2025/09/05(金) 23:27:31.40 ID:5dsIw3pX.net] cmdの方が優れてるよ
607 名前:デフォルトの名無しさん mailto:sage [2025/09/06(土) 04:14:29.73 ID:ynW6i2Wh.net] batが現役なの? ヤバw
608 名前:デフォルトの名無しさん mailto:sage [2025/09/06(土) 08:28:06.76 ID:aRqXD+gf.net] .batと.cmdの違いがいまだに分からん わざわざ新しい拡張子を作るなら分かりやすい構文でも導入すればよかったのに このスレで言う事じゃないけど
609 名前:デフォルトの名無しさん mailto:sage [2025/09/06(土) 08:32:48.89 ID:4EdO9DqN.net] >>470 今更だが、環境変数PSModulePathの並び順で旧ver用を下にしたら直った
610 名前:デフォルトの名無しさん mailto:sage [2025/09/06(土) 13:36:28.33 ID:5qDTqjrD.net] >>594 で結論出てるじゃん
611 名前:デフォルトの名無しさん [2025/09/07(日) 09:38:44.50 ID:lhUzQ3fL.net] HTMLのリンク先がリダイレクトされる場合、自動でそのリダイレクト先のURLを取得するにはどのような方法がいいでしょうか? $response = Invoke-WebRequest -Uri 壊れたリンク -MaximumRedirection 5 -ErrorAction SilentlyContinue $location = $response.Headers['Location'] を試しているのですが、リダイレクト先のURLは取得できませんでした。 HTMLのリンク先は下記のとおりに取得してます。 $srcHtml = Invoke-WebRequest $url -UseBasicParsing $html = New-Object -ComObject "HTMLFile" $img = $html.getElementById("img").getAttribute("src")
612 名前:デフォルトの名無しさん mailto:sage [2025/09/07(日) 21:42:00.61 ID:QSfkLFkm.net] -MaximumRedirection の値を5から0に変える https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/invoke-webrequest#-maximumredirection -MaximumRedirection 接続が失敗するまでに、PowerShell が代替 Uniform Resource Identifier (URI) に接続をリダイレクトする回数を指定します。 既定値は 5 です。 値が 0 (ゼロ) の場合、すべてのリダイレクトが禁止されます。
613 名前:デフォルトの名無しさん [2025/09/11(木) 20:02:03.10 ID:4eE1ZwVF.net] V7.4.12とV7.5.3が出ました。
614 名前:デフォルトの名無しさん mailto:sage [2025/09/12(金) 08:06:46.54 ID:tXxo6/Yo.net] マジカルちんぽの持ち主になりたい
615 名前:デフォルトの名無しさん [2025/09/13(土) 09:54:11.18 ID:TD1k3ZCB.net] 俺も!
616 名前:デフォルトの名無しさん mailto:sage [2025/10/03(金) 00:50:10.33 ID:cCuQP3el.net] transcriptってログ取るのにめちゃくちゃ便利ですね 今までログ出力ゴリゴリ書いちゃってたけどもっと早く知りたかった
617 名前:デフォルトの名無しさん [2025/10/03(金) 09:18:17.43 ID:alJoLTal.net] bashだったらscriptコマンドで苦労しなかったのに
618 名前:デフォルトの名無しさん mailto:sage [2025/10/04(土) 15:26:39.76 ID:lUW04DD1.net] そう思う人が何でこのスレに来るの? 一人で勝手にbashでオナニーしてればいいだけでしょ
619 名前:デフォルトの名無しさん mailto:sage [2025/10/04(土) 21:22:40.46 ID:TzWBzZl4.net] まぁまぁそんないじめなさんな
620 名前:デフォルトの名無しさん [2025/10/12(日) 01:42:26.66 ID:DKsy7+ZR.net] scriptとか使わんでも たぶん標準、だったかな? でpsのセッションはすべて保存されてるとおもうが…
621 名前:デフォルトの名無しさん [2025/10/12(日) 01:55:12.70 ID:DKsy7+ZR.net] ごめん今$profileみたらStart-Transcriptを自動で呼ぶようにしてて、標準ではたぶんアクティベートはされてないわ Start-Transcriptコマンドレットが>>617 のいうtclのscript(b系shで代わりによく使われるヤツ)の上位互換だよ tclのscriptやpwshのStart-Transcriptは普段から使っておくべき ログが膨れ上がるから、無駄なタイプアウトを控える良い癖がつく、すなわち後から振り返り難くないよう、セッションのログを汚さないようにとslsやページャに頼るようになるということだ
622 名前:デフォルトの名無しさん [2025/10/12(日) 02:00:35.65 ID:DKsy7+ZR.net] transcriptしてれば、脳死gci連打したりと恥ずかしい思いを避けるように、毎回熟慮したスマートなコマンドを構築しようとスキルアップへ向かえるわけですよ オススメ
623 名前:デフォルトの名無しさん [2025/10/14(火) 10:05:34.66 ID:wYGHc35C.net] 困ってます。ps1をショートカットで簡単に開けなくなりました。 Powershellを楽に実行してもらうには https://qiita.com/tomoko523/items/df8e384d32a377381ef9 ↑これを参考にして、 ps1ファイルのショートカットを作って、プロパティのリンクに、 powershell -ExecutionPolicy RemoteSigned -File という文字列を最初にをつけるというのをやりました。 powershell -ExecutionPolicy RemoteSigned -File C:\Users\User\Desktop\test.ps1 みたいな感じになる。 それでショートカットのダブルクリックでps1ファイルが開けてた。 でも、しばらくすると、新しくショートカット作ったらダブルクリックでできなくなった というか、ショートカットのリンクに powershell -ExecutionPolicy RemoteSigned -Fileの文字列を貼り付けたら、okを押せなくなった。 エラーメッセージが出て。 で、前に作ったやつはダブルクリックでできたので、それを開いて確認したら、 powershell -ExecutionPolicy RemoteSigned -Fileの powershellの部分が C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe に勝手に書き換わってた。 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File C:\Users\User\Desktop\test.ps1 みたいな感じ たぶん、できなくなる前後くらいに、windows powershell v5.xしかなかった環境に powershell v7.xをインストールしたからだと思う powershellって文字列で、自動でwindows powershell v5と連携できてたのが、 powershell v7を入れたせいで、環境変数?とかが変わったのか、よくわからないけど 自動で連携できなくなったのかな。 で、前のやつは、いつのタイミングか、powershellの文字列が、windows p.s. v5へのパスに変わってたんだと思う。 powershell の文字列で、ショートカットのリンクに文字列入れてやる方法ないでしょうか?
624 名前:623 [2025/10/14(火) 10:13:14.09 ID:mzx6xthf.net] [Window Title] ショートカット エラー [Content] 受け側に指定されたパス名 'powershell' は無効です。パスとファイル名が正しいか確認してください。 ↑ エラーメッセージはこれです でも、はじめはps1のショートカットで リンクの文字列を追加するときは powershell~だけで powershellへのフルパスがなくてもok押せて、ダブルクリックで起動できてたんですよね なにかpowershellの文字列だけで v5やv7を自動で起動できるように設定する方法とかわからないでしょうか?
625 名前:デフォルトの名無しさん mailto:sage [2025/10/14(火) 10:46:54.11 ID:kTH6cc0X.net] powershell7を入れるとpowershell5とは違うパスにインストールされて powershell => v5 pwsh => v7 という具合に使い分けができる powershellが呼べないなら そのパスにpowershell.exeが無いのかもしれない > 受け側に指定されたパス名 'powershell' は無効です。 というエラーがそれを裏付けてると思う まずはv5の本体があることを確認するべき バージョンアップした感覚で 自分で「古いv5はいらないからアンインストールしちゃお」としてるかもねw
626 名前:デフォルトの名無しさん mailto:sage [2025/10/18(土) 01:00:25.12 ID:ziLvdPa/.net] >>623 >powershellの部分が >C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe >に勝手に書き換わってた。 これは正しい動作 現在、動くショートカットが有るならば、v5は消されていない ps1ファイルのショートカットを作成した直後ののアイコンと プロパティに「powershell以下略」を追記したショートカットでは アイコンが変化する。変化してるならリンクは正しい 正常動作するショートカットのリンク先をコピーしてメモ帳に張り付けて 新しく作りたいリンク先を見比べながら書いたらどう?
627 名前:デフォルトの名無しさん [2025/10/20(月) 16:54:33.98 ID:h3FEiN7d.net] ショートカットの文法はcmdともなんか違ってて謎が謎を呼ぶ闇
628 名前:デフォルトの名無しさん [2025/10/21(火) 05:46:20.22 ID:P/yrOpCN.net] Z7.4.13とV7.5.4出ました。 https://github.com/PowerShell/PowerShell/releases/tag/v7.4.1 https://github.com/PowerShell/PowerShell/releases/tag/v7.5.4
629 名前:デフォルトの名無しさん [2025/10/21(火) 05:46:43.72 ID:P/yrOpCN.net] 7.4.13 https://github.com/PowerShell/PowerShell/releases/tag/v7.4.13
630 名前:デフォルトの名無しさん [2025/10/21(火) 22:17:43.72 ID:5krLOdY4.net] ショートカットの文法ってのがコマンドラインパラメータの事を言ってるなら 別プログラムなんだからcmdと違っても普通でしょ? 何が謎なの?
631 名前:デフォルトの名無しさん mailto:sage [2025/10/27(月) 23:10:58.60 ID:JqegERzu.net] 自分も似たようなこと(カスタムURLスキーム経由で登録済みバイナリにメッセージを送信)をしてたけど、これはかなり丁寧にパッケージングされてる GitHub - Fred-Vatin/run-yt-dlp-from-browser: Run yt-dlp commands from any browsers https://github.com/Fred-Vatin/run-yt-dlp-from-browser
632 名前:デフォルトの名無しさん [2025/11/01(土) 07:47:46.11 ID:f9BTIAf7.net] 何もしてないけど PowerShell v7.5.4 が WindowsUpdate で降ってきた 履歴ちゃんとみたらいつまにか PowerShell って WindowsUpdate で降ってくるようになってたわ
633 名前:デフォルトの名無しさん [2025/11/02(日) 18:28:28.27 ID:SCfEy8Hn.net] バナーで更新通知見かけてもwinget updateで更新できなくてそのうちWindows Updateで更新されてる
634 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 22:12:18.83 ID:BJEeTNbw.net] ターミナルでタブを移動しようとしたら消しちゃって泣きを見たのでタブを縦に並べられるtabbyを使ってる 地味に便利
635 名前:デフォルトの名無しさん [2025/11/04(火) 22:05:10.67 ID:s16lpjGn.net] Tver のサイトで特定のドラマのページを開いたときに右上に表示されている最新話のURLを取得したいんですが知識がなくてさっぱり・・・ 例えばちょっとだけエスパーの https://tver.jp/series/srm706pd6g で右上に表示されているエピソードを再生のURLをとりたいのですがソースを表示するとどこにもない
636 名前:デフォルトの名無しさん mailto:sage [2025/11/05(水) 00:15:01.45 ID:R4zLjHDf.net] このスレで聞くことか?
637 名前:デフォルトの名無しさん mailto:sage [2025/11/05(水) 00:19:16.72 ID:bd8fkRgq.net] PowerShellの質問ではないわな
638 名前:デフォルトの名無しさん mailto:sage [2025/11/05(水) 03:58:33.49 ID:79mqo3N4.net] >>635 ソースで見ると表示されないのはJavaScriptで生成されてるからで、素のHTMLには書かれてないんだよ ブラウザでエピソードを再生を右クリックして「検証」とか「調査」っていうメニューで確認できるよ 使っているブラウザのスレで開発ツールの使い方を教えてもらうか、ChatGPTに聞くのが分かりやすいと思う ChatGPTにuserscriptを作ってもらうか、どうしてもPowershellでやりたいならapiを叩いたらどう? ttps://pastebin.com/paBznTfW これもChatGPTに教えてもらうと良いよ(↑のもChatGPTが作ってくれた)
639 名前:デフォルトの名無しさん [2025/11/05(水) 18:41:39.53 ID:VnEpJmCQ.net] >>638 ありがとうございます!!! もっと精進します
640 名前:デフォルトの名無しさん mailto:sage [2025/11/06(木) 20:55:27.46 ID:ra3gomFv.net] PowerShell に関するお問い合わせ時の留意事項 https://jpwinsup.github.io/blog/2025/11/06/UserInterfaceAndApps/PowerShell/PowerShell-SupportGuidlines/
641 名前:デフォルトの名無しさん mailto:sage [2025/11/09(日) 01:50:45.56 ID:/5rAS6BZ.net] >>640 >なお、 .NET Framework や Win32 API は、C#/VB#/C++/C といったプログラム言語からのご利用を目的として提供している機能になり、動作確認もこれらの言語で行っていただくことをお願いしております。 >また、これらの言語で正常に動作しながらも、PowerShell 上で期待通りの動作とならない場合は、プログラミング言語のご利用をお願いしておりますことをご留意ください。 あれれ? PowerShellでたての頃って.netのオブジェクト使えるの売りにしてなかったかな?
642 名前:デフォルトの名無しさん mailto:sage [2025/11/09(日) 09:43:41.33 ID:9rrS+2ZK.net] 最近の.NETは言語非依存を放棄してるからな 例えばSpanはPowerShellから使えない Question about System.Span https://github.com/PowerShell/PowerShell/issues/5897
643 名前:デフォルトの名無しさん mailto:sage [2025/11/09(日) 10:23:37.05 ID:VPZLG56/.net] .NET Frameworkって書いてあるからCore系の.NETは関係ないでしょ。Core系もサポートの方針は同じだろうけど。 PowerShell6以降のユーザーなんて5に比べりゃほとんどいないだろうし、 わざわざ6以降使ってる人はそんなに変な問い合わせしてこないだろうからサポート的にはあまり問題にならないんだろう
644 名前:デフォルトの名無しさん mailto:sage [2025/11/18(火) 00:02:06.52 ID:mC1Jcub0.net] c#14でファイルベースでスクリプトライクに書けるようになった もうpowershellはオワコン!
645 名前:デフォルトの名無しさん [2025/11/18(火) 17:30:44.99 ID:d9hs+rsN.net] それパイプは直感的に書けるか?
646 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 16:43:19.74 ID:11rVJeas.net] 5ってまだ共存してるの?UTF8BOMの問題があるのでcmdでも使えばいい気がするが
647 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 17:49:39.55 ID:UDbnkgrO.net] PowerShellは速度も使い勝手もこのbatに勝てなかった @echo off %windir%\Microsoft.NET\Framework64\v4.0.30319\csc.exe /nologo %1 if errorlevel 1 exit /b "%~dpn1.exe"
648 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 21:31:44.69 ID:QY1RnXH9.net] C#はPowerShellみたいにWMIを簡単に扱えないじゃん WMI インスタンスの取得 https://learn.microsoft.com/ja-jp/windows/win32/wmisdk/retrieving-an-instance
649 名前:デフォルトの名無しさん mailto:sage [2025/11/21(金) 09:24:25.92 ID:+qc1E8Ol.net] 比較 OS標準だとC#は古いやり方しかできなそう <PowerShell> Get-WmiObject -query "SELECT * FROM Win32_Process" | ForEach-Object { $name = $_.Name $id = $_.ProcessId . . . } <C#> foreach (var p in new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_Process").Get()) { var name = p["Name"]; var id = p["ProcessId"]; . . . }
650 名前:デフォルトの名無しさん mailto:sage [2025/11/21(金) 10:03:57.43 ID:3+xXClvM.net] >>640 最初は分けて書いてるがそれ以降のPowershellが Windows 付かない方のPowershell 限定なのか Windows 付く方も含めてなのかよくわからない >>641 無印 は.Net Framework 向けでないという表現なのか 無印も.Net Frameworkだめというのかどっちなのか .NET Framework上で動くのがWindows Powershell 3.5.1(まだある) + 2(廃止) 4.8.1 + 5.1 現行のプリインストール .NET 上で動くのがPowershell core2or3 + 6-7.0 5.0 + 7.1 以降 やはり改めて確認しないとわからない なんで分かりやすい別の名前にしなかったのか
651 名前:デフォルトの名無しさん [2025/11/22(土) 10:00:08.95 ID:X6U8TT//.net] WMIって非推奨なんだっけ 普通に業務で使ってるけど
652 名前:デフォルトの名無しさん mailto:sage [2025/11/22(土) 15:21:40.53 ID:LaYCYKWP.net] Windows クライアントの非推奨の機能 https://learn.microsoft.com/ja-jp/windows/whats-new/deprecated-features WMIC ユーティリティは非推奨となり、今後の Windows リリースで削除される予定です。 このユーティリティは、WMI のWindows PowerShellに置き換えられます。 この非推奨は、 コマンド ライン管理ユーティリティにのみ適用されます。 WMI 自体は影響を受けません。
653 名前:デフォルトの名無しさん mailto:sage [2025/11/22(土) 19:36:43.52 ID:F8YvH3R6.net] wmiなくなる話はないが使い方変わってる Powershell 6以降WMI v1コマンドレット無い 今のところWindows Powershell 無くす話はないが 書き直すならPowershell でCIM (WMI v2)コマンドレットにしておいた方が無難? https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.5#wmi-v1-cmdlets
654 名前:デフォルトの名無しさん mailto:sage [2025/11/26(水) 15:45:38.37 ID:0sOrUy4b.net] PowerShell のプログラムで時々見かける if ( hoge ) { hogehoge } else { fugafuga } みたいな elseのところを2行に書く書き方が気持ち悪いし PowerShell にコピペでインタプリタ的に実行させると閉じ括弧で構文が終わったと判断されて実行されちゃう (さらに外側に括弧があれば構文として成り立つけど)
655 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 10:58:01.72 ID:iSxBbXck.net] オレは気持ち悪いと思ったことない 言語特有の文法とか個人個人の書き方とか色々あるし それで別にいいじゃんって思ってる 仕事でプログラムやスクリプト使ってる人たちは その職場のルールもあるだろうけど 素直に従っておけばいいだけ 改良の余地があるなら進言するだけだし
656 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 12:30:08.06 ID:Z/DnqSSi.net] 普通じゃないし普通に気持ち悪いだろ
657 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 12:58:20.26 ID:tq5aNNAF.net] ベストプラクティスにはそこまで細かい規約なかった https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines C#、明示されてないがサンプルは三行 これに準じると閉じてエンターで走る https://learn.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions
658 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 15:27:32.59 ID:Z/DnqSSi.net] 普通(既存宗教): } else { または } else { 奇形(新興宗教): } else {
659 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 15:30:06.19 ID:Z/DnqSSi.net] >>657 C#とPSは違うだろ PSのコーディング規約なんてあるのか知らんけど
660 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 15:39:55.59 ID:o+yFQZuV.net] https://github.com/akiGAMEBOY/PowerShell_mysql-to-csv/blob/master/source/Main.ps1 これは両方の記述が混在してるな
661 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 16:35:40.04 ID:/I+q4k2H.net] powershell民なら } else と書いておく こうすると解釈が延長するわけでelse節が無ければ次行で {} と書いて終わらすこともできる これはpowershell民に限らず行志向言語の常識的イディオム
662 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 16:51:14.83 ID:o+yFQZuV.net] >>661 その理由はおかしくないか? 以下のように同様の理屈が成り立つ } で終わらせておく elseで続けたい場合は else { で始められる
663 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 16:53:53.08 ID:o+yFQZuV.net] ああ、インタープリタ的な使い方ってことか
664 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 16:58:55.38 ID:o+yFQZuV.net] ならとりあえず } else { と書いておくほうが良い気がする
665 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 21:48:18.93 ID:L4seW1+I.net] elseは使わないようにする
666 名前:デフォルトの名無しさん mailto:sage [2025/11/27(木) 23:03:58.47 ID:0ZpriLCv.net] 5.xは三項演算子がないので他の言語よりelseを使う機会が多くなりがち
667 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 10:07:39.92 ID:YEOTrRQk.net] Weekend Scripter: Best Practices for PowerShell Scripting in Shared Environment https://devblogs.microsoft.com/scripting/weekend-scripter-best-practices-for-powershell-scripting-in-shared-environment/#use-consistent-indentation PowerShellのコーディングスタイル https://tech.guitarrapc.com/entry/2017/12/03/230119
668 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 10:46:55.41 ID:XwmNjHGj.net] >>667 「ただし、これは、普段どちらで書いているかなどに左右されますし、チームでの共通化がとれていればいいのでしょう。 ちなみに、コミュニティでは、Stroupstrupが意外と多い結果です。」
669 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 11:06:29.89 ID:mxO2kQAk.net] if 真ならelse の中いかないし if 偽ならelse の中やりたいし else 閉じて走るのがまずい状況がすぐに思い浮かばない
670 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 15:12:40.52 ID:XwmNjHGj.net] これだけアチコチで使われてるとなると新興宗教とは言えない雰囲気
671 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 20:46:10.65 ID:24RBB+24.net] なんにしろ行志向言語で中括弧を採用すること自体が悪手だったのは間違いない
672 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 21:20:01.11 ID:8z0qQ195.net] >>667 Stroupstrupって構文スタイルなのか… しかもちゃんと「式解釈では問題ありませんが、PowerShellにはった時elseでエラーがでます。」って説明まで書いてる いや、なんでこれが多いんだよ 意味わかんねぇよ…
673 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 21:59:10.04 ID:YEOTrRQk.net] https://ja.wikipedia.org/wiki/字下げスタイル ストロヴストルップ・スタイルはビャーネ・ストロヴストルップがC++で使ったK&Rスタイルで、ストラウストラップのプログラミング入門 C++によるプログラミングの原則と実践やThe C++ Programming Languageといった彼の著書で使われている。 前述のスタイルと異なり、cuddled else (elseの前後に}と{を置くスタイル) を使わない。したがってストロヴストルップ式では次のようになる。 if (x < 0) { puts("Negative"); negative(x); } else { puts("Non-negative"); nonnegative(x); }
674 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 22:18:41.05 ID:HY2syTcn.net] 誰だよスッポスッポ先生のことふざけた空耳日本語で呼ぶジャップは・・・
675 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 23:42:10.29 ID:8z0qQ195.net] else の後ろに括弧置いてるじゃん… あ、いやそういう事じゃなくて不都合が発生しうる可能性があるスタイルをわざわざ使うってPowerShellにおいてはバカでしかないと思うって話 自分が良ければそれでいいって事? 少なくともインターネッツに載せるなら可能性が考慮されてなくてダメじゃね?
676 名前:デフォルトの名無しさん [2025/11/29(土) 10:54:08.34 ID:ABxtwAdA.net] ある人が書いたpowershellで動くスクリプトの書き方が 別の人がpowershellで動かしてエラーが出るのは困るよね っていう話なの?
677 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 12:36:08.79 ID:RVWnFQqp.net] スタイルだからそれぞれ拘りがあるってだけだろ そのスタイルで統一されてれば問題ない
678 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 14:43:58.37 ID:nY8K5zGd.net] 良いスタイル悪いスタイルがあるのになぜか悪いスタイルが流行ってるって話だろ そもそもスタイルが分かれるような構文を採用したのがだめなんだけどな
679 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 15:48:53.71 ID:RVWnFQqp.net] おそらくC++から流れてきたんだろうと想像する >>673 にあるプログラミング入門 C++、The C++ Programming Languageが教科書になった人々
680 名前:デフォルトの名無しさん [2025/11/29(土) 16:28:37.98 ID:m7OsZTNV.net] C/C++のK&R派ではあるけど 文における{} 関数定義における{} 構造体/クラス宣言における{} namespaceにおける{} どれも扱いが違う 成形ツール使えばなんとでもなる PowerShellなんてどうせ描き棄てだからどうでも良い
681 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 16:48:02.25 ID:RvNmPLXk.net] 例えば 先輩「PowerShell でこうやって IDE で書くこともできるけど普通に貼り付けて実行も1行ずつ実行する事もできる」 新人「ホントだ!ありがとうございます!」 新人「Windows標準で使えるし家でも勉強がてらやってみよう」 新人「うーん…よく分からない。検索するかぁ」 初心者向けWebサイト「(Stroupstrupスタイルで記述)」 新人「(貼り付けて)あれ?エラーが出る…よく分からない…」 みたいな話 初心者向けWebサイトはチームとかもないし誰が見るかも無いから、Stroupstrupスタイルは適していないってこと ブログやQiitaとかならまぁええかとは思うし、チーム内で決めて使うならいいと思う
682 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 17:02:38.86 ID:SvUt/JNW.net] } をどんな構文でも常に行末としておき、if と else if を行頭に並べればブロックが対称的に見えるので美しく感じる そんな理由があるという けど全然共感できない ifブロックが単に2つ続いているだけのパターンと、ifとelse ifが続いているパターンを取り違えるのは古典的なバグ ならcuddled elseのほうがあえて相似形を崩して即座に峻別できるように喚起できるので合理的
683 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 18:21:27.95 ID:UB7+qwb1.net] powershellなんて基本書き捨てだしスタイルなんて気にしたことない vscodeのフォーマッタ任せ
684 名前:デフォルトの名無しさん mailto:sage [2025/11/29(土) 23:17:33.20 ID:2Vwa6pZU.net] 公式ドキュメントでも } else { になってるな about_If https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_if
685 名前:デフォルトの名無しさん [2025/11/30(日) 14:27:29.65 ID:+PAfB5o2.net] } else{ でしか理解出来ないってのは池沼
686 名前:デフォルトの名無しさん mailto:sage [2025/12/04(木) 00:02:31.58 ID:FQN2sxAz.net] そういえばChromeとかFireFoxの開発者ツール画面のPowerShellでコピーっていつの間についてたのかしら 社内のしょうもないシステムのデータ落とすだけならマジでRPAとかいらんな
687 名前:デフォルトの名無しさん mailto:sage [2025/12/10(水) 08:52:12.78 ID:aQIrInSg.net] PowerShell 5.1: Web コンテンツからのスクリプト実行の防止 https://support.microsoft.com/ja-jp/help/5074596
688 名前:デフォルトの名無しさん mailto:sage [2025/12/11(木) 09:00:26.27 ID:qbXRYm+Y.net] 「Windows PowerShell 5.1」に「IE」要素排除のための仕様変更 「Invoke-WebRequest」に警告を追加、2025年12月のセキュリティパッチ以降の適用で https://forest.watch.impress.co.jp/docs/news/2070166.html