前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/
次スレは>>980が立ててね!!
PowerShell -Part 7
1デフォルトの名無しさん
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB409デフォルトの名無しさん
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
429デフォルトの名無しさん
2025/04/27(日) 20:24:25.83ID:/O0GUF2P430デフォルトの名無しさん
2025/04/27(日) 22:05:35.62ID:aGrpQ/Rq 中身全部消すのであれば内側のKWは無視していいのでは
431デフォルトの名無しさん
2025/04/27(日) 22:11:37.95ID:/1DxBHsK 簡単には
$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"の存在とか、インデント等を完璧に維持したい、とかは考慮外。
$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デフォルトの名無しさん
2025/04/27(日) 22:22:47.91ID:/O0GUF2P >>431
なるほど
こんな感じにしてたんだよ
$list=@()
$doc.GetElementsByTagName('div')|?{$_.class -eq "KW"}|%{$list+=$_}
$list|%{[void]$_.ParentNode.RemoveChild($_)}
なるほど
こんな感じにしてたんだよ
$list=@()
$doc.GetElementsByTagName('div')|?{$_.class -eq "KW"}|%{$list+=$_}
$list|%{[void]$_.ParentNode.RemoveChild($_)}
433デフォルトの名無しさん
2025/04/27(日) 22:48:33.11ID:/O0GUF2P 悩んでたのは
既に削除しちゃてて存在しない場合にエラー無視はやりたくないなあってところ
既に削除しちゃてて存在しない場合にエラー無視はやりたくないなあってところ
434デフォルトの名無しさん
2025/05/02(金) 21:45:21.05ID:TuuGRLh6 powershellって日本語に厳しい?
日本語名のフォルダに入れた時だけエラー吐く
英語名フォルダは動く
UTF-8BOMで保存してるのに文字化けエラーが治らない
日本語名のフォルダに入れた時だけエラー吐く
英語名フォルダは動く
UTF-8BOMで保存してるのに文字化けエラーが治らない
435デフォルトの名無しさん
2025/05/02(金) 22:24:03.09ID:OrgxTXnx いわゆる「マルチバイト文字」のことを「日本語」と呼ぶのはジジイ
436デフォルトの名無しさん
2025/05/03(土) 07:39:35.24ID:ERFTsxnY UTF-8にBOMは不要
437デフォルトの名無しさん
2025/05/03(土) 17:59:32.71ID:0tHkB26n 文字コードが混在するシステムではBOMがあると便利です
438デフォルトの名無しさん
2025/05/03(土) 18:08:41.88ID:qBega2UP それが更に文字コードのバリエーションを増やし失敗を生むのだから本末転倒です
439デフォルトの名無しさん
2025/05/03(土) 18:08:56.03ID:PV3Uf1QS440デフォルトの名無しさん
2025/05/04(日) 07:07:42.38ID:kiovYued shift-jisにすればいいんじゃないの?
441デフォルトの名無しさん
2025/05/04(日) 08:23:30.18ID:GZLENS5k442デフォルトの名無しさん
2025/05/04(日) 11:02:36.68ID:Bff2jlZm 文字化け対策は
[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
こういうのをpowershellのプロファイルに書き込んで
powershell起動時に文字エンコードが適切な値になるようにしておく
そしてコンソールのタイトルバーを右クリして設定で適切なフォントが使用されてるか確認
[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
こういうのをpowershellのプロファイルに書き込んで
powershell起動時に文字エンコードが適切な値になるようにしておく
そしてコンソールのタイトルバーを右クリして設定で適切なフォントが使用されてるか確認
443デフォルトの名無しさん
2025/05/09(金) 16:18:47.82ID:LImQScat >>434 とは別人だが、レジストリ弄ったら文字化けしなくなったわ
初心者泣かせのクソ仕様だな
初心者泣かせのクソ仕様だな
444デフォルトの名無しさん
2025/05/10(土) 10:47:55.61ID:ARU6YZDD >>443
powershellをアップデートしたらリセットされそうな予感
powershellをアップデートしたらリセットされそうな予感
445デフォルトの名無しさん
2025/05/10(土) 15:03:05.65ID:L74jL6NI446デフォルトの名無しさん
2025/05/18(日) 16:44:31.56ID:w/29XAyn $a = powercfg.exe -lastwake
$aは文字列かと思ったら文字列の配列だった…
コマンドの出力に改行が無ければ文字列、含む場合は配列とかいうヘンテコ仕様は何なんだ
$aは文字列かと思ったら文字列の配列だった…
コマンドの出力に改行が無ければ文字列、含む場合は配列とかいうヘンテコ仕様は何なんだ
447デフォルトの名無しさん
2025/05/18(日) 19:51:20.44ID:xRSUEbTb この振る舞いを知らないと、$a.Lengthが時により文字列長だったり配列長だったりして、例外やバグになる。
さらには標準出力が何もないと文字列型である空文字ではなくNULL(AutomationNull)になるし。
外部プログラムの標準出力を受け手が改行ごとに分割して解釈するのはgrep等でよくあるからヘンテコ仕様とは思わないけど、
沢山あるpowershellの落とし穴の1つだと思ってる。
さらには標準出力が何もないと文字列型である空文字ではなくNULL(AutomationNull)になるし。
外部プログラムの標準出力を受け手が改行ごとに分割して解釈するのはgrep等でよくあるからヘンテコ仕様とは思わないけど、
沢山あるpowershellの落とし穴の1つだと思ってる。
448デフォルトの名無しさん
2025/05/19(月) 10:22:41.03ID:Z1VKFLAg $a = @(powercfg.exe -lastwake)
こんなふうにして必ず配列で返るようにするといいです
こんなふうにして必ず配列で返るようにするといいです
449デフォルトの名無しさん
2025/05/19(月) 21:43:03.14ID:qL6NUCv5 キモい記法だな
450デフォルトの名無しさん
2025/05/19(月) 23:54:30.60ID:2rbfAZ+2 このキモい記法ってコレクション返す関数書くと使わざるを得ないんだよな…
関数とかスクリプト最後のreturnにコレクションを渡すと勝手にバラす謎仕様
最初知らなくてDataTableのつもりがDataRowの配列で返ってきたときはびっくりした
関数とかスクリプト最後のreturnにコレクションを渡すと勝手にバラす謎仕様
最初知らなくてDataTableのつもりがDataRowの配列で返ってきたときはびっくりした
451デフォルトの名無しさん
2025/05/20(火) 01:53:43.90ID:yO05o0Kw [string[]]$aで受け取る
452デフォルトの名無しさん
2025/05/20(火) 12:57:58.71ID:NKLxZTlt 時刻データ(ISO 8601)が入った JSON を invoke-RestMethod で受け取る
あるいは ConvertFrom-JSON すると時刻が powershell 形式になる
データの内容を見て勝手に変換してるんか…
あるいは ConvertFrom-JSON すると時刻が powershell 形式になる
データの内容を見て勝手に変換してるんか…
453デフォルトの名無しさん
2025/05/20(火) 14:18:35.07ID:Xl2+DDPz >>452
勝手にDateTime型でだしてくるってこと?
勝手にDateTime型でだしてくるってこと?
454デフォルトの名無しさん
2025/05/20(火) 15:30:07.39ID:NKLxZTlt455デフォルトの名無しさん
2025/05/20(火) 15:52:27.90ID:NKLxZTlt 括弧いらなかった(どうでもいい)
(ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data
(ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data
456デフォルトの名無しさん
2025/05/21(水) 09:54:31.02ID:rXr/G70T ならんが(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
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デフォルトの名無しさん
2025/05/21(水) 09:59:36.90ID:2NJ41Wyd powershell5とpowershell7で動作が違うね
powershell7だと変換される
powershell7だと変換される
458デフォルトの名無しさん
2025/05/21(水) 17:10:41.92ID:NEzFfeHM 大半が5.1しか使わないから7の方が合わせろよって事
459デフォルトの名無しさん
2025/05/21(水) 18:50:19.37ID:UAEUk5lE 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 パラメーターが追加されました。これにより、タイムスタンプ文字列の変換方法を制御できます。 このパラメーターは、次の値を受け入れます。
PowerShell 6 以降、 ConvertTo-Json はタイムスタンプとして書式設定された文字列を DateTime 値に変換しようとします。
PowerShell 7.5 では、DateKind パラメーターが追加されました。これにより、タイムスタンプ文字列の変換方法を制御できます。 このパラメーターは、次の値を受け入れます。
460デフォルトの名無しさん
2025/06/24(火) 00:10:17.72ID:9HpiqCeZ powershell7っていつになったらOS標準搭載されるんだろう
スクリプト配れないから困るんだよね
スクリプト配れないから困るんだよね
461デフォルトの名無しさん
2025/06/24(火) 11:26:30.59ID:F3nFA9Ml 配ればいいじゃん
7で動作確認してますって書いとけばいいだけ
7で動作確認してますって書いとけばいいだけ
462デフォルトの名無しさん
2025/06/24(火) 11:45:12.25ID:jKpO0eO6 その小学生低学年みたいな書き込み必要か?
463デフォルトの名無しさん
2025/06/24(火) 12:05:00.87ID:KEAdRoBs いつになってもされないよ
Windowsのサポート期間と合わないから、標準で入れたところで結局塩漬けされて第二のPowerShell5になるだけ
そして最新のバージョンのPowerShellは今以上に誰も使わなくなる
.NET4.8のサポートが終了する頃にはとっくにPowerShellは開発終了してるだろうし、無理に移行させる理由がないんだよ
Windowsのサポート期間と合わないから、標準で入れたところで結局塩漬けされて第二のPowerShell5になるだけ
そして最新のバージョンのPowerShellは今以上に誰も使わなくなる
.NET4.8のサポートが終了する頃にはとっくにPowerShellは開発終了してるだろうし、無理に移行させる理由がないんだよ
464デフォルトの名無しさん
2025/06/24(火) 12:24:16.18ID:uXNyGdUq OS標準搭載とか安定が必要なのはv5を使え、v7は破壊的変更を加えながら育ててくって棲み分けになってるから標準搭載はナイだろうなあ
465デフォルトの名無しさん
2025/06/24(火) 18:03:39.76ID:sjc0o4g2 6以降はWindowsファーストでUNIXでも動くシェルとしてわりとユニークな立ち位置なのでそれなりに存在価値はあり、
MSスタックどっぷりな人間がAzureをはじめとしてクラウドでLinuxに触れざるを得ないときのハードルを下げるのに役立っている
Winのオンプレ鯖やPCのシェルとしては5までで終わり
MSスタックどっぷりな人間がAzureをはじめとしてクラウドでLinuxに触れざるを得ないときのハードルを下げるのに役立っている
Winのオンプレ鯖やPCのシェルとしては5までで終わり
466デフォルトの名無しさん
2025/06/24(火) 19:36:57.27ID:ZrkIV361 .NET Framework 4系(4.8.x)がWindowsに同梱され続ける限り、PowerShell 7.xが標準になることはなさそう
Unicodeの年次アプデがもう何年も反映されてなかったり、色々とキツいけど仕方ない
Unicodeの年次アプデがもう何年も反映されてなかったり、色々とキツいけど仕方ない
467デフォルトの名無しさん
2025/06/25(水) 00:38:29.01ID:6PeRjodX powershellで攻めた使い方するくらいならpythonで書くよなぁ
インストール不要で動くという最大のメリットがない7系はpowershell好きにしか響かないと思う
インストール不要で動くという最大のメリットがない7系はpowershell好きにしか響かないと思う
468デフォルトの名無しさん
2025/06/25(水) 13:28:46.57ID:zWuAHPd0 >>467
逆にpowershell7をインストールしないメリットて何だ
逆にpowershell7をインストールしないメリットて何だ
469デフォルトの名無しさん
2025/06/25(水) 15:20:42.55ID:TZWJXUbx Pythonをインストールしないメリットと似たようなもん
470デフォルトの名無しさん
2025/06/26(木) 17:27:15.49ID:lOjfAOzg powershell 7 が読めない速さで(読めないのでキャプチャした)
”Creating implict remoting module ... [Getting command information from remote session ... 74 commands received 0s]”
とか黄色文字で一瞬表示するの止められないんだろうか
チラチラして鬱陶しい
implict remotingて何だと調べると互換性の無いモジュールを裏でpowershell 5 を起動して処理してるんだとか
Set-Location 程度でも発動する
”Creating implict remoting module ... [Getting command information from remote session ... 74 commands received 0s]”
とか黄色文字で一瞬表示するの止められないんだろうか
チラチラして鬱陶しい
implict remotingて何だと調べると互換性の無いモジュールを裏でpowershell 5 を起動して処理してるんだとか
Set-Location 程度でも発動する
471デフォルトの名無しさん
2025/06/28(土) 01:00:11.07ID:UBYVDQZY 昔数百万行の各個別コマンドをpowershellでスレッドプール実装して並列処理で捌いたことあったけどvscodeの拡張機能でのデバッグが無かったら諦めてたと思う
拡張機能のおかげで大分開発しやすくなった
拡張機能のおかげで大分開発しやすくなった
472デフォルトの名無しさん
2025/06/28(土) 16:43:22.73ID:uH6ba5rf473デフォルトの名無しさん
2025/06/30(月) 14:31:10.94ID:+52Dh5n7 「Windows PowerShell 2.0」は非推奨、将来的に削除 〜Microsoftが改めて注意喚起
「Windows PowerShell 5.x」や「PowerShell 7.5」への移行を
https://forest.watch.impress.co.jp/docs/news/2026721.html
「Windows PowerShell 5.x」や「PowerShell 7.5」への移行を
https://forest.watch.impress.co.jp/docs/news/2026721.html
474デフォルトの名無しさん
2025/07/08(火) 11:07:44.40ID:ub1Gvu25 >>397
batの方が重大なミスしそうなんですがそれは
batの方が重大なミスしそうなんですがそれは
475デフォルトの名無しさん
2025/07/08(火) 11:08:23.57ID:ub1Gvu25 >>398
っぱpwsh on linuxよ
っぱpwsh on linuxよ
476デフォルトの名無しさん
2025/07/08(火) 11:16:15.29ID:jxaCuQsN >>474
よく読め
よく読め
477デフォルトの名無しさん
2025/07/08(火) 11:16:26.31ID:ub1Gvu25478デフォルトの名無しさん
2025/07/09(水) 05:32:28.94ID:aeqwBJS6 powershellの日本語ドキュメント、chatGPTに翻訳させたらもっとマトモにならんかなあ…
479デフォルトの名無しさん
2025/07/09(水) 05:34:55.69ID:aeqwBJS6 6もしぱらくバグまみれだったし7もバグどんどん見つかっていったし、最新がプリイン入る事は無いと思うな
多分最新の1つ前の最終マイナーバージョン、すなわちもし今なら6の最終バージョンじゃね
多分最新の1つ前の最終マイナーバージョン、すなわちもし今なら6の最終バージョンじゃね
480デフォルトの名無しさん
2025/07/09(水) 06:17:43.31ID:b3V2Axv4 .NET Frameworkと違って.NET5以降がOSに同梱はないでしょ
MS的に推奨かは知らんが関連するライブラリを標準モジュール含めて全部同梱配布が.NET系アプリのスタンダードになってるし今は
だったらロードさせることのないdllをOS標準で入れる意味も無いし未来永劫Powershell6以降は来ないって半分諦めてるけどね
MS的に推奨かは知らんが関連するライブラリを標準モジュール含めて全部同梱配布が.NET系アプリのスタンダードになってるし今は
だったらロードさせることのないdllをOS標準で入れる意味も無いし未来永劫Powershell6以降は来ないって半分諦めてるけどね
481デフォルトの名無しさん
2025/07/09(水) 17:36:33.28ID:ohpjpVt+ 本日はご多忙の中、協力関係者様にお集まりいただきありがとうございます。
powershellは無事5.1で完結いたしました。
powershell第一部・完
6以降はまた別のお話とさせていただきます。
こんな感じ
powershellは無事5.1で完結いたしました。
powershell第一部・完
6以降はまた別のお話とさせていただきます。
こんな感じ
482デフォルトの名無しさん
2025/07/10(木) 00:21:06.24ID:z96em9yx ps1の1は当時はバージョン名の想定じゃなかったっけ
483デフォルトの名無しさん
2025/07/10(木) 07:27:18.57ID:qajreXxd >>482
バージョンを表しているのは間違いない
ただ言語のメジャーバージョンとファイルフォーマットの互換性を表すバージョンは必ずしも一致しないって扱いなので、もし次に拡張子が変わるときが来るなら.ps2になる
https://devblogs.microsoft.com/powershell/ctp-versioning/
Excelを例に取ると97、2007でそれぞれ内部形式が変わっていて、2007では拡張子も変わっているので、いうなれば.xlsxは.xl3に相当するイメージ(5.0以前は無視した場合)
.ps1は最初はバージョンごとに毎回数字を変えるつもりだったけどやめたって説が巷で主流だけど、コレは公式のソースが見つからなかった
バージョンを表しているのは間違いない
ただ言語のメジャーバージョンとファイルフォーマットの互換性を表すバージョンは必ずしも一致しないって扱いなので、もし次に拡張子が変わるときが来るなら.ps2になる
https://devblogs.microsoft.com/powershell/ctp-versioning/
Excelを例に取ると97、2007でそれぞれ内部形式が変わっていて、2007では拡張子も変わっているので、いうなれば.xlsxは.xl3に相当するイメージ(5.0以前は無視した場合)
.ps1は最初はバージョンごとに毎回数字を変えるつもりだったけどやめたって説が巷で主流だけど、コレは公式のソースが見つからなかった
484デフォルトの名無しさん
2025/07/10(木) 11:15:28.70ID:DIIl0KYX microsoftは妙に互換性にこだわるから
拡張子.ps1はpowershellがどんなバージョンになっても変わらないよ
今は拡張子に「バージョンの番号が含まれてます」っていう意味すら意味をなくしていて
ただ単に「.ps1はpowershellスクリプトの拡張子です」ってだけの意味でしかないから
今さら拡張子を新しくするメリットが無い
拡張子.ps1はpowershellがどんなバージョンになっても変わらないよ
今は拡張子に「バージョンの番号が含まれてます」っていう意味すら意味をなくしていて
ただ単に「.ps1はpowershellスクリプトの拡張子です」ってだけの意味でしかないから
今さら拡張子を新しくするメリットが無い
485デフォルトの名無しさん
2025/07/10(木) 11:20:06.12ID:DIIl0KYX486デフォルトの名無しさん
2025/07/10(木) 11:55:28.72ID:nn3AKhN3 もうexeにすればいいんじゃねえかな
powershellで作ったかどうかすら判らんし
powershellで作ったかどうかすら判らんし
487デフォルトの名無しさん
2025/07/11(金) 21:41:14.58ID:UFItDSPS 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.
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デフォルトの名無しさん
2025/07/12(土) 15:57:57.17ID:KKY9VgUr 記事の日付は2007年やぞ
489デフォルトの名無しさん
2025/07/14(月) 21:23:18.49ID:54I3beLE PowerShell6で拡張子を変えなかった時点で
この先も.ps1のままなのはほぼ確定だよね
この先も.ps1のままなのはほぼ確定だよね
490デフォルトの名無しさん
2025/07/15(火) 01:51:30.33ID:kwekYfOc 俺たちのJeffrey Snoverはもういない、いないんだ…
491デフォルトの名無しさん
2025/07/15(火) 14:43:34.46ID:iicdRBcv コマンドプロンプト使ってる人はたくさんいるけど
powershell使ってる人ここ10年で一度も見たこと無い
powershell使ってる人ここ10年で一度も見たこと無い
492デフォルトの名無しさん
2025/07/15(火) 17:26:35.63ID:J6nh+lbb >>491
コンソール(の外観)のハナシ?
コンソール(の外観)のハナシ?
493デフォルトの名無しさん
2025/07/15(火) 17:58:06.00ID:eVgbUR/v 俺も、以下の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のみで使用可。
↓
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.26ID:onP4ElKb Terminalに移行したら分からなくなっちゃったか
495デフォルトの名無しさん
2025/07/15(火) 18:07:10.16ID:yseOir/R 気軽にスクリプト実行できないから使い道がない
496デフォルトの名無しさん
2025/07/15(火) 20:54:02.36ID:1cN94XmW 本気で言ってるのか
497デフォルトの名無しさん
2025/07/15(火) 21:58:24.95ID:ZcYliqlC 弊社はIT企業じゃないし、勝手にPythonを入れたりするとたぶん怒られるので
Windowsに最初から入ってるPowerShellを便利に使ってました
たまに、起動用のbatファイルとPowerShellスクリプトをセットにして同僚に渡すこともありました
Windowsに最初から入ってるPowerShellを便利に使ってました
たまに、起動用のbatファイルとPowerShellスクリプトをセットにして同僚に渡すこともありました
498デフォルトの名無しさん
2025/07/16(水) 08:58:08.06ID:83bEnGjZ いい加減ペイント3DみたいにPowerShellのアプローチは失敗でしたと認めちゃばいいのに(´・ω・`)
499デフォルトの名無しさん
2025/07/16(水) 12:43:16.16ID:09DhhKQk もうログインスクリプトにも使われてるから
Windowsの終焉まで逃げ出せないよ
Windowsの終焉まで逃げ出せないよ
500デフォルトの名無しさん
2025/07/16(水) 22:06:02.34ID:5d/ixC+9 PowerShellのどのアプローチが失敗なのか具体的に
501デフォルトの名無しさん
2025/07/16(水) 23:17:35.03ID:7/+dohrQ 起動用のbatが必要になっちゃうってのがな
PowerShell単独では使いにくい
PowerShell単独では使いにくい
502デフォルトの名無しさん
2025/07/16(水) 23:57:41.77ID:YcDGevHy ん?どういうこと?
503デフォルトの名無しさん
2025/07/17(木) 00:10:22.13ID:sGHKyXGW ダブルクリック実行できるようにするために手間がかかる
504デフォルトの名無しさん
2025/07/17(木) 00:22:02.88ID:Nf2HlQRn 正直言ってexecutionpolicyの初期値は大失敗だろうなぁ
結局.batか.cmd経由でダブルクリック起動できるんだからマジで無意味
ネットから落としたファイルはzoneidがあるから設定に関係なく警告でるんだし
あとcmdもPowershellもWindowsのオマケであることに価値があるのにPowershell5.1までしか同梱されてないし
結局.batか.cmd経由でダブルクリック起動できるんだからマジで無意味
ネットから落としたファイルはzoneidがあるから設定に関係なく警告でるんだし
あとcmdもPowershellもWindowsのオマケであることに価値があるのにPowershell5.1までしか同梱されてないし
505デフォルトの名無しさん
2025/07/17(木) 07:33:01.42ID:1VTmgFuN もう直接powershell.exeに関連付けしてる
506デフォルトの名無しさん
2025/07/17(木) 08:05:58.12ID:9jYPg0KZ507デフォルトの名無しさん
2025/07/17(木) 08:06:51.20ID:9jYPg0KZ >>486
それはWindowsしか知らない人間の発想
それはWindowsしか知らない人間の発想
508デフォルトの名無しさん
2025/07/17(木) 08:08:24.36ID:9jYPg0KZレスを投稿する
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- 両手でフレミングの法則やってくれ [577451214]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
