前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/
次スレは>>980が立ててね!!
探検
PowerShell -Part 7
1デフォルトの名無しさん
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB329デフォルトの名無しさん
2024/10/22(火) 22:53:22.74ID:trzbvHFT selectにも記号一文字のエイリアスあってもいいんじゃないかと思う
330デフォルトの名無しさん
2024/10/28(月) 21:16:39.09ID:ZTog7VUm そう思うなら自分で勝手にアイリアスを定義すればいいだけだよね
331デフォルトの名無しさん
2024/10/28(月) 21:22:49.73ID:U22PtxVm 各々が好き勝手にエアリアルを使っているとコミュニケーションに支障をきたすから困る
332デフォルトの名無しさん
2024/10/29(火) 09:23:16.64ID:Qywuhmt6 > WindowsでUNIXシェルが使えないから仕方なく欠陥品のPowerShellを作った、とか思ってそう
開発の経緯としてはまさにその通りなんだけどな
WindowsでUNIXシェルを整備するプロジェクトが頓挫して、根本的にWindowsに適した設計が必要であるということで生まれたのがPowerShell
なおオリジナルの開発者は現在はGoogleへ移籍し、UNIXシェルの世界へと還っていった模様
開発の経緯としてはまさにその通りなんだけどな
WindowsでUNIXシェルを整備するプロジェクトが頓挫して、根本的にWindowsに適した設計が必要であるということで生まれたのがPowerShell
なおオリジナルの開発者は現在はGoogleへ移籍し、UNIXシェルの世界へと還っていった模様
333デフォルトの名無しさん
2024/10/29(火) 09:29:09.19ID:oyxmU1Yp cygwinには長らくお世話になった
334デフォルトの名無しさん
2024/10/29(火) 19:18:49.19ID:/c01W0NL >なおオリジナルの開発者は現在はGoogleへ移籍し、UNIXシェルの世界へと還っていった模様
なおGoogleへ移籍後は何の成果も得られてない模様
なおGoogleへ移籍後は何の成果も得られてない模様
335デフォルトの名無しさん
2024/10/29(火) 23:17:38.65ID:/bXBK+wh Linuxの管理マネージャやそのシェルのPowerShell化をしていたりして、
そのうちカーネルソースのPowerShellマネジメントレイヤーに取り込まれたり
Fedora、Ubuntuに適用される見込みである
そのうちカーネルソースのPowerShellマネジメントレイヤーに取り込まれたり
Fedora、Ubuntuに適用される見込みである
336デフォルトの名無しさん
2024/10/30(水) 11:01:45.95ID:cBVsI/1s Azureならともかく、そんなもんGCP採用するような層にニーズあるかねえ
どう考えてもAzureを利することにしかならずGCPのシェアに対して悪影響しかないだろ
最近は首切りしまくってたのに最上位格エンジニアは気楽なもんだな
どう考えてもAzureを利することにしかならずGCPのシェアに対して悪影響しかないだろ
最近は首切りしまくってたのに最上位格エンジニアは気楽なもんだな
337デフォルトの名無しさん
2024/10/30(水) 20:31:44.86ID:x0G86HEF PowershellはAdd-Type辺りの機能は便利だけど言語としてはゴミ
338デフォルトの名無しさん
2024/10/31(木) 21:50:30.83ID:uhxgBp24 UNIXシェルはもっと言語としてはゴミなんだよなぁ
339デフォルトの名無しさん
2024/10/31(木) 23:02:56.00ID:va++Flqd 普段そういうゴミしか作者の周りになくて間違えて拾ってきちゃったんやな
340デフォルトの名無しさん
2024/11/01(金) 02:03:26.53ID:EQMsSXTB >>338
シェルはUIだぞ?
シェルはUIだぞ?
341デフォルトの名無しさん
2024/11/01(金) 04:01:30.22ID:+lXxXu7p >>328
gal見てたらcurlだけでなくwgetもiwrだった
gal見てたらcurlだけでなくwgetもiwrだった
342デフォルトの名無しさん
2024/11/01(金) 04:58:32.80ID:4H4fm5Ic エイリアスといえばパラメータのエイリアスにも多分いろいろundocumentedなのあるよな?
-ArgmentListが-argsで通ったりとか規則的な略じゃないやつ、これは短くて分かりやすいからいいが
-argなら曖昧さのない限り頭から略せるという規則通りなんだけど
こういう個別のまとめた文書ってある?
一部は
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_commonparameters
にあるのは知ってる
-ArgmentListが-argsで通ったりとか規則的な略じゃないやつ、これは短くて分かりやすいからいいが
-argなら曖昧さのない限り頭から略せるという規則通りなんだけど
こういう個別のまとめた文書ってある?
一部は
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_commonparameters
にあるのは知ってる
343デフォルトの名無しさん
2024/11/01(金) 09:06:40.20ID:vIWZBp6A Get-Help -Fullの、パラメータのエイリアス
344デフォルトの名無しさん
2024/11/17(日) 09:49:45.91ID:LBdK5SU3 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 以降に移行する必要があります。
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.06ID:jLoC/a6V AD一覧をcsv出力すると区切りが半角スペースになってExcelで取り込めない。
ググっても同じ症状の人が出て来ない
ググっても同じ症状の人が出て来ない
346デフォルトの名無しさん
2024/11/20(水) 17:56:33.65ID:itZFOqj8 とりあえず-Delimiterで指定すれば?
347デフォルトの名無しさん
2024/11/20(水) 18:05:31.34ID:jLoC/a6V OutfileってDelimiterできないよね?
Exportだと文字コードをdefaut、utf-8にしても数列で出力されちゃう
Exportだと文字コードをdefaut、utf-8にしても数列で出力されちゃう
348デフォルトの名無しさん
2024/11/20(水) 19:09:02.72ID:b8mbz+Om Out-File? ならその前にConvertTo-Csvで変換してるんじゃないの?
349デフォルトの名無しさん
2024/11/20(水) 21:42:00.83ID:KXgtJp1v powershellのなんちゃってCsvコマンドレットはExcelで扱えるCSVと特に親和性があるわけでもなく、俺俺CSV止まりだからあんま使う価値ないかも
350デフォルトの名無しさん
2024/11/20(水) 22:02:13.56ID:KXgtJp1v ではCSV扱うなら何がいいかと言えばCsvHelperが定番なんだけど、C#や.NETの知識が要るね
AD一覧程度なら自力でフィールドをカンマで区切ったっていいよ
AD一覧程度なら自力でフィールドをカンマで区切ったっていいよ
351デフォルトの名無しさん
2024/11/20(水) 22:56:49.84ID:+ywVzG00 Announcing the Public Preview of AI Shell
https://devblogs.microsoft.com/powershell/announcing-the-public-preview-of-ai-shell/
https://devblogs.microsoft.com/powershell/announcing-the-public-preview-of-ai-shell/
352デフォルトの名無しさん
2024/11/21(木) 09:11:03.40ID:uYan55MO CSV変換標準コマンドレットはデータ前後のスペース文字が消えるので
一切データ欠落しちゃいけない場合は注意
一切データ欠落しちゃいけない場合は注意
353デフォルトの名無しさん
2024/11/27(水) 23:16:05.27ID:aNQZM+B9 Export-Csvって自力でクォーテーション外してた時代あるし地味に改良してるけどな
354デフォルトの名無しさん
2024/11/30(土) 22:11:49.94ID:LJbTxW4W Should PowerShell 7.x ship inbox in Windows?
https://github.com/PowerShell/PowerShell/discussions/24340
https://github.com/PowerShell/PowerShell/discussions/24340
355デフォルトの名無しさん
2024/12/01(日) 13:20:57.08ID:8Yw35ga9 >>354
PowerShell7.xは通常利用されないpwshシェルとして実装されても良いと思うよね
標準シェルをpowershell.exeにしておけば互換性問題無いし
ただ7.xが5.1の互換とか言ってるのはかなり微妙
PowerShell7.xは通常利用されないpwshシェルとして実装されても良いと思うよね
標準シェルをpowershell.exeにしておけば互換性問題無いし
ただ7.xが5.1の互換とか言ってるのはかなり微妙
356デフォルトの名無しさん
2024/12/11(水) 10:15:30.38ID:Bk1Et5xQ 引数の文字数上限って回避方法ってありますか?
複数のフォルダをドラッグ&ドロップして使いたいけどいい方法が思いつきません
複数のフォルダをドラッグ&ドロップして使いたいけどいい方法が思いつきません
357デフォルトの名無しさん
2024/12/11(水) 22:01:27.57ID:J5p4fYKY WSHやjavascript限定ではあるけどファイラーのTablacus Explorer使えば会費できたと思う
358デフォルトの名無しさん
2024/12/15(日) 21:59:46.99ID:D9xraIFr359デフォルトの名無しさん
2024/12/16(月) 11:35:41.45ID:EDggbpJc 引数の文字数上限なんて気にしたこともないわ
一体どんなスクリプト組んでるんだ?
一体どんなスクリプト組んでるんだ?
360デフォルトの名無しさん
2024/12/16(月) 12:33:48.42ID:BlyRMH2R 複数のフォルダをD&Dしてとあるから
大量のフォルダ・ファイルを渡すんだろうな
これは言語の制限じゃなくてエクスプローラかcmdかのシェルの制限だろう
大量のフォルダ・ファイルを渡すんだろうな
これは言語の制限じゃなくてエクスプローラかcmdかのシェルの制限だろう
361デフォルトの名無しさん
2024/12/17(火) 00:26:16.95ID:qauPzx29 powershellのIDEってやっぱvscode一択?
362デフォルトの名無しさん
2024/12/18(水) 15:12:46.26ID:vtNCD/9a363デフォルトの名無しさん
2024/12/18(水) 22:53:36.03ID:r/ciUEmV いや普通にVSCode一択だよ
ISEは開発停止がアナウンスされてMicrosoft自身がVSCodeを推奨してる
ISEは開発停止がアナウンスされてMicrosoft自身がVSCodeを推奨してる
364デフォルトの名無しさん
2024/12/18(水) 23:49:49.43ID:qUh0YP4m powershellの開発環境としてvisual studioが挙がることってあるか…?
365デフォルトの名無しさん
2024/12/19(木) 00:10:06.38ID:MPXM+zkD VScodeなら分かる
366デフォルトの名無しさん
2024/12/21(土) 16:45:21.87ID:3/R2Wu0q .ps1のスクリプトを右クリックから実行しようとすると
最初に[実行ポリシーを変更しますか?…]というのが出て、キーボード操作が必要になるんだけど
これは出ないようにできないのかな?
最初に[実行ポリシーを変更しますか?…]というのが出て、キーボード操作が必要になるんだけど
これは出ないようにできないのかな?
367デフォルトの名無しさん
2024/12/21(土) 17:27:08.04ID:HkxgIAjH うろ覚えだけど
右クリからやるやつはポリシーがhogeだったらbypassにするみたいなif文が入ってた気がする
レジストリで変えれたはずだけど出先だから細かくは分かんないや
適当にググったら出てくるんじゃないかな
それかif文にかからないようにポリシーの方を変える
右クリからやるやつはポリシーがhogeだったらbypassにするみたいなif文が入ってた気がする
レジストリで変えれたはずだけど出先だから細かくは分かんないや
適当にググったら出てくるんじゃないかな
それかif文にかからないようにポリシーの方を変える
368デフォルトの名無しさん
2024/12/21(土) 17:47:50.11ID:3/R2Wu0q369デフォルトの名無しさん
2024/12/21(土) 19:56:38.76ID:IOryZJAZ >>368
間違って実行してしまわないよう、わざわざそういう仕様になっていることを忘れないように
間違って実行してしまわないよう、わざわざそういう仕様になっていることを忘れないように
370デフォルトの名無しさん
2024/12/21(土) 19:57:11.83ID:IOryZJAZ >>368
バッチファイルというものを知った方がいい
バッチファイルというものを知った方がいい
371デフォルトの名無しさん
2024/12/21(土) 20:34:08.41ID:kQ229ZTv 的外れなレス付いてんなw
372デフォルトの名無しさん
2024/12/23(月) 10:35:42.88ID:8lbwsaDk バッチこい
373デフォルトの名無しさん
2024/12/24(火) 22:41:53.48ID:S4CkJ4V1374デフォルトの名無しさん
2024/12/24(火) 23:14:00.94ID:ALyk/+99 どこからGUIの話が出てきたんだ…?
375デフォルトの名無しさん
2024/12/25(水) 17:59:30.20ID:YmcCoB80 >>374
「右クリック」と書いてある
「右クリック」と書いてある
376デフォルトの名無しさん
2024/12/25(水) 21:34:02.80ID:G9TljzDw ps1で思考停止するような子を見てるとそう
もっと頭を使う訓練を教育機関で受けさせとかないとやばいのではと総務省に問い質したくなるね
もっと頭を使う訓練を教育機関で受けさせとかないとやばいのではと総務省に問い質したくなるね
377デフォルトの名無しさん
2024/12/26(木) 00:31:28.78ID:3BPBxHkr 総務省…?
378デフォルトの名無しさん
2024/12/27(金) 11:14:09.84ID:nSbaFnN8379デフォルトの名無しさん
2024/12/27(金) 12:09:30.67ID:+TT5rJ9I もう既に解決して終わってるし、>>366に書いてることをもう一度書く必要はない
380デフォルトの名無しさん
2025/01/02(木) 12:24:43.46ID:XSssqHtC $s = "昔し羅馬にこう云う話しがある。後学のため聞いておけと云うんです"
Write-Host -ForegroundColor Red -BackgroundColor Black "$($s[12]) $($s[24]) $($s[23]) $($s[19])"
Write-Host -ForegroundColor Red -BackgroundColor Black "$($s[12]) $($s[24]) $($s[23]) $($s[19])"
381デフォルトの名無しさん
2025/01/07(火) 17:30:11.98ID:150rExn4 >>378
それはGUIの操作
それはGUIの操作
382デフォルトの名無しさん
2025/01/07(火) 17:33:24.53ID:150rExn4 実行形式のファイルを実行するときにしつこく確認する仕組みに変化した歴史も知らないんだろ。
383デフォルトの名無しさん
2025/01/08(水) 01:30:32.18ID:T5jAWt2M 的外れ過ぎる
384デフォルトの名無しさん
2025/01/08(水) 09:05:49.08ID:DiodmN71 >実行形式のファイルを実行するときにしつこく確認する仕組み
何それ
何それ
385デフォルトの名無しさん
2025/01/12(日) 01:09:34.15ID:7sMi3UMV gci C:\Windows -include *.log,*.dat
は要素が一つも出なくて
gci C:\Windows\*.* -include *.log,*.dat
gci C:\Windows -recurse -include *.log,*.dat
はOKってどういう理屈なの?
できれば一番上の書きかたしたい…
は要素が一つも出なくて
gci C:\Windows\*.* -include *.log,*.dat
gci C:\Windows -recurse -include *.log,*.dat
はOKってどういう理屈なの?
できれば一番上の書きかたしたい…
386デフォルトの名無しさん
2025/01/12(日) 10:26:34.53ID:+COVob5t >>385
仕様。
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-5.1#4-include
理屈は知らん。過去ログになんかあったような、ちょっと違ったような。(-Filterの話だったような)
仕様。
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-5.1#4-include
理屈は知らん。過去ログになんかあったような、ちょっと違ったような。(-Filterの話だったような)
387デフォルトの名無しさん
2025/01/12(日) 14:27:17.12ID:+gCgMQG7 初期リリースで適当に用意されたコマンドレットの仕様が残ってるだけだから理屈なんて無いだろうよ
gciのオプションは普通の人の感覚と違うからWhere-Objectにパイプで渡してフィルタする方がおかしな事にならないよ
gciのオプションは普通の人の感覚と違うからWhere-Objectにパイプで渡してフィルタする方がおかしな事にならないよ
388デフォルトの名無しさん
2025/01/14(火) 14:43:26.79ID:It61Xpnn 末尾のスラッシュの有無でフォルダ自体を指すのかその配下を指すのかを区別するのはUNIXでは割と珍しくないだろう
Windowsだとファイルパスを文字列というより何らかのエンティティを参照するものと考える傾向があるから馴染みにくいわな
Windowsだとファイルパスを文字列というより何らかのエンティティを参照するものと考える傾向があるから馴染みにくいわな
389デフォルトの名無しさん
2025/01/14(火) 19:43:42.33ID:yWOGeGxK この話は末尾がスラッシュかどうかは関係ないよ
Include, Excludeを使うときはワイルドカードを含めないとPathで指定した項目自身しかヒットしなくなるというこのコマンドレット固有ルールの話
Include, Excludeを使うときはワイルドカードを含めないとPathで指定した項目自身しかヒットしなくなるというこのコマンドレット固有ルールの話
390デフォルトの名無しさん
2025/01/27(月) 01:42:20.03ID:hFrLE9a7391デフォルトの名無しさん
2025/01/27(月) 01:43:08.84ID:hFrLE9a7 今回から.exeがある。
392デフォルトの名無しさん
2025/01/27(月) 21:48:58.99ID:sL8l+nw9 .exe版と.msi版の違いが分からん
.msiだと問題が起きる環境でもあるのか
.msiだと問題が起きる環境でもあるのか
393デフォルトの名無しさん
2025/01/27(月) 22:00:26.88ID:PdZna4r2 MDMで配れない
394デフォルトの名無しさん
2025/02/05(水) 01:17:36.51ID:lMdV6DH3 powershellの実行権限デフォルトで縛ってるのなんでなの
batは縛ってないのに
batは縛ってないのに
395デフォルトの名無しさん
2025/02/05(水) 09:34:59.87ID:RMyxJ4z6 batが作られた時代はセキュリティという概念がほとんどなかった
いまや甘いと社会的影響も甚大で徹底的に叩かれる時代
何もわからない初心者がメールに添付されたスクリプトを実行できなくて困惑するくらいで丁度いい
batという穴が残っているといってもいまは過渡期
移行する選択肢がありたとえば組織のルールで禁止してメールフィルタで弾けばいい
いまや甘いと社会的影響も甚大で徹底的に叩かれる時代
何もわからない初心者がメールに添付されたスクリプトを実行できなくて困惑するくらいで丁度いい
batという穴が残っているといってもいまは過渡期
移行する選択肢がありたとえば組織のルールで禁止してメールフィルタで弾けばいい
396デフォルトの名無しさん
2025/02/05(水) 11:32:38.10ID:Mu7T1O7D 情弱は我慢して使えってこと
397デフォルトの名無しさん
2025/02/07(金) 21:28:42.53ID:lNWVt+S0 >>394
誰でも間違って重大ミスをする方がいいのか?
誰でも間違って重大ミスをする方がいいのか?
398デフォルトの名無しさん
2025/02/08(土) 08:16:37.94ID:cxNGtJGK 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 と一致します。
なんだこの差は
> 実行ポリシーは、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デフォルトの名無しさん
2025/02/08(土) 08:24:47.70ID:26aAk0ye 草
400デフォルトの名無しさん
2025/02/08(土) 08:47:04.49ID:Tj0Icuu5 マルチプラットフォームで社外の全システムに対応するのもめんどくさそうだしある程度はええやろ
UNIXならパーミッションを適切に設定する文化が馴染んでるしな
100点満点じゃないと人様に叩かれる文化は新しいものが生み出せずに萎縮する
UNIXならパーミッションを適切に設定する文化が馴染んでるしな
100点満点じゃないと人様に叩かれる文化は新しいものが生み出せずに萎縮する
401デフォルトの名無しさん
2025/02/08(土) 13:21:14.91ID:1vi9xXrm バッチファイルでも実行権限を持たせる事はできるんだから
powershell独自のやつは余計なんだよ
powershell独自のやつは余計なんだよ
402デフォルトの名無しさん
2025/02/08(土) 15:13:57.11ID:k/NTaFUS .ps1はエディタに紐付け
403デフォルトの名無しさん
2025/02/08(土) 15:51:11.00ID:6WBbu+9W メモ帳に紐付けてます
404デフォルトの名無しさん
2025/02/13(木) 09:12:08.62ID:/wbXAgvm PowerShell 7.5 GA is now available
https://devblogs.microsoft.com/powershell/announcing-powershell-7-5-ga/
https://devblogs.microsoft.com/powershell/announcing-powershell-7-5-ga/
405デフォルトの名無しさん
2025/02/18(火) 06:18:26.96ID:YFjssuad Selectボタンでファイルを選択した後にOKボタンを押下しても、$filePathにファイル名が代入されていません。何が原因でしょうか?
ttps://pastebin.com/a3EwP1Lw
ttps://pastebin.com/a3EwP1Lw
406デフォルトの名無しさん
2025/02/18(火) 07:51:32.12ID:WQjhH71Q >>405
テキストボックスには選択したファイルのパスが表示されてるのに、ってこと?
テキストボックスには選択したファイルのパスが表示されてるのに、ってこと?
407デフォルトの名無しさん
2025/02/18(火) 07:53:13.44ID:hC2ChTFa scope的に$filePath揮発してたりしない?
408デフォルトの名無しさん
2025/02/18(火) 08:02:55.62ID:WQjhH71Q 関数内で外のスコープの変数に代入する場合はスコープ指定(script: や global:)が必要だったかも
409デフォルトの名無しさん
2025/02/18(火) 19:01:09.96ID:cVYWxauq410デフォルトの名無しさん
2025/02/18(火) 21:38:36.15ID:Zhun0sKt >>409
408の内容理解してないだろ
408の内容理解してないだろ
411デフォルトの名無しさん
2025/02/18(火) 21:45:12.87ID:X9R6h3Dz $button_Select.Add_Clickの中の $filePath = $dialog_fileSelection.FileName を $script:filePath に変える
そもそもイベントハンドラの書き方おかしくない?
Add_Click{} じゃなくて Add_Click({}) でしょ
そもそもイベントハンドラの書き方おかしくない?
Add_Click{} じゃなくて Add_Click({}) でしょ
412デフォルトの名無しさん
2025/02/18(火) 21:45:47.23ID:pnZByoKT413デフォルトの名無しさん
2025/02/19(水) 05:46:44.36ID:95a5Qlah414デフォルトの名無しさん
2025/03/01(土) 22:23:09.05ID:yrcKQQ99 ttps://pastebin.com/THGpvEsL
ファイルを何も選択していない状態でOKボタンを押下すると、メッセージダイアログボックス「"Please select a file."」が表示され、そのダイアログボックスのOKボタンを押下すると、処理?が終了してしまいます。
OKボタンを押下した際に、そのメッセージダイアログボックス「"Please select a file."」だけ消すにはどうしたらいいでしょうか?
ファイルを何も選択していない状態でOKボタンを押下すると、メッセージダイアログボックス「"Please select a file."」が表示され、そのダイアログボックスのOKボタンを押下すると、処理?が終了してしまいます。
OKボタンを押下した際に、そのメッセージダイアログボックス「"Please select a file."」だけ消すにはどうしたらいいでしょうか?
415デフォルトの名無しさん
2025/03/02(日) 03:09:52.22ID:9brWkkbH416デフォルトの名無しさん
2025/03/02(日) 07:10:25.55ID:yaeCdLgC >>415
ありがとうございます!
ありがとうございます!
417デフォルトの名無しさん
2025/03/04(火) 14:43:31.10ID:p/g0UiTR 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
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.86ID:zJfq1/au Input Folder用のボタンを押下して対象のフォルダを選択した後、OKボタンを押下すると選択した対象のInputフォルダのパスが取得されていません。
変数スコープまたは"function setSelectButton"におけるswitchが機能していないのおもうのですが、何が原因でしょうか?
Copilotに聞いてもダメでした。ボタンなどの部品は関数化しないほうがいいのでしょうか?
ttps://pastebin.com/ULTy9dM8
変数スコープまたは"function setSelectButton"におけるswitchが機能していないのおもうのですが、何が原因でしょうか?
Copilotに聞いてもダメでした。ボタンなどの部品は関数化しないほうがいいのでしょうか?
ttps://pastebin.com/ULTy9dM8
419デフォルトの名無しさん
2025/03/07(金) 23:19:13.53ID:6K+ignj1 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
※これで入力欄にフォルダパスをコピペする人(=私)も安心
その時にはもう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.69ID:zOJ1gnEL 画面用のコードがひどすぎるのがPowerShell
421デフォルトの名無しさん
2025/03/09(日) 07:42:20.13ID:RXTu5Tqn422デフォルトの名無しさん
2025/03/11(火) 21:13:50.84ID:LUWD7xFy Windows 11 バージョン 24H2 で netsh.exe の出力を PowerShell の変数に代入すると、非 ASCII 文字が文字化けする事象について
https://jpwinsup.github.io/blog/2025/03/11/Networking/TCPIP/NetshEncodingChange24h2/
https://jpwinsup.github.io/blog/2025/03/11/Networking/TCPIP/NetshEncodingChange24h2/
423デフォルトの名無しさん
2025/04/26(土) 01:37:45.27ID:1l1C1hqe 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
の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デフォルトの名無しさん
2025/04/26(土) 21:00:04.39ID:arwW7ZGW >>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
なんで変数の対応がめちゃくちゃなの?
正規表現で力技でやるとこんなところだが
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.55ID:p1PcxSuO ttps://pastebin.com/0M9pbEJt
みたいなHTMLから特定のDIVクラス(kw)で定義されている要素を全部削除したいのですが、何かいい方法ありますでしょうか?
みたいなHTMLから特定のDIVクラス(kw)で定義されている要素を全部削除したいのですが、何かいい方法ありますでしょうか?
426デフォルトの名無しさん
2025/04/27(日) 15:25:40.97ID:/1DxBHsK427デフォルトの名無しさん
2025/04/27(日) 16:50:54.99ID:ce45ltSU 滝川クリトリスです
428デフォルトの名無しさん
2025/04/27(日) 20:14:14.77ID:/O0GUF2P 楽しようとして初回マッチ部分のみの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
やっぱり別のが消えちゃうという一抹の不安があるので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
レスを投稿する
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★2 [♪♪♪★]
- 【トレンド】高市首相「マウント取れる服」投稿にツッコミ続出「他国に対する敬意がない」「外交相手に失礼」 [1ゲットロボ★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… ★2 [尺アジ★]
- 津田健次郎、日本はどうも『若い』ということに固執しすぎている…どうカッコよく見えるかが大事」年の重ね方へ持論 [muffin★]
