前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/
次スレは>>980が立ててね!!
探検
PowerShell -Part 7
1デフォルトの名無しさん
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB2023/11/29(水) 20:26:02.61ID:aabs5txO
ドライバのinfファイルに署名がない古いハードを使うために
オレオレ証明書を作って勝手に署名する方法があるが
ググって出る手順のままではダメでいまはWindows Design KitとWindows SDKが必要で
SDKにあるmakecertコマンドはマイクロソフト公式に推奨されないとも…
PowerShellでできるからということらしいがどう使ったら同じ結果になるかはわからなかった
makecertのような非推奨コマンドと1対1のPowerShellでの使用例ってどこかにないだろうか
今後同じような事態に陥った時のため備えておきたい
マイクロソフトのサイトにはオプションの説明はあるけど
makecertとの対比表とかはない
オレオレ証明書を作って勝手に署名する方法があるが
ググって出る手順のままではダメでいまはWindows Design KitとWindows SDKが必要で
SDKにあるmakecertコマンドはマイクロソフト公式に推奨されないとも…
PowerShellでできるからということらしいがどう使ったら同じ結果になるかはわからなかった
makecertのような非推奨コマンドと1対1のPowerShellでの使用例ってどこかにないだろうか
今後同じような事態に陥った時のため備えておきたい
マイクロソフトのサイトにはオプションの説明はあるけど
makecertとの対比表とかはない
2023/11/30(木) 19:34:57.73ID:4nwqW1NG
powershell関係あるのかしら
古い環境そのものやP2V化して動作確認取れる環境を保存していくのが簡単だよ
ドライバへの署名はあくまで1企業の都合という事をお忘れなく
古い環境そのものやP2V化して動作確認取れる環境を保存していくのが簡単だよ
ドライバへの署名はあくまで1企業の都合という事をお忘れなく
4デフォルトの名無しさん
2023/12/01(金) 21:00:19.47ID:0gNLMIqi 直下にあるファイルをgciの-Includeでフィルタリングしつつ取得する際に
Get-ChildItem -Include *hoge*.txt
はだめで
Get-ChildItem -Recurse -Include *hoge*.txt
-Recurseを入れると動くのはなぜですか?
サブディレクトリを含まない直下のみのファイル検索なら-Recurseなしでもいける認識なんですが間違ってますか
Get-ChildItem -Include *hoge*.txt
はだめで
Get-ChildItem -Recurse -Include *hoge*.txt
-Recurseを入れると動くのはなぜですか?
サブディレクトリを含まない直下のみのファイル検索なら-Recurseなしでもいける認識なんですが間違ってますか
2023/12/01(金) 21:20:55.43ID:Jz3SJDE5
>>4
gciで-Includeを使う場合gciに与えるデフォルト引数としてアスタリスク「*」を含んだパス名が必要なんだよ特に書いてないけど
つまり「Get-ChildItem -Include *hoge*.txt *」で意図通りになるはず
というかね、-Includeなんか忘れていい。フィルタならwhere-objectでやった方が判りやすい
gci | where Name -like "*hoge*.txt"
コマンドレットは変な仕様が多いから妙だな…と思ったらそれ以上深入りする必要はない
gciで-Includeを使う場合gciに与えるデフォルト引数としてアスタリスク「*」を含んだパス名が必要なんだよ特に書いてないけど
つまり「Get-ChildItem -Include *hoge*.txt *」で意図通りになるはず
というかね、-Includeなんか忘れていい。フィルタならwhere-objectでやった方が判りやすい
gci | where Name -like "*hoge*.txt"
コマンドレットは変な仕様が多いから妙だな…と思ったらそれ以上深入りする必要はない
2023/12/01(金) 22:24:22.03ID:nrjrox6C
そもそもワイルドカードの単純なフィルタならデフォルトの-pathでできるから-includeとか基本使わないな
learn見たら「-includeは-pathの末尾が*じゃないと動かない(-recurseなら省略可)」ってはっきり書いてたわ
learn見たら「-includeは-pathの末尾が*じゃないと動かない(-recurseなら省略可)」ってはっきり書いてたわ
2023/12/01(金) 22:30:34.62ID:S2lEQVa3
ファイルシステム側に検索オプションを指定するのが-Filterで
PowerShell自信でフィルタリングするのが-Includeだっけ、懐かしい話だ
PowerShell自信でフィルタリングするのが-Includeだっけ、懐かしい話だ
2023/12/02(土) 08:48:18.48ID:Fkw0aBk3
gciの表示が間延びしてるのを詰めたい
ModeとLastWriteTimeにあんなに幅いらんやろ
ModeとLastWriteTimeにあんなに幅いらんやろ
9デフォルトの名無しさん
2023/12/02(土) 20:49:53.53ID:CMdctbaC 4ですみなさんありがとうございます
当然質問する前にLearnで確認していたのですが、てっきりワイルドカードも使えるよ!ぐらいのニュアンスだと思っていました
大人しくwhere-object使います。すっきりしましたm(_ _)m
当然質問する前にLearnで確認していたのですが、てっきりワイルドカードも使えるよ!ぐらいのニュアンスだと思っていました
大人しくwhere-object使います。すっきりしましたm(_ _)m
2023/12/02(土) 21:42:01.24ID:B4ObjCpy
>>8
Format-Table -AutoSize
Format-Table -AutoSize
2023/12/03(日) 07:28:03.75ID:tKLbRUl7
すまんコマンド追加で整形したいんじゃない
デフォルトの形式をいじりたい
デフォルトの形式をいじりたい
2023/12/03(日) 09:12:08.68ID:GWzH2m5A
2023/12/03(日) 09:40:08.91ID:tKLbRUl7
Get-FormatData -TypeName 'System.IO.*' -PowerShellVersion $PSVersionTable.PSVersion | Export-FormatData -Path fd.ps1xml
gc .\fd.ps1xml | % { $_ -replace '7', '5' } | % { $_ -replace '26', '20' } | % { $_ -replace '14', '12' } > fd-mod.ps1xml
Update-FormatData -PrependPath .\fd-mod.ps1xml
としてみたら全然違う結果になってしまった
出てきたものの数字を変えるだけじゃだめなのかな
gc .\fd.ps1xml | % { $_ -replace '7', '5' } | % { $_ -replace '26', '20' } | % { $_ -replace '14', '12' } > fd-mod.ps1xml
Update-FormatData -PrependPath .\fd-mod.ps1xml
としてみたら全然違う結果になってしまった
出てきたものの数字を変えるだけじゃだめなのかな
2023/12/03(日) 13:55:42.15ID:tKLbRUl7
なぜTable形式でなくList形式になるのでしょうか
2023/12/03(日) 17:41:11.89ID:tKLbRUl7
ファイルとディレクトリが混ざってるからだった
あとは日付と時刻を詰めたい
あとは日付と時刻を詰めたい
16デフォルトの名無しさん
2023/12/05(火) 09:46:48.52ID:RGe8cD49 引数付きエイリアスの作り方を教えてください
'ABC' > file
tar -c -f - file | tar -x -O -f - file
の 「tar -x -O -f」 をエイリアス tarout にして
tar -c -f - file | tarout - file
として使うにはどうするのでしょうか
'ABC' > file
tar -c -f - file | tar -x -O -f - file
の 「tar -x -O -f」 をエイリアス tarout にして
tar -c -f - file | tarout - file
として使うにはどうするのでしょうか
2023/12/05(火) 14:36:11.77ID:lXd0pnoy
できない
そういうのはfunctionとかfilter作ってやる
そういうのはfunctionとかfilter作ってやる
2023/12/05(火) 14:53:09.61ID:7QjuGoaz
19デフォルトの名無しさん
2023/12/05(火) 15:54:15.98ID:RGe8cD49 そこまではたどり着いたのですが苦戦しています
正直言って手も足も出ません
どうすればよいのでしょうか
正直言って手も足も出ません
どうすればよいのでしょうか
2023/12/05(火) 21:04:00.28ID:rxI6O073
何がしたいのか知らんけどpowershellのパイプはオブジェクトに変換しないとだからtarが期待する入出力にはならんだろうな
ほれ
function tarout {
tar -x -O -f $args
}
tarout - file
ほれ
function tarout {
tar -x -O -f $args
}
tarout - file
2023/12/05(火) 21:27:27.93ID:7QjuGoaz
>powershellのパイプはオブジェクトに変換しないとだからtarが期待する入出力にはならんだろうな
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
22デフォルトの名無しさん
2023/12/05(火) 21:47:53.20ID:RGe8cD49 >>0020
それは最初に自分で試してだめだったやつですな
パイプでなく標準入力を読もうとしてCtrl-Z待ちで止まるやつ
Windows 10 から tar.exe あるんで試してから回答してもらえると嬉しい
>>0021
PowerShellからネイティブは通る
ネイティブからネイティブは通る
ネイティブからPowerShellは通らない
だからPowerShellでtaroutは書けないってこと?
だとしたらPowerShellくそすぎる
それは最初に自分で試してだめだったやつですな
パイプでなく標準入力を読もうとしてCtrl-Z待ちで止まるやつ
Windows 10 から tar.exe あるんで試してから回答してもらえると嬉しい
>>0021
PowerShellからネイティブは通る
ネイティブからネイティブは通る
ネイティブからPowerShellは通らない
だからPowerShellでtaroutは書けないってこと?
だとしたらPowerShellくそすぎる
23デフォルトの名無しさん
2023/12/06(水) 09:58:34.06ID:pwwMUfVm 一応整理
PS 1> 'Success' > testfile
PS 2> tar -c -j -f test.tar.bz2 testfile
PS 3> Get-Content -Path test.tar.bz2 -AsByteStream | tar -x -O -f - testfile
Success
PS 4> tar -c -j -f - testfile | tar -x -O -f - testfile
Success
PS 5> . { tar -c -j -f - testfile } | tar -x -O -f - testfile
tar.exe: Error opening archive: bzip decompression failed
PowerShellからのバイトストリームはネイティブに通る (PS 3>)
ネイティブからネイティブもバイトのまま壊れずに通る (PS 4>)
ネイティブからPowerShell(経由でネイティブ)は通らない (PS 5>)
だからPowerShellでtaroutは書けない
Start-Processで頑張れば書けるのかもしれない、知らんけど
進歩はしたがtarout程度に苦労多すぎなPowerShellはくそ
PS 1> 'Success' > testfile
PS 2> tar -c -j -f test.tar.bz2 testfile
PS 3> Get-Content -Path test.tar.bz2 -AsByteStream | tar -x -O -f - testfile
Success
PS 4> tar -c -j -f - testfile | tar -x -O -f - testfile
Success
PS 5> . { tar -c -j -f - testfile } | tar -x -O -f - testfile
tar.exe: Error opening archive: bzip decompression failed
PowerShellからのバイトストリームはネイティブに通る (PS 3>)
ネイティブからネイティブもバイトのまま壊れずに通る (PS 4>)
ネイティブからPowerShell(経由でネイティブ)は通らない (PS 5>)
だからPowerShellでtaroutは書けない
Start-Processで頑張れば書けるのかもしれない、知らんけど
進歩はしたがtarout程度に苦労多すぎなPowerShellはくそ
2023/12/07(木) 08:28:41.09ID:c+XrIY2G
beginブロックで$inputを使うとバイトストリームが出てくるようになって欲しい
そしたらtaroutもこう書けるようになるのに
function tarout { begin { $input | tar -x -O -f $args }}
でもこれは難しいだろうな
そしたらtaroutもこう書けるようになるのに
function tarout { begin { $input | tar -x -O -f $args }}
でもこれは難しいだろうな
2023/12/07(木) 15:51:22.78ID:X0+oSYJ4
beginじゃない別のキーワード用意するレベルじゃないと難しいだろうなぁ
2023/12/08(金) 08:18:26.16ID:tWmRPca2
いやbeginブロックで十分でしょ
今はbeginブロックの$inputは無意味なんだから有効活用
難しいと思うのは
・beginブロックに$inputがあったら、そのfunction,ScriptBlockにパイプでバイトよこせマークをつける
・バイトよこせマークがあったらパイプラインでネイティブコマンド扱いしてバイトを流す
処理が必要だからで・・・難しく・・・な・・・い、かも
今はbeginブロックの$inputは無意味なんだから有効活用
難しいと思うのは
・beginブロックに$inputがあったら、そのfunction,ScriptBlockにパイプでバイトよこせマークをつける
・バイトよこせマークがあったらパイプラインでネイティブコマンド扱いしてバイトを流す
処理が必要だからで・・・難しく・・・な・・・い、かも
2023/12/08(金) 08:33:10.45ID:xElvY7bj
本気で難しくないと思うならお前が実装してPR送れよ
2023/12/08(金) 20:15:49.14ID:8rS6bPls
公式で7.3にもなって直してないんじゃそんなのを気にしてるのは少数派なんだろ
むしろお前が動くしかなかろうよ
むしろお前が動くしかなかろうよ
2023/12/09(土) 13:31:46.58ID:F2smNVkX
個人的にはpythonのライブラリ群をそのままPSObjectにぶっこ抜きして動かせるようにして欲しい
2023/12/09(土) 15:21:51.18ID:NdJUV/GZ
Python - Support · Issue #19418
https://github.com/PowerShell/PowerShell/issues/19418
https://github.com/PowerShell/PowerShell/issues/19418
2023/12/09(土) 18:40:01.66ID:F2smNVkX
>>30
なんかそのスレッドはpython使いの声がでかいのかpython主導でpython起動すりゃいいだろ的な話がされてて俺の意図とは違うな
俺の考えはそれとは真逆でpythonの便利ライブラリだけpowereshellで拝借してキモいpython処理系自体を入れたくないのよね
俺の言いたいこと判るよね
なんかそのスレッドはpython使いの声がでかいのかpython主導でpython起動すりゃいいだろ的な話がされてて俺の意図とは違うな
俺の考えはそれとは真逆でpythonの便利ライブラリだけpowereshellで拝借してキモいpython処理系自体を入れたくないのよね
俺の言いたいこと判るよね
32デフォルトの名無しさん
2023/12/09(土) 18:46:30.00ID:iYG1bkmj キモいpython処理www
キモいのはpowershellじゃぼけww
キモいのはpowershellじゃぼけww
2023/12/09(土) 19:18:53.30ID:F2smNVkX
34デフォルトの名無しさん
2023/12/09(土) 20:18:03.05ID:P3Dp1Ib1 $null | %{'hoge'+$_}
これでなんでhogeが出力されるんですか?
Nullになるかとおもったんですが
これでなんでhogeが出力されるんですか?
Nullになるかとおもったんですが
2023/12/09(土) 21:01:47.88ID:2orRcob9
型を合わせるために、NULLが空文字に変換されるから。
そこでNULLを期待するのはRDBとかの場合だね。(RDBにもよるけど。)
そこでNULLを期待するのはRDBとかの場合だね。(RDBにもよるけど。)
2023/12/09(土) 21:38:52.15ID:NdJUV/GZ
https://learn.microsoft.com/ja-jp/powershell/scripting/lang-spec/chapter-06?view=powershell-7.3#68-conversion-to-string
string 型に値を変換する規則は次のとおりです。
・null 型の値は、空の文字列に変換されます。
string 型に値を変換する規則は次のとおりです。
・null 型の値は、空の文字列に変換されます。
37デフォルトの名無しさん
2023/12/09(土) 21:38:52.87ID:P3Dp1Ib1 >>35
なるほど
ありがとうございます
ためしに
$null | %{$_+$hoge}
にしたらNullになりました
+演算子の左辺の型に合わせて右が型変換されるんですね
…PowerShellは難しい
なるほど
ありがとうございます
ためしに
$null | %{$_+$hoge}
にしたらNullになりました
+演算子の左辺の型に合わせて右が型変換されるんですね
…PowerShellは難しい
38デフォルトの名無しさん
2023/12/09(土) 21:42:29.77ID:P3Dp1Ib1 >>36
ありがとうございます
ありがとうございます
2023/12/13(水) 09:57:50.32ID:RVDAjcVA
PowerShellでファイルの詳細なプロパティを編集することってできますか?
評価とかタグとか下のurlに載っている300種類ぐらいの拡張プロパティです
Windows プロパティ - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/properties/props
プロパティの取得だけなら
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$Getfolder = $shell.Namespace($folder)
$Getfile = $Getfolder.ParseName($file)
$Getfile.ExtendedProperty("System.SimpleRating")
これでできたんですけど
プロパティの編集方法は色々調べてみたんですがわかりませんでした
評価とかタグとか下のurlに載っている300種類ぐらいの拡張プロパティです
Windows プロパティ - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/properties/props
プロパティの取得だけなら
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$Getfolder = $shell.Namespace($folder)
$Getfile = $Getfolder.ParseName($file)
$Getfile.ExtendedProperty("System.SimpleRating")
これでできたんですけど
プロパティの編集方法は色々調べてみたんですがわかりませんでした
2023/12/13(水) 21:26:19.77ID:SOLvnyCP
2023/12/13(水) 23:49:36.01ID:RVDAjcVA
2023/12/14(木) 03:02:02.55ID:EBZTu/MN
中見たら7時代のWindows-API-Code-Packとやらを拾ってきて使うのか
本来シェル名前空間からやれそうな事なのにWritePropertyへ辿りつくまでかなり遠回りしたな
本来シェル名前空間からやれそうな事なのにWritePropertyへ辿りつくまでかなり遠回りしたな
43あぼーん
NGNGあぼーん
2023/12/16(土) 07:52:34.43ID:fGCT2KhW
ps1ファイルをユーザーに手軽に実行してもらう方法ってないですかね
batだと単にダブルクリックするだけでいいところが、
ps1だとショートカット作って↓↓をくっつけてと、とても運用に耐えられないんですが
「powershell.exe -ExecutionPolicy Unrestricted 」
batだと単にダブルクリックするだけでいいところが、
ps1だとショートカット作って↓↓をくっつけてと、とても運用に耐えられないんですが
「powershell.exe -ExecutionPolicy Unrestricted 」
2023/12/16(土) 08:42:06.64ID:5tZpbEW3
>>43
これならできそう
これならできそう
2023/12/16(土) 09:34:51.52ID:pgUnJUCg
>>44
ググればバッチファイルにPowerShellスクリプトを埋め込む方法が見つかるよ
ググればバッチファイルにPowerShellスクリプトを埋め込む方法が見つかるよ
2023/12/16(土) 10:07:55.43ID:fGCT2KhW
2023/12/16(土) 10:42:25.24ID:nDmmdgrP
ps1はコード署名して、グループポリシーで証明書配付しよう
2023/12/16(土) 12:13:16.06ID:fGCT2KhW
>>48
そこまでするなら、スクリプトよりexe作った方が早・・・
そこまでするなら、スクリプトよりexe作った方が早・・・
2023/12/16(土) 12:35:03.91ID:K5lUjnCI
>>43
やってみない手はない
やってみない手はない
2023/12/16(土) 16:03:42.74ID:XRhqtdk+
埋め込むやつって結局iex経由の特殊環境だから一部の変数とか使えなくて困る
無理に使わなくていいよ
無理に使わなくていいよ
2023/12/16(土) 23:27:25.62ID:yw6xDge+
横からすみません
>>40
のインストールにチャレンジしたのですが、管理者権限のPowerShellでInstall-ModuleをしたのにImport-Moduleでdllが無いみたいなエラーが出て使えません
どなたかアドバイス頂けないでしょうか
>>40
のインストールにチャレンジしたのですが、管理者権限のPowerShellでInstall-ModuleをしたのにImport-Moduleでdllが無いみたいなエラーが出て使えません
どなたかアドバイス頂けないでしょうか
2023/12/17(日) 00:21:34.60ID:OHxpVvei
>>52
下のURLの2つのnupkgをダウンロードして、ファイル名の後ろの拡張子を.zipに変更する
https://www.nuget.org/api/v2/package/Microsoft-WindowsAPICodePack-Core/1.1.4
https://www.nuget.org/api/v2/package/Microsoft-WindowsAPICodePack-Shell/1.1.4
↓
microsoft-windowsapicodepack-core.1.1.4.nupkg.zip
microsoft-windowsapicodepack-shell.1.1.4.nupkg.zip
この2つのzipを適当なフォルダに解凍して、libフォルダその他が作成される事を確認。ここで必要なのはlib配下の*.dllのみ
libフォルダ内の自分のpowershell環境と適合する.NETのバージョンのフォルダから*.dllを取り出してカレントディレクトリに配置
でいけるんじゃないかな
下のURLの2つのnupkgをダウンロードして、ファイル名の後ろの拡張子を.zipに変更する
https://www.nuget.org/api/v2/package/Microsoft-WindowsAPICodePack-Core/1.1.4
https://www.nuget.org/api/v2/package/Microsoft-WindowsAPICodePack-Shell/1.1.4
↓
microsoft-windowsapicodepack-core.1.1.4.nupkg.zip
microsoft-windowsapicodepack-shell.1.1.4.nupkg.zip
この2つのzipを適当なフォルダに解凍して、libフォルダその他が作成される事を確認。ここで必要なのはlib配下の*.dllのみ
libフォルダ内の自分のpowershell環境と適合する.NETのバージョンのフォルダから*.dllを取り出してカレントディレクトリに配置
でいけるんじゃないかな
2023/12/22(金) 07:48:19.63ID:wPcChJb5
$PROFILE ってなんなのでしょうか
$PROFILE.GetType() だと String のようですが
$PROFILE | Select-Object * で AllUsersAllHosts などが出てくるのがわかりません
$PROFILE | Select-Object * で何が起きているのでしょうか
$PROFILE.GetType() だと String のようですが
$PROFILE | Select-Object * で AllUsersAllHosts などが出てくるのがわかりません
$PROFILE | Select-Object * で何が起きているのでしょうか
2023/12/22(金) 09:01:10.81ID:FudXFPqY
PowerShellはAdd-Memberでオブジェクトにプロパティやメソッドを追加できる
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/add-member
$PROFILE | Get-Member を実行してみればわかるけど
AllUsersAllHostsとかは$PROFILEに追加されたNotePropertyって種類のプロパティ
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/add-member
$PROFILE | Get-Member を実行してみればわかるけど
AllUsersAllHostsとかは$PROFILEに追加されたNotePropertyって種類のプロパティ
2023/12/22(金) 09:10:30.60ID:nFOKM4xK
>>54
中身がPSCustomObjectでない変数にもNotePropertyを設定できる
ただしその変数に他の値を代入するとNotePropertyの情報は消えてしまうから用途は限定される
$a = "aaa"
$a = $a | Add-Member -PassThru "Value" "xxx"
$a = $a | Add-Member -PassThru "Value2" "yyy"
$a # aaa
$a.Value # xxx
$a.Value2 # yyy
$a | select *
$a = "bbb"
$a.Value # $null
中身がPSCustomObjectでない変数にもNotePropertyを設定できる
ただしその変数に他の値を代入するとNotePropertyの情報は消えてしまうから用途は限定される
$a = "aaa"
$a = $a | Add-Member -PassThru "Value" "xxx"
$a = $a | Add-Member -PassThru "Value2" "yyy"
$a # aaa
$a.Value # xxx
$a.Value2 # yyy
$a | select *
$a = "bbb"
$a.Value # $null
2023/12/22(金) 09:51:40.03ID:wPcChJb5
('str' | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao
→ Wao!
(123 | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao
→ Wao!
理解した
→ Wao!
(123 | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao
→ Wao!
理解した
2023/12/23(土) 21:24:52.21ID:xtnhDuDo
>>56
Add-Member は変数ではなくオブジェクトにメンバーを追加する
"aaa" と "bbb" は違うオブジェクトなんだから "aaa" に追加したメンバーが "bbb" に無いのは当たり前
Add-Member は変数ではなくオブジェクトにメンバーを追加する
"aaa" と "bbb" は違うオブジェクトなんだから "aaa" に追加したメンバーが "bbb" に無いのは当たり前
2023/12/25(月) 07:53:26.01ID:5GC0Dj8P
ネイティブコマンドの出力ってPowerShell界に入るとString列になるけど
Stringのそれぞれにプロパティで元のバイナリ付けて欲しい
Stringのそれぞれにプロパティで元のバイナリ付けて欲しい
2023/12/25(月) 08:58:53.82ID:xlHQ3YOr
>>59
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
2023/12/25(月) 11:02:44.18ID:5GC0Dj8P
バイナリが通るようになったのは
「ネイティブからネイティブ」と「PowerShellからネイティブ」だけ
「ネイティブからPowerShell」に手軽にバイナリ通したい
バイナリ出力ネイティブ | バイナリ入力ネイティブ
として使うバイナリ入力ネイティブ用にラッパーが書きたいのに今は書けない
「ネイティブからネイティブ」と「PowerShellからネイティブ」だけ
「ネイティブからPowerShell」に手軽にバイナリ通したい
バイナリ出力ネイティブ | バイナリ入力ネイティブ
として使うバイナリ入力ネイティブ用にラッパーが書きたいのに今は書けない
2023/12/25(月) 12:37:48.60ID:5GC0Dj8P
自分には必要ないから触れなかったけど
バイナリ出力ネイティブのラッパーも書けない
バイナリ出力ネイティブのラッパーも書けない
2023/12/25(月) 12:38:42.52ID:5GC0Dj8P
あ、手間をかければ書けるな
2023/12/26(火) 07:36:13.49ID:ghNGRT5G
引数に -i を複数回指定したいので param() を使わずに function を書いています
get-help で SYNTAX に使い方を表示するにはどうすれば良いのでしょうか
get-help で SYNTAX に使い方を表示するにはどうすれば良いのでしょうか
2023/12/26(火) 12:19:47.21ID:hM6Ywi/0
about_Comment_Based_Help
ttps://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-7.4
このページの中の項目で
スクリプト モジュールでのコメント ベースのヘルプの構文
コメントベースのヘルプ キーワード
関数のコメント ベースのヘルプ
関数構文でのパラメーターの説明
スクリプトのコメントベースのヘルプ
あたりが参考になるかも
ttps://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-7.4
このページの中の項目で
スクリプト モジュールでのコメント ベースのヘルプの構文
コメントベースのヘルプ キーワード
関数のコメント ベースのヘルプ
関数構文でのパラメーターの説明
スクリプトのコメントベースのヘルプ
あたりが参考になるかも
2023/12/26(火) 16:47:47.85ID:ghNGRT5G
paramを使わずにSYNTAXを表示する方法を尋ねたのはそこを見たからでして
方法がありましたら具体的にご教示くださいませ
方法がありましたら具体的にご教示くださいませ
2023/12/26(火) 19:16:46.24ID:CTT8zMQ8
nugetに上がってるモジュールのソースでも嫁
2023/12/26(火) 21:29:18.59ID:QC0ZGJu/
そもそもなんで -i を複数回指定したいんだろう
引数$i の型を配列にするのとは違うの?
引数$i の型を配列にするのとは違うの?
690064
2023/12/27(水) 12:51:53.61ID:1jSqRJ5E ffmpeg.exeに毎回付けたいオプションがありまして
オプション付きエイリアス代わりのfunctionが欲しかったのです
ffmpeg -f aac -i audio.bin -f hevc -i video.bin -c copy out.mp4
のようにffmpeg.exeと同じ使い方だと嬉しい
ちなみにValueFromRemainingArgumentsで受けようとしても
ffmpeg: Parameter cannot be processed because the parameter name 'i' is ambiguous. Possible matches include: -InformationAction -InformationVariable.
と怒られます
オプション付きエイリアス代わりのfunctionが欲しかったのです
ffmpeg -f aac -i audio.bin -f hevc -i video.bin -c copy out.mp4
のようにffmpeg.exeと同じ使い方だと嬉しい
ちなみにValueFromRemainingArgumentsで受けようとしても
ffmpeg: Parameter cannot be processed because the parameter name 'i' is ambiguous. Possible matches include: -InformationAction -InformationVariable.
と怒られます
2023/12/27(水) 13:02:29.78ID:X+3+vX99
指定する対象はaudioとvideoと決まってるんだから
-aiや-viにすりゃいい
変態的なffmpegのオナニーに付き合う必要はない
-aiや-viにすりゃいい
変態的なffmpegのオナニーに付き合う必要はない
710064
2023/12/27(水) 13:12:15.16ID:1jSqRJ5E いやaudioとvideoに限らんし個数も不定なのよ
audioが言語別複数で、videoはチャプターごとに分かれて、字幕もあったり
結局ffmpegと同じ使い方ができるようにするのが面倒ない
audioが言語別複数で、videoはチャプターごとに分かれて、字幕もあったり
結局ffmpegと同じ使い方ができるようにするのが面倒ない
2023/12/27(水) 13:59:38.84ID:Fe+mtIWC
ffmpegはシーケンスが意味を持つ引数になってるのよね
どういう順で記述するかによって適用される範囲が異なってくる
どういう順で記述するかによって適用される範囲が異なってくる
2023/12/27(水) 20:51:25.44ID:85uYBZGc
なら引数は$argsで受け取って好きなように解釈したらええがな
740064
2023/12/27(水) 22:38:05.51ID:1jSqRJ5E だからそうしてるのが理解できないのかな
paramを使わないというのは $args を自分で解釈するということ
その上でparamを使わない場合のget-helpの出力について相談したんだが
聞いた相手が想像を超えたバカだったたようだ
邪魔したな
paramを使わないというのは $args を自分で解釈するということ
その上でparamを使わない場合のget-helpの出力について相談したんだが
聞いた相手が想像を超えたバカだったたようだ
邪魔したな
2023/12/28(木) 08:55:34.70ID:xGxlWVWv
PowerShellにはPowerShellの流儀があるわけで
それに合わないことをやろうとすれば苦労するのは当たり前
C言語で関数型プログラミングをしたいって騒いでるのと同レベル
それに合わないことをやろうとすれば苦労するのは当たり前
C言語で関数型プログラミングをしたいって騒いでるのと同レベル
2023/12/28(木) 09:27:10.14ID:i2ZdA1S0
・質問者がget-helpのやり方をスレで質問
・そもそもこうすればいいんじゃね?と別解について疑問があがる
・さほど適した別解はないことが判明
・質問者に対して怒り出す
別に苦労したと文句たれてるわけでもないのに質問者がウザ絡みされて気の毒すぎる
・そもそもこうすればいいんじゃね?と別解について疑問があがる
・さほど適した別解はないことが判明
・質問者に対して怒り出す
別に苦労したと文句たれてるわけでもないのに質問者がウザ絡みされて気の毒すぎる
2023/12/28(木) 10:13:47.89ID:DhrTF4+F
助言・回答者に対しキレ散らかすパターン多いな。同一人物か?
2023/12/28(木) 10:20:56.59ID:4ANODT1z
よく見たら>>16のtarと同じ奴か
2023/12/29(金) 08:36:49.58ID:KamNl0ts
PowerShellよりdoskeyのマクロにしたほうが簡単そう
2023/12/29(金) 11:07:50.54ID:HpMDoHHU
get-helpでヘルプを表示させる
コメントベースのヘルプを記述する
param()を使わない
という条件だったら単純にスクリプトの先頭にコメントベースで
.SYNOPSIS または .DESCRIPTION に「-iが複数使える」旨を書けばいいのでは
もしくは
param()を使わず$Argsを自前で解釈しなきゃいけないので
引数の解釈を構築するついでに
$Args.Countがゼロもしくは -help -h -? /h /?
あたりの引数で独自のヘルプを表示させちゃうとか
まぁ普通に考えたらこうならね?
コメントベースのヘルプを記述する
param()を使わない
という条件だったら単純にスクリプトの先頭にコメントベースで
.SYNOPSIS または .DESCRIPTION に「-iが複数使える」旨を書けばいいのでは
もしくは
param()を使わず$Argsを自前で解釈しなきゃいけないので
引数の解釈を構築するついでに
$Args.Countがゼロもしくは -help -h -? /h /?
あたりの引数で独自のヘルプを表示させちゃうとか
まぁ普通に考えたらこうならね?
81デフォルトの名無しさん
2023/12/29(金) 15:57:16.18ID:SsN2lKB9 質問して答えにキレ散らかすキチゲエきてるねw
2023/12/29(金) 17:50:55.94ID:6zkU+tYe
>>73 がコントすぎてさすがに擁護できない
2023/12/30(土) 20:28:29.74ID:pfiAiXAK
XMLヘルプファイル用意して参照させればParam()のないfunctionに対し「構文」部分を書ける。
2023/12/30(土) 21:23:05.61ID:pfiAiXAK
PowerShell標準から外れた「引数に -i を複数回指定」みたいな内容を書けるかは知らん。
85デフォルトの名無しさん
2023/12/31(日) 16:06:42.19ID:gGg0M1TZ 国内公式からLenovoのノートPC買ったら何故かISEが英語環境になって意味わからん。
どこに言語設定あるの?当然OSは日本語設定にしてるし、他のアプリも日本語になってる。
これまでLenovoのPCは5台くらい買ってきたのにISEだけ英語になるの初めてなんだが。
https://i.imgur.com/H4NVkKH.png
どこに言語設定あるの?当然OSは日本語設定にしてるし、他のアプリも日本語になってる。
これまでLenovoのPCは5台くらい買ってきたのにISEだけ英語になるの初めてなんだが。
https://i.imgur.com/H4NVkKH.png
2023/12/31(日) 17:55:15.89ID:s/6k3+Yx
そういうのsurfaceでもあったな
OSセットアップ時の国設定が半端に適用された状態だから入れ直した方が早いかも
OSセットアップ時の国設定が半端に適用された状態だから入れ直した方が早いかも
87デフォルトの名無しさん
2024/01/01(月) 01:36:45.15ID:/rCM9JK/2024/01/01(月) 21:51:12.11ID:uj2mjMNR
Windows PowerShell ISEでPowerShell Coreを利用する
https://dev.classmethod.jp/articles/using-powershell-core-in-the-windows-powershell-ise/
勝手にアプリをインストールできない環境なら意味あるかもしれない
https://dev.classmethod.jp/articles/using-powershell-core-in-the-windows-powershell-ise/
勝手にアプリをインストールできない環境なら意味あるかもしれない
89デフォルトの名無しさん
2024/01/02(火) 12:27:48.68ID:TDOOgc4U powershell iseってのを知らなかったけど起動したらUIシンプルで美しいな
VSCodeもこれくらいシンプルになってくれんかな
VSCodeもこれくらいシンプルになってくれんかな
2024/01/02(火) 12:49:42.78ID:ztgjURNX
カスタマイズしてシンプルにすればいいと思うよ
俺はどちらかというとVSCodeのほうが機能美を感じる
デフォルトで万人の感性にフィットするモノは存在しない
カスタマイズも嫌なら自分で作るか作らせるか
俺はどちらかというとVSCodeのほうが機能美を感じる
デフォルトで万人の感性にフィットするモノは存在しない
カスタマイズも嫌なら自分で作るか作らせるか
91デフォルトの名無しさん
2024/01/02(火) 20:24:20.63ID:G9bvfkvl >>88
ヤベーもの見てるんだなw
ヤベーもの見てるんだなw
2024/01/15(月) 23:56:13.49ID:0fJNPgiU
Class C { $a = '失敗' }
function f { Param([ref]$r); $r.Value = '成功' }
$o = [C]::new()
f ([ref]$o.a)
$o.a
$t = '失敗'
f ([ref]$t)
$t
こんなの聞いてないよ
function f { Param([ref]$r); $r.Value = '成功' }
$o = [C]::new()
f ([ref]$o.a)
$o.a
$t = '失敗'
f ([ref]$t)
$t
こんなの聞いてないよ
2024/01/16(火) 12:08:02.87ID:YM90ubox
何が言いたいのかわからないw
コードを実行した結果が書かれてないので
何を言いたいのか知るにはこのコードを実行しなきゃならない
めんどくさいw
コードを実行した結果が書かれてないので
何を言いたいのか知るにはこのコードを実行しなきゃならない
めんどくさいw
2024/01/16(火) 18:55:49.27ID:6T/+PhGk
プロパティがgetterだから
2024/01/17(水) 09:27:27.73ID:HArby8R7
$o | Get-Member を実行してみれば分かるけど$o.aはフィールドじゃなくてプロパティだからな
$o.aのgetter( $o.get_a() )の戻り値を関数に渡しても$o.aの値は変わらない
$o.aのgetter( $o.get_a() )の戻り値を関数に渡しても$o.aの値は変わらない
2024/02/11(日) 23:33:57.66ID:Z05z2D4x
パワーシェルすげえな
仕事がどんどん片付いていくよ
仕事がどんどん片付いていくよ
2024/02/27(火) 14:14:12.56ID:JyRut9xW
2つのCSV(どちらも同じヘッダー)で両方に一致するデータ行があった場合にその行を2つのCSVから取り除きたいんだけどどうしたらいいの?
ヘッダーがDate,Shop,Sales だとしてユニークな項目がなく全く同じデータが1つ目のCSVに1行、2つ目のCSVに2行あった場合に2つ目のCSVは1行だけ消したい
Where-object だと2行とも消えちゃう
ヘッダーがDate,Shop,Sales だとしてユニークな項目がなく全く同じデータが1つ目のCSVに1行、2つ目のCSVに2行あった場合に2つ目のCSVは1行だけ消したい
Where-object だと2行とも消えちゃう
2024/02/27(火) 18:46:20.00ID:hxHkafQb
2つのCSVをどうやってwhere-objectに渡してんだよ
その2行が消える間抜けコード晒してみなよ
その2行が消える間抜けコード晒してみなよ
2024/02/27(火) 19:14:40.76ID:JyRut9xW
chatgptに聞いたらそうなった
100デフォルトの名無しさん
2024/02/27(火) 22:08:44.15ID:JyRut9xW # CSVファイルを読み込む
$csv1 = Import-Csv -Path 'csv1.csv'
$csv2 = Import-Csv -Path 'csv2.csv'
# CSV1の各行について
foreach ($row1 in $csv1) {
# CSV2の中で一致する行を探す
$match = $csv2 | Where-Object { $_.Date -eq $row1.Date -and $_.Shop -eq $row1.Shop -and $_.Sales -eq $row1.Sales }
# 一致する行が見つかった場合
if ($match) {
# CSV1とCSV2から一致する行を削除
$csv1 = $csv1 | Where-Object { $_ -ne $row1 }
$csv2 = $csv2 | Where-Object { $_ -ne $match[0] }
}
}
# 結果を出力
$csv1 | Export-Csv -Path 'csv1.csv' -NoTypeInformation
$csv2 | Export-Csv -Path 'csv2.csv' -NoTypeInformation
$csv1 = Import-Csv -Path 'csv1.csv'
$csv2 = Import-Csv -Path 'csv2.csv'
# CSV1の各行について
foreach ($row1 in $csv1) {
# CSV2の中で一致する行を探す
$match = $csv2 | Where-Object { $_.Date -eq $row1.Date -and $_.Shop -eq $row1.Shop -and $_.Sales -eq $row1.Sales }
# 一致する行が見つかった場合
if ($match) {
# CSV1とCSV2から一致する行を削除
$csv1 = $csv1 | Where-Object { $_ -ne $row1 }
$csv2 = $csv2 | Where-Object { $_ -ne $match[0] }
}
}
# 結果を出力
$csv1 | Export-Csv -Path 'csv1.csv' -NoTypeInformation
$csv2 | Export-Csv -Path 'csv2.csv' -NoTypeInformation
101デフォルトの名無しさん
2024/02/27(火) 23:21:34.71ID:j3BJYXF1 わーいできたー
$csv1=gc csv1.csv
$csv2=csv2.csv
#どうせ全一致ならテキストのまま比較すりゃいいだろ
$i=0
foreach($row in $csv1){
$csv2|%{
$j=$k=0
}{
if($_ -eq $row -and $i -eq 0){
$csv1[$i]=$csv2[$j]=$null
$k=1
}
$j++
}
$i++
}
$csv1|sc csv1.csv
$csv2|sc csv2.csv
$csv1=gc csv1.csv
$csv2=csv2.csv
#どうせ全一致ならテキストのまま比較すりゃいいだろ
$i=0
foreach($row in $csv1){
$csv2|%{
$j=$k=0
}{
if($_ -eq $row -and $i -eq 0){
$csv1[$i]=$csv2[$j]=$null
$k=1
}
$j++
}
$i++
}
$csv1|sc csv1.csv
$csv2|sc csv2.csv
102デフォルトの名無しさん
2024/02/27(火) 23:58:09.98ID:IJ26J3uc $i1 = "csv1.csv"
$i2 = "csv2.csv"
$o1 = "csv1_out.csv"
$o2 = "csv2_out.csv"
gc $i1, $i2 | group readcount | ?{$_.group[0] -ne $_.group[1]} | foreach{$_.group[0] | ac $o1; $_.group[1] | ac $o2; $_.group[0].readcount}
$i2 = "csv2.csv"
$o1 = "csv1_out.csv"
$o2 = "csv2_out.csv"
gc $i1, $i2 | group readcount | ?{$_.group[0] -ne $_.group[1]} | foreach{$_.group[0] | ac $o1; $_.group[1] | ac $o2; $_.group[0].readcount}
103デフォルトの名無しさん
2024/02/28(水) 00:21:41.74ID:JjFjLo/S 段階を踏まないのは謎だよな
ファイルをコピーする概念もなさそう
ファイルをコピーする概念もなさそう
104デフォルトの名無しさん
2024/02/28(水) 00:54:14.86ID:hPdEXjNd これで良かったわ
$csv1=gc csv1.csv
$csv2=gc csv2.csv
$compare=compare $csv1 $csv2
$compare|?{$_.SideIndicator -eq "<="}|% InputObject|sc csv1.csv
$compare|?{$_.SideIndicator -eq "=>"}|% InputObject|sc csv2.csv
$csv1=gc csv1.csv
$csv2=gc csv2.csv
$compare=compare $csv1 $csv2
$compare|?{$_.SideIndicator -eq "<="}|% InputObject|sc csv1.csv
$compare|?{$_.SideIndicator -eq "=>"}|% InputObject|sc csv2.csv
105デフォルトの名無しさん
2024/02/28(水) 01:32:49.70ID:anWSvM2g CSVファイルに想定外のデータがあることを考慮しないのか
106デフォルトの名無しさん
2024/02/28(水) 02:17:43.88ID:gh65zyvf わ仕事早い…
csv1の方はDateがYYYY/MM/DDの10桁固定で
csv2の方はDateがYYYY/M/Dで8〜10桁になってて
日付としてみれば同じなんですが1行を文字ででみると違う可能性があります…
後出しですいません
またShopはだいたい一致してるのですが
「ローソン札幌店」と「ローソン札幌」や「ローソンサッポロ」みたいな内容が異なることがあってそこを必ず自前のfunctionの変換リストかましてから比較する予定でした
私の想定を超えるプログラムでfunctionを挟むこともできない
csv1の方はDateがYYYY/MM/DDの10桁固定で
csv2の方はDateがYYYY/M/Dで8〜10桁になってて
日付としてみれば同じなんですが1行を文字ででみると違う可能性があります…
後出しですいません
またShopはだいたい一致してるのですが
「ローソン札幌店」と「ローソン札幌」や「ローソンサッポロ」みたいな内容が異なることがあってそこを必ず自前のfunctionの変換リストかましてから比較する予定でした
私の想定を超えるプログラムでfunctionを挟むこともできない
107デフォルトの名無しさん
2024/02/28(水) 02:24:06.13ID:yYqm5P+g カラムの曖昧さとかは全く興味沸かないなあ自分でやんな
108デフォルトの名無しさん
2024/02/29(木) 08:30:06.44ID:Qx0i34px ファイルのサイズが大きければ実装が変わる
109デフォルトの名無しさん
2024/02/29(木) 08:47:23.80ID:8KhlEQjj チンコのサイズが大きければ実績が変わる
110デフォルトの名無しさん
2024/03/01(金) 15:53:36.57ID:bh14ivY9 昨日の少し試しましたが
$compare=compare $csv1 $csv2
$compare|?{$_.SideIndicator -eq "<="}|% InputObject|sc csv1.csv
$compare|?{$_.SideIndicator -eq "=>"}|% InputObject|sc csv2.csv
でうまくいきそうです
ありがとうございます
自分でつけてる家計簿からクレジットで相殺してる項目だけ出力したcsvと
三井住友のVpassの明細(ファイルの日付的には翌月)を突き合わせを自動でやって7割ぐらい減ってくれたらいいなと思って
AIにプログラム書かせたらすぐにできるかなと思ったけどAIもまだまだアホでした
土日に頑張ります
$compare=compare $csv1 $csv2
$compare|?{$_.SideIndicator -eq "<="}|% InputObject|sc csv1.csv
$compare|?{$_.SideIndicator -eq "=>"}|% InputObject|sc csv2.csv
でうまくいきそうです
ありがとうございます
自分でつけてる家計簿からクレジットで相殺してる項目だけ出力したcsvと
三井住友のVpassの明細(ファイルの日付的には翌月)を突き合わせを自動でやって7割ぐらい減ってくれたらいいなと思って
AIにプログラム書かせたらすぐにできるかなと思ったけどAIもまだまだアホでした
土日に頑張ります
111デフォルトの名無しさん
2024/03/02(土) 23:39:14.56ID:XQV1Pqn6 目的よりも手段にこだわっていると思われる
テキストファイルとPowerShellだけで、イレギュラーなデータがあるかもしれないデータを操作をするのは、かなり面倒なやり方だぞ。
テキストファイルとPowerShellだけで、イレギュラーなデータがあるかもしれないデータを操作をするのは、かなり面倒なやり方だぞ。
112デフォルトの名無しさん
2024/03/02(土) 23:40:34.42ID:XQV1Pqn6 >>110 はキャラクタセットも気にしてなさそうなんだよな
113デフォルトの名無しさん
2024/03/03(日) 03:11:25.14ID:CrVe/94r 行比較が出来るようになれば対象が何だろうが応用できるだろ
話はとっくに終わってんのよ
>目的よりも手段にこだわっていると思われる
これまんまお前のことじゃね?
話はとっくに終わってんのよ
>目的よりも手段にこだわっていると思われる
これまんまお前のことじゃね?
114デフォルトの名無しさん
2024/03/05(火) 01:41:57.29ID:Mm4X91cX115デフォルトの名無しさん
2024/03/06(水) 05:34:48.47ID:oDRlZbsC Ruby では、2024-01-01 のみ、Date 型へ変換できる。
2024/1/1,2024/01/01,2024-1-1 は変換できない。
以下のように、自分で変換器・コンバーターを定義すれば変換できる
でも表記揺れは別の処理として、最初に一括して変換した方が安全
require 'csv'
input_csv = <<"EOT"
2024/1/1,2024-1-2
2024/02/01,2024-02-02
EOT
# Date 型へ変換する
proc = Proc.new do |field, field_info|
case field_info.index
when 0 then Date.strptime( field, "%Y/%m/%d" ) # 0列目
when 1 then Date.strptime( field, "%Y-%m-%d" ) # 1列目
else
field # 処理なし
end
end
options = { :converters => proc }
p CSV.parse( input_csv, options )
出力
[ [#<Date: 2024-01-01>, #<Date: 2024-01-02>],
[#<Date: 2024-02-01>, #<Date: 2024-02-02>] ]
2024/1/1,2024/01/01,2024-1-1 は変換できない。
以下のように、自分で変換器・コンバーターを定義すれば変換できる
でも表記揺れは別の処理として、最初に一括して変換した方が安全
require 'csv'
input_csv = <<"EOT"
2024/1/1,2024-1-2
2024/02/01,2024-02-02
EOT
# Date 型へ変換する
proc = Proc.new do |field, field_info|
case field_info.index
when 0 then Date.strptime( field, "%Y/%m/%d" ) # 0列目
when 1 then Date.strptime( field, "%Y-%m-%d" ) # 1列目
else
field # 処理なし
end
end
options = { :converters => proc }
p CSV.parse( input_csv, options )
出力
[ [#<Date: 2024-01-01>, #<Date: 2024-01-02>],
[#<Date: 2024-02-01>, #<Date: 2024-02-02>] ]
116デフォルトの名無しさん
2024/03/06(水) 07:42:44.20ID:wzhaiXwv PowerShellだと何も考えずにDateTime変換できるのに、Rubyだとそんなに手間かかるのか
もうそんな言語使うの止めて大人しくPowerShell使ったら?
もうそんな言語使うの止めて大人しくPowerShell使ったら?
117デフォルトの名無しさん
2024/03/06(水) 17:02:39.85ID:8FQ+1AZx すいません初心者でとんちんかんな質問だったらごめんなさい
PowerShellからarduinoにデータを送ってOLEDで表示するセンサーモニターを作ってます
CPU・GPUの使用率や温度は取り出せて表示できたのですが
FPSってどこからか取り出す方法ってありますか?
使用率や温度と違うのでPresentMonやAfterburnerからGet-Counterで取得する?
とか考えて調べてるのですが分からなくて
とんちんかんなこと言ってたらすいません
できるできない含めて教えてください
PowerShellからarduinoにデータを送ってOLEDで表示するセンサーモニターを作ってます
CPU・GPUの使用率や温度は取り出せて表示できたのですが
FPSってどこからか取り出す方法ってありますか?
使用率や温度と違うのでPresentMonやAfterburnerからGet-Counterで取得する?
とか考えて調べてるのですが分からなくて
とんちんかんなこと言ってたらすいません
できるできない含めて教えてください
118115
2024/03/07(木) 01:47:21.31ID:Z/86eyX0 基本的に、Go でも、こういうのしかない
2024-01-01
2024-01-01 15:01:01
それか、RFC 3339, RFC 3339 Nano
これら以外を使っているシステムは、バグるからダメ!
2024-01-01
2024-01-01 15:01:01
それか、RFC 3339, RFC 3339 Nano
これら以外を使っているシステムは、バグるからダメ!
119デフォルトの名無しさん
2024/03/07(木) 01:55:49.10ID:yhOhiWWp >>117
FPSて。要するにモニタのリフレッシュレートが欲しいんじゃろ?
ほれ
$RefreshRate = Get-WmiObject -Class:Win32_videocontroller | Select-Object -ExpandProperty CurrentRefreshRate
FPSて。要するにモニタのリフレッシュレートが欲しいんじゃろ?
ほれ
$RefreshRate = Get-WmiObject -Class:Win32_videocontroller | Select-Object -ExpandProperty CurrentRefreshRate
120デフォルトの名無しさん
2024/03/07(木) 10:15:46.32ID:s2RGChkv >>119
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
121デフォルトの名無しさん
2024/03/07(木) 10:15:52.25ID:s2RGChkv >>119
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
122デフォルトの名無しさん
2024/03/07(木) 10:51:01.07ID:s2RGChkv 連投してましたすいません
引き続き皆さんの知恵を貸してください
引き続き皆さんの知恵を貸してください
123デフォルトの名無しさん
2024/03/07(木) 13:04:08.87ID:9xBYf94s まずそれらがfps値返すようなAPI持ってるか調べなよ
無いなら値として取得は無理だろうね
fps表示部分が単色ならそのエリアをキャプチャして数字認識でもした方が早そう
無いなら値として取得は無理だろうね
fps表示部分が単色ならそのエリアをキャプチャして数字認識でもした方が早そう
124デフォルトの名無しさん
2024/03/07(木) 14:35:34.66ID:s2RGChkv125デフォルトの名無しさん
2024/03/07(木) 17:21:43.79ID:9xBYf94s もうpowershell関係ないがPresentMon64に計測対象のPID渡せばfps取得できるみたいね
126デフォルトの名無しさん
2024/03/07(木) 17:56:53.13ID:YZU0b9T9 >>125
はいPresentMonでもFPSを取れるみたいなのは調べました
ただ、今arduinoㇸpowarshellからCPUGPUのデータを
受け取ってたのでそこと一緒に入れる方法が見つけられなくて
はいPresentMonでもFPSを取れるみたいなのは調べました
ただ、今arduinoㇸpowarshellからCPUGPUのデータを
受け取ってたのでそこと一緒に入れる方法が見つけられなくて
127110
2024/03/07(木) 22:55:03.61ID:PPl+ScPv Add-Type -AssemblyName System.Windows.Forms
function ConvertShopName([string]$shopName) {
switch -Wildcard ($shopName) {
"ファミリーマート*" { $shopName2 = [regex]::Replace($shopName, "(ファミリーマート)([ ]*)(.*)(店)", { $args.groups[1].value + " " + $args.groups[3].value }) }
"ローソン*" { $shopName2 = [regex]::Replace($shopName, "(ローソン)([ ]*)(.*)", { $args.groups[1].value }) }
"セブンイレブン*" { $shopName2 = "セブンイレブン" }
"マクドナルド*" { $shopName2 = "マクドナルド" }
"すき家*" { $shopName2 = "すき家" }
"Amazonで注文" { $shopName2 = "AMAZON.CO.JP" }
default { $shopName2 = $shopName }
}
return $shopName2
}
if ($Args.Count -eq 0) {
[System.Windows.Forms.MessageBox]::Show("引数にファイルを指定してください", "エラー")
return 0
}
# 家計簿から抽出した csv ファイルを読み込む
$excelData = Import-Csv $Args[0] -Encoding Default -Header "Date", "Shop", "Amount" |
Select-Object @{ label = 'Date'; expression = { [DateTime]$_.Date} }, Shop, @{ label = 'Amount'; expression = { [int]$_.Amount } }
# 引数で指定されたファイルをフォルダパスとファイル名(拡張子なし)に分離する
$baseName = [System.IO.Path]::GetFileNameWithoutExtension($Args[0])
$folderPath = [System.IO.Path]::GetDirectoryName($Args[0])
function ConvertShopName([string]$shopName) {
switch -Wildcard ($shopName) {
"ファミリーマート*" { $shopName2 = [regex]::Replace($shopName, "(ファミリーマート)([ ]*)(.*)(店)", { $args.groups[1].value + " " + $args.groups[3].value }) }
"ローソン*" { $shopName2 = [regex]::Replace($shopName, "(ローソン)([ ]*)(.*)", { $args.groups[1].value }) }
"セブンイレブン*" { $shopName2 = "セブンイレブン" }
"マクドナルド*" { $shopName2 = "マクドナルド" }
"すき家*" { $shopName2 = "すき家" }
"Amazonで注文" { $shopName2 = "AMAZON.CO.JP" }
default { $shopName2 = $shopName }
}
return $shopName2
}
if ($Args.Count -eq 0) {
[System.Windows.Forms.MessageBox]::Show("引数にファイルを指定してください", "エラー")
return 0
}
# 家計簿から抽出した csv ファイルを読み込む
$excelData = Import-Csv $Args[0] -Encoding Default -Header "Date", "Shop", "Amount" |
Select-Object @{ label = 'Date'; expression = { [DateTime]$_.Date} }, Shop, @{ label = 'Amount'; expression = { [int]$_.Amount } }
# 引数で指定されたファイルをフォルダパスとファイル名(拡張子なし)に分離する
$baseName = [System.IO.Path]::GetFileNameWithoutExtension($Args[0])
$folderPath = [System.IO.Path]::GetDirectoryName($Args[0])
128110
2024/03/07(木) 22:56:30.34ID:PPl+ScPv # ファイル名から日付に変換する
$targetDate = [DateTime]::ParseExact($baseName + "01日","yyyy年MM月dd日", $null)
# 引数と同じフォルダにある Vpass からダウンロードした csv ファイル(ファイル名は翌月) を読み込む
$vpassFile = $folderPath + "\" + $targetDate.AddMonths(1).ToString("yyyyMM") + ".csv"
$vpassData = Import-Csv $vpassFile -Encoding Default -Header "Date", "Shop", "TotalAmount", "Type", "Count", "PaymentAmount", "ShopDetail" |
Select-Object @{ label = 'Date'; expression = { [DateTime]$_.Date } }, Shop, @{ label = 'TotalAmount'; expression = { [int]$_.TotalAmount } }, Type, Count, @{ label = 'PaymentAmount'; expression = { [int]$_.PaymentAmount } }, ShopDetail
echo "実行します . . ."
# 家計簿データの Shop が "自動引き落とし" で Amount がプラスのデータを削除する
$excelDataList = [System.Collections.ArrayList]$excelData | Where-Object { $_.Shop -ne "自動引き落とし" -and $_.Amount -lt 0 }
# 家計簿データの 2項目目が空のデータ行を削除する
$excelDataList = [System.Collections.ArrayList]$excelData | Where-Object { ![string]::IsNullOrEmpty($_.Shop) }
# 家計簿のマイナスになっている消し込みデータをプラスに変換し、店名をクレジット明細側に変換する
foreach($data in $excelDataList) {
$data.Amount = $data.Amount * -1
$data.Shop = ConvertShopName($data.Shop)
}
# vpass データの Type, Count, PaymentAmount, ShopDetail が null のデータを削除する
$vpassData2 = $vpassData | Where-Object { ![string]::IsNullOrEmpty($_.Type) -or ![string]::IsNullOrEmpty($_.Count) -or ![string]::IsNullOrEmpty($_.PaymentAmount) -or ![string]::IsNullOrEmpty($_.ShopDetail) }
$targetDate = [DateTime]::ParseExact($baseName + "01日","yyyy年MM月dd日", $null)
# 引数と同じフォルダにある Vpass からダウンロードした csv ファイル(ファイル名は翌月) を読み込む
$vpassFile = $folderPath + "\" + $targetDate.AddMonths(1).ToString("yyyyMM") + ".csv"
$vpassData = Import-Csv $vpassFile -Encoding Default -Header "Date", "Shop", "TotalAmount", "Type", "Count", "PaymentAmount", "ShopDetail" |
Select-Object @{ label = 'Date'; expression = { [DateTime]$_.Date } }, Shop, @{ label = 'TotalAmount'; expression = { [int]$_.TotalAmount } }, Type, Count, @{ label = 'PaymentAmount'; expression = { [int]$_.PaymentAmount } }, ShopDetail
echo "実行します . . ."
# 家計簿データの Shop が "自動引き落とし" で Amount がプラスのデータを削除する
$excelDataList = [System.Collections.ArrayList]$excelData | Where-Object { $_.Shop -ne "自動引き落とし" -and $_.Amount -lt 0 }
# 家計簿データの 2項目目が空のデータ行を削除する
$excelDataList = [System.Collections.ArrayList]$excelData | Where-Object { ![string]::IsNullOrEmpty($_.Shop) }
# 家計簿のマイナスになっている消し込みデータをプラスに変換し、店名をクレジット明細側に変換する
foreach($data in $excelDataList) {
$data.Amount = $data.Amount * -1
$data.Shop = ConvertShopName($data.Shop)
}
# vpass データの Type, Count, PaymentAmount, ShopDetail が null のデータを削除する
$vpassData2 = $vpassData | Where-Object { ![string]::IsNullOrEmpty($_.Type) -or ![string]::IsNullOrEmpty($_.Count) -or ![string]::IsNullOrEmpty($_.PaymentAmount) -or ![string]::IsNullOrEmpty($_.ShopDetail) }
129110
2024/03/07(木) 22:57:21.99ID:PPl+ScPv # vpass の Date, Shop, TotalAmount, Type, Count, Count, ShopDetail が null のデータを削除する
$vpassData3 = $vpassData2 | Where-Object { ![string]::IsNullOrEmpty($_.Date) -or ![string]::IsNullOrEmpty($_.Shop) -or ![string]::IsNullOrEmpty($_.TotalAmount) -or ![string]::IsNullOrEmpty($_.Type) -or ![string]::IsNullOrEmpty($_.Count) -or ![string]::IsNullOrEmpty($_.ShopDetail) }
# 抽出後のデータを格納するための変数
[System.Collections.ArrayList]$vpassDataList = @()
[System.Collections.ArrayList]$unknownhDataList = @()
# vpass データのデータを必要な項目のみにする
foreach($data in $vpassData3) {
if ( $data.Type -eq "1" -and $data.Count -eq "1" -and $data.TotalAmount -eq $data.PaymentAmount -and $data.ShopDetail -eq "" ) {
$temp = $data | Select-Object Date, Shop, @{ label = 'Amount'; expression = { [int]$_.TotalAmount } }
$vpassDataList += $temp
} elseif ( $data.Type -eq "1" -and $data.Count -eq "1" -and $data.TotalAmount -eq $data.PaymentAmount -and $data.ShopDetail -ne $null ) {
$temp = $data | Select-Object Date, @{ label = 'Shop'; expression = { $_.ShopDetail } }, @{ label = 'Amount'; expression = { [int]$_.TotalAmount } }
$vpassDataList += $temp
} else {
$unknownhDataList += $data
}
}
# 重複するオブジェクトを探す
$commonObjects1 = Compare-Object -ReferenceObject $excelDataList -DifferenceObject $vpassDataList -Property Date, Shop, Amount -IncludeEqual | Where-Object { $_.SideIndicator -eq '<=' }
$commonObjects2 = Compare-Object -ReferenceObject $excelDataList -DifferenceObject $vpassDataList -Property Date, Shop, Amount -IncludeEqual | Where-Object { $_.SideIndicator -eq '=>' }
$vpassData3 = $vpassData2 | Where-Object { ![string]::IsNullOrEmpty($_.Date) -or ![string]::IsNullOrEmpty($_.Shop) -or ![string]::IsNullOrEmpty($_.TotalAmount) -or ![string]::IsNullOrEmpty($_.Type) -or ![string]::IsNullOrEmpty($_.Count) -or ![string]::IsNullOrEmpty($_.ShopDetail) }
# 抽出後のデータを格納するための変数
[System.Collections.ArrayList]$vpassDataList = @()
[System.Collections.ArrayList]$unknownhDataList = @()
# vpass データのデータを必要な項目のみにする
foreach($data in $vpassData3) {
if ( $data.Type -eq "1" -and $data.Count -eq "1" -and $data.TotalAmount -eq $data.PaymentAmount -and $data.ShopDetail -eq "" ) {
$temp = $data | Select-Object Date, Shop, @{ label = 'Amount'; expression = { [int]$_.TotalAmount } }
$vpassDataList += $temp
} elseif ( $data.Type -eq "1" -and $data.Count -eq "1" -and $data.TotalAmount -eq $data.PaymentAmount -and $data.ShopDetail -ne $null ) {
$temp = $data | Select-Object Date, @{ label = 'Shop'; expression = { $_.ShopDetail } }, @{ label = 'Amount'; expression = { [int]$_.TotalAmount } }
$vpassDataList += $temp
} else {
$unknownhDataList += $data
}
}
# 重複するオブジェクトを探す
$commonObjects1 = Compare-Object -ReferenceObject $excelDataList -DifferenceObject $vpassDataList -Property Date, Shop, Amount -IncludeEqual | Where-Object { $_.SideIndicator -eq '<=' }
$commonObjects2 = Compare-Object -ReferenceObject $excelDataList -DifferenceObject $vpassDataList -Property Date, Shop, Amount -IncludeEqual | Where-Object { $_.SideIndicator -eq '=>' }
130110
2024/03/07(木) 23:00:00.89ID:PPl+ScPv Add-Content $Args[0] "`r`n`r`n--------`r`n`r`n"
Add-Content $Args[0] $unknownhDataList
Add-Content $Args[0] "`r`n`r`n"
Add-Content $Args[0] $commonObjects1
Add-Content $Args[0] "`r`n`r`n"
Add-Content $Args[0] $commonObjects2
echo "終了しました。続行するには何かキーを押してください . . ."
$host.UI.RawUI.ReadKey()
-----
とりあえず形にはなりました。ありがとうございました!
Add-Content $Args[0] $unknownhDataList
Add-Content $Args[0] "`r`n`r`n"
Add-Content $Args[0] $commonObjects1
Add-Content $Args[0] "`r`n`r`n"
Add-Content $Args[0] $commonObjects2
echo "終了しました。続行するには何かキーを押してください . . ."
$host.UI.RawUI.ReadKey()
-----
とりあえず形にはなりました。ありがとうございました!
131デフォルトの名無しさん
2024/03/08(金) 02:02:18.05ID:nneR3Lgu それだけプログラミングできるなら、
データベースもある、Ruby on Rails で稼げ
PowerShell では稼げないだろ
データベースもある、Ruby on Rails で稼げ
PowerShell では稼げないだろ
132デフォルトの名無しさん
2024/03/08(金) 19:54:09.17ID:kAti37wZ 無償のRDBに取り込んで操作すれば楽なのにな
SQL Server ExpressもSQLもわからないのかもしれないが
SQL Server ExpressもSQLもわからないのかもしれないが
133デフォルトの名無しさん
2024/03/08(金) 23:00:20.01ID:swFfFcBY いや、それならSQLiteでええやん
134デフォルトの名無しさん
2024/03/09(土) 21:26:55.41ID:HJGXBhOf >>133
それマイクロソフト製品じゃないぞ?
それマイクロソフト製品じゃないぞ?
135デフォルトの名無しさん
2024/03/10(日) 01:11:42.47ID:AxZkOQF1 sqliteはnugetから落とせるだろ
136デフォルトの名無しさん
2024/03/10(日) 02:22:29.61ID:dZzOrK8S マイクロソフト製品じゃないとダメな理由がよく分からない
137デフォルトの名無しさん
2024/03/10(日) 12:24:51.84ID:2l3n+JcC >>136
マイクロソフトのサポートが対応を渋る
マイクロソフトのサポートが対応を渋る
138デフォルトの名無しさん
2024/03/10(日) 12:25:36.50ID:2l3n+JcC SQL Server Expressを嫌がる理由がわからない
139デフォルトの名無しさん
2024/03/13(水) 12:54:32.04ID:dDXeoITb FPS値を取得したがっていた者です
あれから色々調べてHWiNFOから取得する事ができました
ご協力ありがとうございました
あれから色々調べてHWiNFOから取得する事ができました
ご協力ありがとうございました
140デフォルトの名無しさん
2024/03/14(木) 01:25:06.87ID:3xDTJGqn ウェブ開発では、Ruby on Rails 一択。
Railsは、PostgreSQL, MySQL, SQLite の3大データベースに対応している。
ただし本番用では、PostgreSQL一択。
SQLiteは開発用・個人用など
AWS Aurora は、PostgreSQL, MySQLに対応している。
SQLiteはブラウザなど、多くのアプリに含まれて使われている
Railsは、PostgreSQL, MySQL, SQLite の3大データベースに対応している。
ただし本番用では、PostgreSQL一択。
SQLiteは開発用・個人用など
AWS Aurora は、PostgreSQL, MySQLに対応している。
SQLiteはブラウザなど、多くのアプリに含まれて使われている
141デフォルトの名無しさん
2024/03/14(木) 04:08:32.14ID:XOsoQn4t ORACLE「え?ワイは?」
142デフォルトの名無しさん
2024/03/14(木) 04:11:13.73ID:MTVljuIS Rubyとかいう20年前の言語w
143デフォルトの名無しさん
2024/03/14(木) 14:26:49.02ID:i9kIdifV デフォで存在してるところが良いんじゃないか
わざわざインストールするのなら今更新規にRubyを入れるのは無いだろうな
わざわざインストールするのなら今更新規にRubyを入れるのは無いだろうな
144デフォルトの名無しさん
2024/03/14(木) 21:10:47.40ID:xE50NtDY >>141
オラクル社とマイクロソフト社がクラウドの世界では提携しているのを知らないのか?
オラクル社とマイクロソフト社がクラウドの世界では提携しているのを知らないのか?
145デフォルトの名無しさん
2024/03/15(金) 03:50:52.94ID:d5IiPK+0 「主なRDB」でググった結果
Microsoft SQL Server.
Oracle Database
PostgreSQL.
MySQL
Amazon Relational Database Service.
IBM Db2 Database.
Microsoft SQL Server.
Oracle Database
PostgreSQL.
MySQL
Amazon Relational Database Service.
IBM Db2 Database.
146デフォルトの名無しさん
2024/03/15(金) 08:13:53.75ID:X0BgzxQ9 まだ続くの?家計簿に適してるのはどれよ
147デフォルトの名無しさん
2024/03/15(金) 19:27:44.40ID:Yppsp93L 家計簿レベルなら1ヶ月に多くても1000件ないでしょ
csvをそのままOS標準で使える言語で処理するのがいいよ
csvをそのままOS標準で使える言語で処理するのがいいよ
148デフォルトの名無しさん
2024/03/16(土) 23:37:28.12ID:5O1O3AvE >>147
複式簿記というものを知らないのがバレているぞ
複式簿記というものを知らないのがバレているぞ
149140
2024/03/17(日) 01:43:19.61ID:02imyFwJ 複式簿記の自作なんて無理。
テーブル数も、100 ぐらい行きそう
総勘定元帳とか、複数のテーブルを紐付けしないといけないから、
プログラムがめちゃめちゃ複雑。
これは有料の会計ソフトを使うべき
自作では、単純な単式簿記しかできない
Ruby のCSV Table や、データベースを使うなら、Ruby on Rails とか。
Railsなら、3大データベースに対応している
参照、>>140
テーブル数も、100 ぐらい行きそう
総勘定元帳とか、複数のテーブルを紐付けしないといけないから、
プログラムがめちゃめちゃ複雑。
これは有料の会計ソフトを使うべき
自作では、単純な単式簿記しかできない
Ruby のCSV Table や、データベースを使うなら、Ruby on Rails とか。
Railsなら、3大データベースに対応している
参照、>>140
150デフォルトの名無しさん
2024/03/17(日) 10:50:03.64ID:b6WSYS3s Rubyガイジってどこにでもわくんだな
トコジラミ並み
トコジラミ並み
151デフォルトの名無しさん
2024/03/19(火) 02:21:32.51ID:ilfn8WqH152デフォルトの名無しさん
2024/03/19(火) 13:20:31.92ID:xCYlYIv4 このスレは
PowerShell -Part 7
です
PowerShell -Part 7
です
153デフォルトの名無しさん
2024/04/05(金) 00:59:22.85ID:VnIedoxP Set-ExecutionPolicyとSudoって何が違うん?
とあるps1ファイルを実行する時にそのプロセスだけ実行ポリシーを変更するSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Processを実行後にxxx.ps1を実行してるんだが
Sudoが実装されたし楽ちんになるなとSudo xxx.ps1を入力するとエラーになる
どっちも一時的にパーミッションを変更してアクセス権限を付与するコマンドだと思うんだが何が違うんだ?
とあるps1ファイルを実行する時にそのプロセスだけ実行ポリシーを変更するSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Processを実行後にxxx.ps1を実行してるんだが
Sudoが実装されたし楽ちんになるなとSudo xxx.ps1を入力するとエラーになる
どっちも一時的にパーミッションを変更してアクセス権限を付与するコマンドだと思うんだが何が違うんだ?
154デフォルトの名無しさん
2024/04/05(金) 01:03:46.96ID:Lw8p7kTG 窓の杜のニュース記事だけど、ここの情報参考になる?
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1579041.html
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1579041.html
155デフォルトの名無しさん
2024/04/05(金) 01:55:57.21ID:3ECyzj96 >>153
そもそもいつからあなたのなかでは、ps1ファイルが実行形式ファイルになったのか?
そもそもいつからあなたのなかでは、ps1ファイルが実行形式ファイルになったのか?
156デフォルトの名無しさん
2024/04/05(金) 20:13:09.22ID:Uri/y4c1 Powershell コンソールで、xxx.ps1 とするとエラーになる!
パス付きで、./xxx.ps1, .\xxx.ps1 か、
powershell ./xxx.ps1, powershell .\xxx.ps1 なら実行できる
パス付きで、./xxx.ps1, .\xxx.ps1 か、
powershell ./xxx.ps1, powershell .\xxx.ps1 なら実行できる
157デフォルトの名無しさん
2024/04/06(土) 01:56:00.53ID:q9eV9Q7I だいたい間違って実行してしまわないような仕様にしたのがわからない世代がいるのか
ダブルクリックのような感覚で簡単実行なんてUACすら邪魔だと思ってんのかな?
自分で作って自分かミスして自分だけの問題で終わるならかまわないが、そんな趣味でPowerShellを使っている人間なんてほとんどいないと思う。
ダブルクリックのような感覚で簡単実行なんてUACすら邪魔だと思ってんのかな?
自分で作って自分かミスして自分だけの問題で終わるならかまわないが、そんな趣味でPowerShellを使っている人間なんてほとんどいないと思う。
158デフォルトの名無しさん
2024/04/06(土) 01:58:23.66ID:q9eV9Q7I コマンドレベルまで作り込んでテストされつくされているものと、自作のスクリプトをPATHに設定してどこからでも実行できるものが同列とはおそろしいな
159デフォルトの名無しさん
2024/04/06(土) 02:15:20.68ID:9cPJ1AnL vscodeのターミナルと、windowsターミナルで同じpowershellでも認識できるコマンドが違うのなんでだろ
プロファイル見るとそれぞれ同じpowershellのexe参照してるのに
プロファイル見るとそれぞれ同じpowershellのexe参照してるのに
160デフォルトの名無しさん
2024/04/06(土) 02:50:42.29ID:q9eV9Q7I >>159
VSCodeはWindowsの一部じゃないぞ?
VSCodeアプリケーションは、同じような動きと結果をマネているだけで、エミュレーションのようなことをしているのだから、完全に同じようにするのは困難。
VSCodeはWindowsの一部じゃないぞ?
VSCodeアプリケーションは、同じような動きと結果をマネているだけで、エミュレーションのようなことをしているのだから、完全に同じようにするのは困難。
161デフォルトの名無しさん
2024/04/06(土) 02:58:46.88ID:Zc90rRma 大体ps1の1って何なのとか
vbsやcmdやらがそのまま実行できるのにps1だけ半端に縛るのもおかしな話だし
>間違って実行してしまわないような仕様
こんなのいつ決まったんだ
MSでポリシーが統一されてるようには全く思えないんだが
vbsやcmdやらがそのまま実行できるのにps1だけ半端に縛るのもおかしな話だし
>間違って実行してしまわないような仕様
こんなのいつ決まったんだ
MSでポリシーが統一されてるようには全く思えないんだが
162デフォルトの名無しさん
2024/04/06(土) 07:02:00.61ID:jPXaIytz 世を取り巻くセキュリティ事情が日々刻々と変わっているのにかなり先発のvbsやcmdと同じじゃないからおかしいとな
少なくともある程度シェアを占める見込みがあるのだし前例踏襲に固執して0か100か思考に陥るほうがまずい
そういう脊髄反射的な他責や論点ずらしの癖は周囲を白眼視させるだけじゃよ
少なくともある程度シェアを占める見込みがあるのだし前例踏襲に固執して0か100か思考に陥るほうがまずい
そういう脊髄反射的な他責や論点ずらしの癖は周囲を白眼視させるだけじゃよ
163デフォルトの名無しさん
2024/04/06(土) 07:25:25.77ID:6zl9Uxmg164デフォルトの名無しさん
2024/04/06(土) 08:19:52.54ID:NGHFFTyQ >大体ps1の1って何なのとか
バージョン1の事
元々の計画ではPowerShell2向けのスクリプトファイルは.ps2にするつもりだった
バージョン1の事
元々の計画ではPowerShell2向けのスクリプトファイルは.ps2にするつもりだった
165デフォルトの名無しさん
2024/04/06(土) 15:04:28.66ID:M3AJuz+l 拡張子にバージョン含めるアホは初めて見たかも
Windowsの技術者の発想ではないね
Powershellはこの拡張子含めて起動周りだけ残念
Windowsの技術者の発想ではないね
Powershellはこの拡張子含めて起動周りだけ残念
166デフォルトの名無しさん
2024/04/06(土) 20:16:29.68ID:qfnATLfz まぁMSはOSも言語も開発環境も既に人気もなく寿命もつきようとしてるから
Windows最後の砦だったゲームもValveがProtonとSteam OS作ったからLinuxでほぼすべてのゲームが動いてパフォーマンスもWindowsより良い場合もある
ただしあくまでエミュレートだからカーネルモードで動くアンチチートだけは動かなくてフォトナやヴァロやApexなんかの人気FPSが動かなかったり永久BAN対象になる
まぁこれも時間の問題でWindowsが必要とされなくなるのは間近だな
Windows最後の砦だったゲームもValveがProtonとSteam OS作ったからLinuxでほぼすべてのゲームが動いてパフォーマンスもWindowsより良い場合もある
ただしあくまでエミュレートだからカーネルモードで動くアンチチートだけは動かなくてフォトナやヴァロやApexなんかの人気FPSが動かなかったり永久BAN対象になる
まぁこれも時間の問題でWindowsが必要とされなくなるのは間近だな
167デフォルトの名無しさん
2024/04/06(土) 20:56:33.00ID:9cPJ1AnL いるよねこういう極論振り回す人
脳内で完結してるから聞く耳を持たない
脳内で完結してるから聞く耳を持たない
168デフォルトの名無しさん
2024/04/07(日) 09:15:27.80ID:nb2SxK5J プログラマに限らずIT界隈はMS批判するのがカッコいいと勘違いしてる人多いからね
169デフォルトの名無しさん
2024/04/07(日) 10:22:00.29ID:K0Taf7XF >>165
まあ、マイクロソフトだから、拡張子を3文字にする慣習が伝統的にあるせいかな。
まあ、マイクロソフトだから、拡張子を3文字にする慣習が伝統的にあるせいかな。
170デフォルトの名無しさん
2024/04/07(日) 10:23:05.93ID:K0Taf7XF >>167
いまでもシェアのほとんどがWindowsなのにね
いまでもシェアのほとんどがWindowsなのにね
171デフォルトの名無しさん
2024/04/08(月) 21:40:31.39ID:bL5gAXu8 PowerShell の ps1 ファイルは 何故 1なのか
https://tech.guitarrapc.com/entry/2013/09/06/220944
https://tech.guitarrapc.com/entry/2013/09/06/220944
172デフォルトの名無しさん
2024/04/09(火) 00:15:02.63ID:32z8iBj9 powershell 7.xってどういう立ち位置なんだろ
windows標準では入ってないから、開発者向けなのかな
Rubookは7.2が標準だけど
windows標準では入ってないから、開発者向けなのかな
Rubookは7.2が標準だけど
173デフォルトの名無しさん
2024/04/09(火) 03:22:25.95ID:Gy4/KbO3 PowerShell Core(6.0以降) では
・.NET Coreインストール可能なWindows以外のOSでも実行可能
・デフォルト文字コードがUTF8(BOMなし)、改行がLF
・WorkFlowなど機能の一部は使用不可
あと
WindowsPowerShell → PowerShell Coreで破壊的変更あり(PowerShell Core 破壊的変更でBingってください)
C#のソースを流用する場合ジェネリックが使える7.3が便利かなと思います
自分は未だPowerShell Coreに移行出来ていません
・.NET Coreインストール可能なWindows以外のOSでも実行可能
・デフォルト文字コードがUTF8(BOMなし)、改行がLF
・WorkFlowなど機能の一部は使用不可
あと
WindowsPowerShell → PowerShell Coreで破壊的変更あり(PowerShell Core 破壊的変更でBingってください)
C#のソースを流用する場合ジェネリックが使える7.3が便利かなと思います
自分は未だPowerShell Coreに移行出来ていません
174デフォルトの名無しさん
2024/04/09(火) 20:15:01.39ID:ru6IFaGR >>172
解釈はまかせるけど技術ブログでは以下の記載がある
https://devblogs.microsoft.com/powershell/powershell-openssh-team-investments-for-2023/
> As a reminder, PowerShell 7 is built on the latest .NET which does not have the same support lifecycle as Windows. We can’t ship something as a feature in Windows that does not align with Windows’ support lifecycle.
解釈はまかせるけど技術ブログでは以下の記載がある
https://devblogs.microsoft.com/powershell/powershell-openssh-team-investments-for-2023/
> As a reminder, PowerShell 7 is built on the latest .NET which does not have the same support lifecycle as Windows. We can’t ship something as a feature in Windows that does not align with Windows’ support lifecycle.
175デフォルトの名無しさん
2024/04/09(火) 21:52:45.57ID:yR8KPsJp 用がないなら関わる必要ないんじゃね
OSに標準で入ってる事しかメリット無いんだし
OSに標準で入ってる事しかメリット無いんだし
176デフォルトの名無しさん
2024/04/13(土) 22:49:21.10ID:7ey9vG0h SJISで出力しようとするとエラーで怒られるのはなんでなんですか
仕方がないのでnkf -s --overwriteでしのいでるんですが
うまくいく
>dir | Out-File -Encoding 'utf8' output.txt
どちらもエラーが出る
>dir | Out-File -Encoding 'shift-jif' output.txt
>dir | Out-File -Encoding [System.Text.Encoding]::GetEncoding('shift-jis') output.txt
Out-File : パラメーター 'Encoding の引数を確認できません。引数 "[System.Text.Encoding]::GetEncoding
" は、ValidateSet 属性で指定されたセット "unknown,string,unicode,bigendianunicode,utf8,utf7,
utf32,ascii,default,oem" に属していません。このセットの引数を指定して、コマンドを再度実行してください。
仕方がないのでnkf -s --overwriteでしのいでるんですが
うまくいく
>dir | Out-File -Encoding 'utf8' output.txt
どちらもエラーが出る
>dir | Out-File -Encoding 'shift-jif' output.txt
>dir | Out-File -Encoding [System.Text.Encoding]::GetEncoding('shift-jis') output.txt
Out-File : パラメーター 'Encoding の引数を確認できません。引数 "[System.Text.Encoding]::GetEncoding
" は、ValidateSet 属性で指定されたセット "unknown,string,unicode,bigendianunicode,utf8,utf7,
utf32,ascii,default,oem" に属していません。このセットの引数を指定して、コマンドを再度実行してください。
177デフォルトの名無しさん
2024/04/13(土) 22:51:19.83ID:7ey9vG0h shift-jifになってますがjisでもちゃんとエラーになります
178デフォルトの名無しさん
2024/04/13(土) 22:52:54.00ID:OrtqC7Lq コマンドレットの引数と.NETのそれを混同してるのでは
-Encoding Defaultでしょ
-Encoding Defaultでしょ
179デフォルトの名無しさん
2024/04/14(日) 08:27:07.05ID:JqEwLIX+ なんでなんですかと言われても自分で貼ったエラーメッセージに書いてある通りでしょ
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/out-file?view=powershell-5.1#-encoding
どうしてもShift-JISと書きたいならPowerShell6.2以降をご利用ください
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/out-file?view=powershell-7.4#-encoding
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/out-file?view=powershell-5.1#-encoding
どうしてもShift-JISと書きたいならPowerShell6.2以降をご利用ください
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/out-file?view=powershell-7.4#-encoding
180デフォルトの名無しさん
2024/04/15(月) 14:56:57.87ID:PE3M1YJ/ よく知らんけど、UTF8もSHIFT-JISもMS932
ASCIIも、全部半角英数文字なら、
完全に互換性あるよな❓
BOM付UTF8はダメだろうが
ていうか、改行はLF CR LF+CR CR+LF
のどれが正しいの❓
ASCIIも、全部半角英数文字なら、
完全に互換性あるよな❓
BOM付UTF8はダメだろうが
ていうか、改行はLF CR LF+CR CR+LF
のどれが正しいの❓
181デフォルトの名無しさん
2024/04/15(月) 15:02:21.24ID:PE3M1YJ/ ていうか、拡張子mp3は音楽で音なのに、
でもてか、拡張子mp4は動画で映像だし、ま、音声も含まれてるけど
もしかして、拡張子mp5は匂いとかになるのかな❓ なんて訳ないよね
でもてか、拡張子mp4は動画で映像だし、ま、音声も含まれてるけど
もしかして、拡張子mp5は匂いとかになるのかな❓ なんて訳ないよね
182デフォルトの名無しさん
2024/04/15(月) 15:11:13.01ID:t9UnzSYj mp3: MPEG-1 Audio Layer-3
mp4: MPEG-4 Part 14
mp4: MPEG-4 Part 14
183デフォルトの名無しさん
2024/04/15(月) 22:02:24.55ID:uMyBIzHs >>180
0x5Cと0x7Eが違うだろ
0x5CはASCIIやUTF-8だと逆スラッシュだけどShift-JISでは円記号
0x7EはASCIIやUTF-8ではチルダでShift-JISだとオーバーライン
0x5Cと0x7Eが違うだろ
0x5CはASCIIやUTF-8だと逆スラッシュだけどShift-JISでは円記号
0x7EはASCIIやUTF-8ではチルダでShift-JISだとオーバーライン
184デフォルトの名無しさん
2024/04/29(月) 03:38:58.05ID:xgq67JZI 糞言語晒しハゲ
185デフォルトの名無しさん
2024/04/29(月) 21:21:17.91ID:+v7UeRZb 確かにPowerShellには糞な所はあるが
UNIXシェルはもっと糞だからなぁ
UNIXシェルはもっと糞だからなぁ
186デフォルトの名無しさん
2024/04/30(火) 00:48:39.65ID:DiJVRdjR bashはもっと高級言語っぽく書かせてくれ
187デフォルトの名無しさん
2024/04/30(火) 19:49:07.28ID:C0uaYXPq プログラムスレ自体が
スレ立ての荒らしにあってる?
スレ立ての荒らしにあってる?
188デフォルトの名無しさん
2024/05/12(日) 19:06:56.30ID:vKcD+EjR 入力された値(小数点以下の桁数は不明)をそのままの値でコンソールに表示させる方法ありますでしょうか?
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
189デフォルトの名無しさん
2024/05/12(日) 19:07:09.73ID:vKcD+EjR 入力された値(小数点以下の桁数は不明)をそのままの値でコンソールに表示させる方法ありますでしょうか?
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
190デフォルトの名無しさん
2024/05/12(日) 19:36:08.58ID:09MtL+BO 最初から文字列にしとけばOK
191デフォルトの名無しさん
2024/05/12(日) 20:58:46.50ID:XuEaHJPQ そうだね。逆にE表記の入力も受けるならそっちの対応も必要になる
$nyuryoku = "0.0000001"
[double]$nyuryoku_d = 0
if ([Double]::TryParse($nyuryoku, [ref]$nyuryoku_d)) { # 入力文字列をdouble値に変換できるか確認
$dotpos = $nyuryoku_s.IndexOf(".")
if ($dotpos -ge 0) { # ドット表記
$nyuryoku_d += 0.0000001
$nyuryoku_d.ToString("N" + $nyuryoku_s.substring($dotpos + 1).length) | Write-Host #double値を計算して同桁出力する場合
}
}
$nyuryoku = "0.0000001"
[double]$nyuryoku_d = 0
if ([Double]::TryParse($nyuryoku, [ref]$nyuryoku_d)) { # 入力文字列をdouble値に変換できるか確認
$dotpos = $nyuryoku_s.IndexOf(".")
if ($dotpos -ge 0) { # ドット表記
$nyuryoku_d += 0.0000001
$nyuryoku_d.ToString("N" + $nyuryoku_s.substring($dotpos + 1).length) | Write-Host #double値を計算して同桁出力する場合
}
}
192デフォルトの名無しさん
2024/05/12(日) 21:52:36.80ID:i2A3IV7D "{0:f7}" -f $nyuryoku
193デフォルトの名無しさん
2024/05/13(月) 11:39:01.69ID:/Hf+00qw .NetのBigDecimal型を使えば演算も有効数字も期待通りにコントロールできて望むものに合致するかもしれない
194デフォルトの名無しさん
2024/05/14(火) 06:07:17.63ID:91RzY7pD >>0190
確かにそうですね
>>0191
ありがとうございます。
>>0192
小数点以下桁数が計算できれば行けそうです
>>0193
ありがとうございます。試してみます
確かにそうですね
>>0191
ありがとうございます。
>>0192
小数点以下桁数が計算できれば行けそうです
>>0193
ありがとうございます。試してみます
195デフォルトの名無しさん
2024/05/15(水) 12:16:52.10ID:NKO3JxQw [System.Covert]::ToDecimal($nyuryoku)
196デフォルトの名無しさん
2024/05/15(水) 21:14:15.32ID:dKr+esCZ [decimal]$nyuryoku
197デフォルトの名無しさん
2024/05/15(水) 23:59:01.94ID:thm7xdMe > $x = "1.00"
> [decimal]$x
1
> [decimal]$y = "1.00"
> $y
1
簡潔でいいなと思ったけど v7.4.2 ではダメだったわ
v5 なら通る
なんでや
> [decimal]::Parse("1.00")
1.00
これならどっちもいける
> [decimal]$x
1
> [decimal]$y = "1.00"
> $y
1
簡潔でいいなと思ったけど v7.4.2 ではダメだったわ
v5 なら通る
なんでや
> [decimal]::Parse("1.00")
1.00
これならどっちもいける
198デフォルトの名無しさん
2024/05/19(日) 09:37:50.88ID:CqmosUS1 1.00.ToString("0.00")
199デフォルトの名無しさん
2024/05/28(火) 21:30:03.57ID:3YD/oRc3 https://www.itmedia.co.jp/news/articles/2405/28/news172.html
こういうのがあるからPowerShellはスクリプト実行禁止がデフォルトになっている
こういうのがあるからPowerShellはスクリプト実行禁止がデフォルトになっている
200デフォルトの名無しさん
2024/05/29(水) 13:49:53.60ID:uKjwQH9U いやいやいや…ちょっと調べればPowerShellを禁止設定のまま実行なんて簡単なんですけお^^
俺はバッチファイル経由で実行するようにしてる
同じフォルダ内のps1ファイルを全て羅列して、どれを実行しますか?みたいな感じのバッチファイル
同じフォルダ内のps1ファイルを全て羅列して、どれを実行しますか?みたいな感じのバッチファイル
202デフォルトの名無しさん
2024/05/29(水) 21:41:38.25ID:02Fq4mGE それ意味あんの
204デフォルトの名無しさん
2024/05/30(木) 00:25:29.21ID:U4JaIgka205デフォルトの名無しさん
2024/05/30(木) 09:38:23.19ID:BwsQkw0g >ウインドウ非表示実行
conhost.exe --headless powershell.exe -file foo.ps1
では駄目?
conhost.exe --headless powershell.exe -file foo.ps1
では駄目?
207デフォルトの名無しさん
2024/05/30(木) 12:56:45.30ID:T4GqjJ/d vbs廃止は神国だわw
208デフォルトの名無しさん
2024/05/30(木) 17:48:39.42ID:U4JaIgka209デフォルトの名無しさん
2024/05/30(木) 22:14:09.65ID:5L9b56Kn https://github.com/microsoft/terminal/issues/17178
conhost.exe --headlessは終了コードを得られない致命的なバグがあるらしいな
Hiddenで起動する適当なexe作った方が早そう
conhost.exe --headlessは終了コードを得られない致命的なバグがあるらしいな
Hiddenで起動する適当なexe作った方が早そう
210デフォルトの名無しさん
2024/06/01(土) 09:49:39.74ID:GcLNDseM >>154
なんじゃこりゃ、どんだけエアプが書いてんだ?
そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
権限の昇格の概念の無いOS用のsudoと意味論が異なる事を示す為にせめてsudo以外の名前を使えよ
以下win/pwsh環境での突っ込み
>runasはパスワードの入力が必要になる
saps に-cred $me渡せ
>別ウィンドウでターミナルが起動する
-nonew渡せ
>別ターミナル再度コマンドを実行する必要
それはsu相当の動作であってsaps pwshで代替できる
全部やりたいならsaps $prog -runas -cred $me -nonewだろ?
win上のpwsh環境ではsaps上で直交するオプションとして設計された4機能が全部斜交した邪悪の極みみたいなコマンドと化してるぞ
ついでに言うとrunas.exeも若干邪悪…
テストはしてないからなんか俺もエアプしてたら突っ込んでね?
なんじゃこりゃ、どんだけエアプが書いてんだ?
そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
権限の昇格の概念の無いOS用のsudoと意味論が異なる事を示す為にせめてsudo以外の名前を使えよ
以下win/pwsh環境での突っ込み
>runasはパスワードの入力が必要になる
saps に-cred $me渡せ
>別ウィンドウでターミナルが起動する
-nonew渡せ
>別ターミナル再度コマンドを実行する必要
それはsu相当の動作であってsaps pwshで代替できる
全部やりたいならsaps $prog -runas -cred $me -nonewだろ?
win上のpwsh環境ではsaps上で直交するオプションとして設計された4機能が全部斜交した邪悪の極みみたいなコマンドと化してるぞ
ついでに言うとrunas.exeも若干邪悪…
テストはしてないからなんか俺もエアプしてたら突っ込んでね?
211デフォルトの名無しさん
2024/06/01(土) 10:15:49.38ID:rqyUs55u $progと-args @argsをfunction sudoに包んで渡せばとりあえず望みの挙動を得られるはず
212デフォルトの名無しさん
2024/06/01(土) 22:09:53.18ID:olGfUeGO 俺の環境だと-NoNewWindowと-Credential両方指定すると新しいウインドウが開いちゃうんだが
213デフォルトの名無しさん
2024/06/04(火) 22:16:09.49ID:GNPHSdGp >>208
https://www.keyence.co.jp/ss/general/iot-glossary/headless.jsp
ヘッドレスとは、組み込み機器やサーバなど、本来対面で人が操作するためのものではない(または、その必要がない)システムで見られる運用形態のひとつです。コンピュータの場合、キーボード、マウス、タッチパネルなどの入出力機器を接続しない状態で運用すること、また、その状態で運用を行う機器などがあります。
https://www.keyence.co.jp/ss/general/iot-glossary/headless.jsp
ヘッドレスとは、組み込み機器やサーバなど、本来対面で人が操作するためのものではない(または、その必要がない)システムで見られる運用形態のひとつです。コンピュータの場合、キーボード、マウス、タッチパネルなどの入出力機器を接続しない状態で運用すること、また、その状態で運用を行う機器などがあります。
214デフォルトの名無しさん
2024/06/05(水) 00:12:03.26ID:nLwXXU6Y https://eow.alc.co.jp/search?q=headless
例文、怖えぇ〜
【headless】
1. 頭部のない、首を切られた
・ I saw a headless dog lying beside the road on my way to school. :
学校へ行く途中、道端に首のない犬が転がっているのを見た。
2. 指導者がいない
・ The terrorist group is a headless organization. :
そのテロリスト集団は指導者がいない組織である。
3. ・・
例文、怖えぇ〜
【headless】
1. 頭部のない、首を切られた
・ I saw a headless dog lying beside the road on my way to school. :
学校へ行く途中、道端に首のない犬が転がっているのを見た。
2. 指導者がいない
・ The terrorist group is a headless organization. :
そのテロリスト集団は指導者がいない組織である。
3. ・・
215デフォルトの名無しさん
2024/06/10(月) 08:02:22.79ID:KfgQc11A ヘッドレスってCPUをなくすべきでは
216デフォルトの名無しさん
2024/06/12(水) 21:40:45.55ID:68xFIGJf >>210
>そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
今のSudo for Windowsは同一じゃない
https://learn.microsoft.com/ja-jp/windows/sudo/#how-is-sudo-for-windows-different-from-the-existing-runas-command
>現時点で Windows 上の sudo コマンドは、他のユーザーとしてのプログラムの実行をサポートしていません。
>そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
今のSudo for Windowsは同一じゃない
https://learn.microsoft.com/ja-jp/windows/sudo/#how-is-sudo-for-windows-different-from-the-existing-runas-command
>現時点で Windows 上の sudo コマンドは、他のユーザーとしてのプログラムの実行をサポートしていません。
217デフォルトの名無しさん
2024/06/13(木) 01:51:19.96ID:I2CUi2vW218デフォルトの名無しさん
2024/06/19(水) 22:42:22.27ID:pSP80P6j 古い業務システムでデータ入力する時に自動化しようと思ったんだが、
Enterがカーソル位置以降の文字消してフォーカス移動、NumpadEnter(テンキーのEnter)がEnter、
左CtrlがCtrl、右CtrlがEnterという機能になっている。
powershellのSendkeysだとどうやってNumpadEnterか右Ctrlを選択すればいいのでしょうか?
Enterがカーソル位置以降の文字消してフォーカス移動、NumpadEnter(テンキーのEnter)がEnter、
左CtrlがCtrl、右CtrlがEnterという機能になっている。
powershellのSendkeysだとどうやってNumpadEnterか右Ctrlを選択すればいいのでしょうか?
219デフォルトの名無しさん
2024/06/19(水) 22:46:04.00ID:rsgeG4yq VBのSendKeysと変わらないと思う
220デフォルトの名無しさん
2024/06/21(金) 17:49:04.98ID:LwqdtCE6 >>218
無料のRPAでやる方法もあるよ
無料のRPAでやる方法もあるよ
221デフォルトの名無しさん
2024/06/22(土) 01:38:41.92ID:uvHlEJ4P powershellってlinuxでも使えますっけ?
222デフォルトの名無しさん
2024/06/22(土) 05:23:03.55ID:dw6Bjmix 使えます
223デフォルトの名無しさん
2024/06/22(土) 19:51:57.56ID:dw6Bjmix Win10のPowerShellのC#がVS2022のC#とバージョンが違って戸惑う…。
Win11ではそこまで違和感ないのだろうか?
foreach (var item in File.ReadAllLines(fileName).Select((line, i) => $"{i + 1,2}:{line}"))
としたかったのにReadAllLinesも使えないし、 $"{i + 1,2}:{line}"部分も使えない。
何か、隔世の感がある…。
Win11ではそこまで違和感ないのだろうか?
foreach (var item in File.ReadAllLines(fileName).Select((line, i) => $"{i + 1,2}:{line}"))
としたかったのにReadAllLinesも使えないし、 $"{i + 1,2}:{line}"部分も使えない。
何か、隔世の感がある…。
224デフォルトの名無しさん
2024/06/23(日) 00:24:22.40ID:Gy0jYBbT ???
225デフォルトの名無しさん
2024/06/23(日) 01:48:23.24ID:iAmtDmVE PowerShell内蔵のC#スクリプトがOS毎にバージョンが違って、使えない機能があって不便だって話。
hello.ps1
Add-Type -Path .\hello.cs
[Hello]::hello()
hello.cs
using System;
public static class Hello
{
public static void hello()
{
Console.WriteLine("Hello World!!);
}
}
hello.ps1
Add-Type -Path .\hello.cs
[Hello]::hello()
hello.cs
using System;
public static class Hello
{
public static void hello()
{
Console.WriteLine("Hello World!!);
}
}
226デフォルトの名無しさん
2024/06/23(日) 02:33:27.21ID:QkuO1K/N まあ現在進行形でメンテされてるからな
むしろOS毎に入るバージョンが違ってくるのは当たり前なのでは…
むしろOS毎に入るバージョンが違ってくるのは当たり前なのでは…
227デフォルトの名無しさん
2024/06/23(日) 04:10:59.53ID:iAmtDmVE 分ってるけど、心の叫びだよ。
あ、PowerShellアップデートしてReadAllLinesの方は使えるようになった。
今更ファイルストリームでopen/closeとか嫌すぎたからホッとした。
あ、PowerShellアップデートしてReadAllLinesの方は使えるようになった。
今更ファイルストリームでopen/closeとか嫌すぎたからホッとした。
228デフォルトの名無しさん
2024/06/23(日) 13:37:48.52ID:ermJYjK6 webアプリのテキスト入力部分にpowershellスクリプトで自動的に文字入力をしています
しかし動作させるタイミングによってIMEが日本語入力になっていたり直接入力になっていたりしています
「無変換」キーに「IMEオフ」を割り当てて文字入力の前にpowershellで自動的に無変換キーを押下させましたが当方の環境では何故か期待通りの結果にならず、やむなくタスクバートレイのIMEアイコンを右クリック(メニュー表示)→「直接入力」左クリックをpowershellで自動でやって実現しています
しかしこの方法はスマートじゃないです
powershellで他のアプリに入力中のIMEの設定を「直接入力」モードにスマートに切り替える方法があれば教えてください
しかし動作させるタイミングによってIMEが日本語入力になっていたり直接入力になっていたりしています
「無変換」キーに「IMEオフ」を割り当てて文字入力の前にpowershellで自動的に無変換キーを押下させましたが当方の環境では何故か期待通りの結果にならず、やむなくタスクバートレイのIMEアイコンを右クリック(メニュー表示)→「直接入力」左クリックをpowershellで自動でやって実現しています
しかしこの方法はスマートじゃないです
powershellで他のアプリに入力中のIMEの設定を「直接入力」モードにスマートに切り替える方法があれば教えてください
229デフォルトの名無しさん
2024/06/23(日) 13:50:30.91ID:e+eCK7bX 望んでいる答えではないと思うがWebアプリなら素直にブラウザのプラグインでJavaScriptを動かす方法を一度覚えておいたほうが幸せになれると思う
安定性も増すしやれることの幅もかなり広がる
安定性も増すしやれることの幅もかなり広がる
230デフォルトの名無しさん
2024/06/23(日) 13:52:52.91ID:eptuMF0K231デフォルトの名無しさん
2024/06/23(日) 14:57:30.86ID:nCpb5rpZ >>228
WindowsFormsあたり使えばできるんじゃないの?と思ってCopilotに聞いてみた
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class ImeControl {
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
public static extern int ImmAssociateContext(IntPtr hWnd, IntPtr hIMC);
public static void DisableImeMode() {
IntPtr hWnd = GetForegroundWindow();
ImmAssociateContext(hWnd, IntPtr.Zero);
}
}
"@
思ってたんと違った
WindowsFormsあたり使えばできるんじゃないの?と思ってCopilotに聞いてみた
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class ImeControl {
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
public static extern int ImmAssociateContext(IntPtr hWnd, IntPtr hIMC);
public static void DisableImeMode() {
IntPtr hWnd = GetForegroundWindow();
ImmAssociateContext(hWnd, IntPtr.Zero);
}
}
"@
思ってたんと違った
232デフォルトの名無しさん
2024/06/23(日) 17:48:41.99ID:ermJYjK6233デフォルトの名無しさん
2024/06/23(日) 18:39:00.79ID:QkuO1K/N 肝心のアレが入ってないからまともに動かなそう
AIをもっと虐めないとだよ
AIをもっと虐めないとだよ
234デフォルトの名無しさん
2024/06/23(日) 23:34:40.87ID:iAmtDmVE235デフォルトの名無しさん
2024/06/23(日) 23:46:54.32ID:iAmtDmVE xあんまり逆行したかったん。
oあんまり逆行したくなかったん。
oあんまり逆行したくなかったん。
236デフォルトの名無しさん
2024/06/24(月) 00:41:48.16ID:sso3G8sO >>221
使えます。
使えます。
237デフォルトの名無しさん
2024/06/26(水) 17:27:29.44ID:qsKWsaPH 地味にハマったからPowerShell7.5PrevewでC#コード実行の注意点書きこ。
・$Argが$argsに。(ここまではいい)
・$argsに格納されるコマンド引数がカレントディレクトリではなく、「PowerShellを起動したディレクトリ」になっている。
(なので、初期はPowerShellの本体があるフォルダー。しかもcdでカレントディレクトリ変えても、コマンド引数のディレクトリは変化しない)
解決策
(hoge.ps1は$argsを使っているスクリプト)
pwsh hoge.ps1 arg1 arg2
の様にPowerShellを起動してからスクリプトを実行すると、コマンド引数のディレクトリも(そのシェルを起動した時点の)カレントディレクトリに変わる。
・
・$Argが$argsに。(ここまではいい)
・$argsに格納されるコマンド引数がカレントディレクトリではなく、「PowerShellを起動したディレクトリ」になっている。
(なので、初期はPowerShellの本体があるフォルダー。しかもcdでカレントディレクトリ変えても、コマンド引数のディレクトリは変化しない)
解決策
(hoge.ps1は$argsを使っているスクリプト)
pwsh hoge.ps1 arg1 arg2
の様にPowerShellを起動してからスクリプトを実行すると、コマンド引数のディレクトリも(そのシェルを起動した時点の)カレントディレクトリに変わる。
・
238デフォルトの名無しさん
2024/06/26(水) 17:31:44.50ID:qsKWsaPH あ、C#はPowerShell7.5で $"{}"(文字列補間式)使えるようになった\(^_^)/
239デフォルトの名無しさん
2024/06/28(金) 09:33:29.65ID:bVzHKq+e 過去に作られたスクリプトなのですが、
$script=(New-Object System.Net.WebClient).DownloadString("https://○○/dir/file1.js")
として別Webサーバからスクリプトを毎回ダウンロードしていたのですが、
そのWebサーバが廃止されるということで、
そのfile1.jsをPCにダウンロードして、それを毎回読み込ませるようにしたいです
$script=Get-Content .\file1.js
としてみましたが、ファイルは読み込めているようですが、
その後の処理でうまく動作しません
何か方法ありますでしょうか
$script=(New-Object System.Net.WebClient).DownloadString("https://○○/dir/file1.js")
として別Webサーバからスクリプトを毎回ダウンロードしていたのですが、
そのWebサーバが廃止されるということで、
そのfile1.jsをPCにダウンロードして、それを毎回読み込ませるようにしたいです
$script=Get-Content .\file1.js
としてみましたが、ファイルは読み込めているようですが、
その後の処理でうまく動作しません
何か方法ありますでしょうか
240デフォルトの名無しさん
2024/06/28(金) 21:59:51.65ID:1ppaObvA file1.jsのエンコーディングはどうなってるの?
241デフォルトの名無しさん
2024/06/28(金) 23:09:31.36ID:YK96fiDO242デフォルトの名無しさん
2024/06/29(土) 12:31:22.88ID:AKI9JxZ5 カレントディレクトリという甘えた幻想は捨てろ
243デフォルトの名無しさん
2024/07/07(日) 11:58:14.30ID:L0BIfwX5 カレンちゃんとディレクトリしたい
244デフォルトの名無しさん
2024/07/07(日) 13:02:55.78ID:LfIamK5n Get-Item カレンデバイス
245デフォルトの名無しさん
2024/07/07(日) 22:31:52.21ID:gAixcUjS カレンちゃんって誰だよ競走馬じゃないんだぞ
246デフォルトの名無しさん
2024/07/08(月) 19:41:40.15ID:f8BMTbPy きんモザ
247デフォルトの名無しさん
2024/07/18(木) 01:02:53.21ID:X/v3DPD5 windows10から11に変えたらwindows10ではちゃんと動いていたスクリプトが動作しなくなりました。
ショートカットに「powershell -file スクリプトのフルパス」と書いて目的のファイルをD&Dして使用しています。
ISEからだと一応動作して「引数が足りません」になるんですが、ショートカットからでは一瞬ウインドウが開くだけで何も起きません。
-NoExitをつけてもウインドウが閉じてしまいます。閉じるのが早すぎて正確にはわかりませんがウインドウには何も表示されていないようです。
「consolehost_history.txt」がログのようなので見てみたんですが、何も実行されていないようです。
管理者権限でpowershellを起動してから「スクリプトのフルパス "引数になるファイルのフルパス"」では正常に動作しました。
powershell.exeを右クリックで管理者権限で実行にチェックを入れても動作せず。
windows11になってからpowershellのショートカットを作る方法に変化があったのでしょうか?
ショートカットに「powershell -file スクリプトのフルパス」と書いて目的のファイルをD&Dして使用しています。
ISEからだと一応動作して「引数が足りません」になるんですが、ショートカットからでは一瞬ウインドウが開くだけで何も起きません。
-NoExitをつけてもウインドウが閉じてしまいます。閉じるのが早すぎて正確にはわかりませんがウインドウには何も表示されていないようです。
「consolehost_history.txt」がログのようなので見てみたんですが、何も実行されていないようです。
管理者権限でpowershellを起動してから「スクリプトのフルパス "引数になるファイルのフルパス"」では正常に動作しました。
powershell.exeを右クリックで管理者権限で実行にチェックを入れても動作せず。
windows11になってからpowershellのショートカットを作る方法に変化があったのでしょうか?
248デフォルトの名無しさん
2024/07/18(木) 01:29:27.44ID:T4qee4Qo >>247
多分まさに>237に書いてる仕様変更の影響かと。
多分まさに>237に書いてる仕様変更の影響かと。
249デフォルトの名無しさん
2024/07/18(木) 12:34:31.99ID:X/v3DPD5 >>248
ありがとうございます。 「pwsh -file スクリプトのフルパス」と書き換えたら起動できたんですが、今度は別のところでwindows10では起きなかったエラーが出てしまいました。
$cmfiletxt = Get-ChildItem -Path "$cmtemp" -Recurse -Depth 1 -Filter "$trimfile"
と書いてある行で、
Second path fragment must not be a drive or UNC name. (Parameter 'expression')
というエラーが出ます。
"$trimfile"の中身は例えば「R:\TEMP\cmtmp\amt9996774\アニメA・ダークギャザリング #1「寶月夜宵」 2023-07-10.m2v.txt」です。
windows10では正常に動作していました。
「amt9996774」の所は連携しているソフトがランダムで自動生成するのでこちらからいじることはできません。
どう修正すればいいでしょうか。
ありがとうございます。 「pwsh -file スクリプトのフルパス」と書き換えたら起動できたんですが、今度は別のところでwindows10では起きなかったエラーが出てしまいました。
$cmfiletxt = Get-ChildItem -Path "$cmtemp" -Recurse -Depth 1 -Filter "$trimfile"
と書いてある行で、
Second path fragment must not be a drive or UNC name. (Parameter 'expression')
というエラーが出ます。
"$trimfile"の中身は例えば「R:\TEMP\cmtmp\amt9996774\アニメA・ダークギャザリング #1「寶月夜宵」 2023-07-10.m2v.txt」です。
windows10では正常に動作していました。
「amt9996774」の所は連携しているソフトがランダムで自動生成するのでこちらからいじることはできません。
どう修正すればいいでしょうか。
250デフォルトの名無しさん
2024/07/18(木) 12:46:56.92ID:2XOaIs3w >>249
変数名が $cmtemp になってるけど、その中身の文字列は e抜きの \cmtmp\ を含むパスなの?
変数名が $cmtemp になってるけど、その中身の文字列は e抜きの \cmtmp\ を含むパスなの?
251デフォルトの名無しさん
2024/07/18(木) 13:09:10.50ID:X/v3DPD5252デフォルトの名無しさん
2024/07/18(木) 13:13:45.35ID:g0scKYj2 >>249
ダブルコーテーションで括ってるからじゃね
ダブルコーテーションで括ってるからじゃね
253デフォルトの名無しさん
2024/07/18(木) 14:22:52.00ID:eHTBk2KG -Filterにパスを指定しちゃだめ、っていうエラーメッセージ。
ファイル名部分を指定するんだよ。(ワイルドカード)
でもWin10でもエラーになると思うんだけどな。
ファイル名部分を指定するんだよ。(ワイルドカード)
でもWin10でもエラーになると思うんだけどな。
254デフォルトの名無しさん
2024/07/18(木) 14:29:18.66ID:g0scKYj2 >>252
補足
変数をダブルクォーテーションで囲むと
変数の式が展開されてから渡される
変数の中身がファイル名でスペースを含んでたりすると誤動作する
変数に入ってるんだからそのまま変数で渡せばいい
ファイル名がスペースを含んでいても大丈夫
こんな感じだと思う
補足
変数をダブルクォーテーションで囲むと
変数の式が展開されてから渡される
変数の中身がファイル名でスペースを含んでたりすると誤動作する
変数に入ってるんだからそのまま変数で渡せばいい
ファイル名がスペースを含んでいても大丈夫
こんな感じだと思う
255247
2024/07/18(木) 18:19:03.04ID:X/v3DPD5 ありがとうございます。結局$trimfileの中身をフルパスではなくファイル名のみにするようにしたら処理完了しました。
…本当にwindows10ではこれで動いていたんですけどね…?
ただし別の問題が発生しています。あらかじめ作業フォルダを指定してその下にサブフォルダを生成、そこに処理したファイルを展開するようにしてるんですが、
指定した作業フォルダ(日本語)が文字化けしており、文字化けした作業フォルダを改めて作成してさらにその下にサブフォルダを作るようになってしまいました。
write-hostで表示する日本語も同様に文字化けしており、サブフォルダの名前は正常なのでスクリプト自体の問題ではないと思います。
powershellのタイトルバーを右クリック→設定→左のアイコンからpowershellを選択→外観→フォントフェイスをMSゴシックに変更、では解決しませんでした。
…本当にwindows10ではこれで動いていたんですけどね…?
ただし別の問題が発生しています。あらかじめ作業フォルダを指定してその下にサブフォルダを生成、そこに処理したファイルを展開するようにしてるんですが、
指定した作業フォルダ(日本語)が文字化けしており、文字化けした作業フォルダを改めて作成してさらにその下にサブフォルダを作るようになってしまいました。
write-hostで表示する日本語も同様に文字化けしており、サブフォルダの名前は正常なのでスクリプト自体の問題ではないと思います。
powershellのタイトルバーを右クリック→設定→左のアイコンからpowershellを選択→外観→フォントフェイスをMSゴシックに変更、では解決しませんでした。
256デフォルトの名無しさん
2024/07/18(木) 18:48:37.59ID:2XOaIs3w257デフォルトの名無しさん
2024/07/18(木) 19:04:19.79ID:eHTBk2KG pwshが動く時点で普通のwin11じゃない気がする。pwshは一部の物好きな上級者用じゃない?(もうwin11のデフォルトになった?)
pwshのままだと今後も色々問題出るよ。自己解決していける自信がないなら総合的にはwin11の再インストールが手っ取り早いと思う。
pwshのままだと今後も色々問題出るよ。自己解決していける自信がないなら総合的にはwin11の再インストールが手っ取り早いと思う。
258デフォルトの名無しさん
2024/07/18(木) 20:08:19.40ID:7Xw39CjT powershellが動かなかった理由ってOS変えたからデフォルトのExecutionPolicyの問題で弾かれてただけじゃないの
pwshについては設定変更済みで通ったと
そしてv5向けのスクリプトをそのままv7で動かしたから細かい非互換の問題が出たと
pwshについては設定変更済みで通ったと
そしてv5向けのスクリプトをそのままv7で動かしたから細かい非互換の問題が出たと
259247
2024/07/18(木) 20:55:47.23ID:X/v3DPD5260デフォルトの名無しさん
2024/07/18(木) 21:35:09.26ID:eHTBk2KG pwshを入れたのは後退なので、スタート地点に立てたくらいに思えば。
1. ショートカットのあるディレクトリにで右クリック→ターミナルで開く
2. ショートカット(lnk)を開く
でウインドウが閉じずにエラーメッセージを確認できると思う
1. ショートカットのあるディレクトリにで右クリック→ターミナルで開く
2. ショートカット(lnk)を開く
でウインドウが閉じずにエラーメッセージを確認できると思う
261247
2024/07/18(木) 22:55:07.91ID:X/v3DPD5 >>260
出てきたエラーをコピーしようとしたらNGワードに引っかかったみたいなので要約すると、
・名前が正しく記述されていることを確認しろ、パスを確認しろ
・ コマンドは見つかりませんでしたが、
現在の場所に存在します。Windows PowerShell は、既定では、現在の場所からコマンドを読み込みません。
このコマンドを信頼する場合は、".\(ファイル名)" と入力してください。
言われた通りに.入力したら「引数がないため処理を終了します。」となり、一応正常に終了しました。
出てきたエラーをコピーしようとしたらNGワードに引っかかったみたいなので要約すると、
・名前が正しく記述されていることを確認しろ、パスを確認しろ
・ コマンドは見つかりませんでしたが、
現在の場所に存在します。Windows PowerShell は、既定では、現在の場所からコマンドを読み込みません。
このコマンドを信頼する場合は、".\(ファイル名)" と入力してください。
言われた通りに.入力したら「引数がないため処理を終了します。」となり、一応正常に終了しました。
262デフォルトの名無しさん
2024/07/18(木) 23:26:42.40ID:gkVcHWUr 恐らく11から強制的に使わされてるターミナルが悪いんだろうな
MSストアで入るアプリは総じてゴミだから今すぐ使用中止しろ
ttps://qiita.com/dokimiki/items/f1075003cb37f1b542a8
MSストアで入るアプリは総じてゴミだから今すぐ使用中止しろ
ttps://qiita.com/dokimiki/items/f1075003cb37f1b542a8
263247
2024/07/18(木) 23:57:38.19ID:X/v3DPD5 >>262
リンク先を試してから、powershellを開いてから実行する方法では修正前のスクリプトで文字化けもせず正常に終了しました。
しかしショートカットのD&Dする方法では変わらず一瞬でウインドウが閉じました。
リンク先を試してから、powershellを開いてから実行する方法では修正前のスクリプトで文字化けもせず正常に終了しました。
しかしショートカットのD&Dする方法では変わらず一瞬でウインドウが閉じました。
264デフォルトの名無しさん
2024/07/19(金) 11:00:27.12ID:70UaCPmY >>263
powershellのスクリプトの最後に pause でも追加しておけばいいんじゃね
powershellのスクリプトの最後に pause でも追加しておけばいいんじゃね
265247
2024/07/19(金) 12:40:24.75ID:ct1DQagX あの…、なんか寝て起きて試したら動きました…。
昨日からマジで何も変えてない…。せいぜいUSB-DACのドライバ当てたくらい?
とりあえずこのまま様子見ます…。色々とありがとうございました。
昨日からマジで何も変えてない…。せいぜいUSB-DACのドライバ当てたくらい?
とりあえずこのまま様子見ます…。色々とありがとうございました。
266デフォルトの名無しさん
2024/07/19(金) 15:14:54.49ID:jwlCgmdc 今のターミナルで困ることって何だろう
--headlessが使えないことくらい?
conhostより重いって意見はあるかもしれないけど.NETと比べれば誤差みたいなものだし
--headlessが使えないことくらい?
conhostより重いって意見はあるかもしれないけど.NETと比べれば誤差みたいなものだし
267デフォルトの名無しさん
2024/07/21(日) 22:11:17.98ID:m0XhNdSd Windows terminalは普通に優秀だと思うけど
268デフォルトの名無しさん
2024/07/21(日) 23:51:02.31ID:vKWhifz8 無変換キーを押すと@が書き込まれること以外は完璧
269デフォルトの名無しさん
2024/07/22(月) 09:11:09.38ID:C7pnRrY6 cmdと動作が異なる意味では欠陥
最初にppwershellをコンソールアプリで公開したのは失策
WSH使いからは失笑
最初にppwershellをコンソールアプリで公開したのは失策
WSH使いからは失笑
270デフォルトの名無しさん
2024/07/22(月) 13:17:32.45ID:PeYRIg1J コンソールホストとシェルの区別がついてないお🐴🫎さんかな
271デフォルトの名無しさん
2024/07/27(土) 12:32:42.70ID:+W8EF3Nh ISEって2019年末時点でオプション機能化とか終息に向かうとか言われてたみたいだけど現行Windows11にも普通にプリインストールされてるよな
終息する話は延期になったんだろうか
まぁ弊社みたいなインストール手続きがクッソ面倒なところでは助かるんですが…
終息する話は延期になったんだろうか
まぁ弊社みたいなインストール手続きがクッソ面倒なところでは助かるんですが…
272デフォルトの名無しさん
2024/07/27(土) 12:49:12.36ID:KGtSZjqO 収束するには代わりにVSCodeをプリインストールするようにしてくれないと
273デフォルトの名無しさん
2024/07/27(土) 15:16:22.47ID:7uwMSqss 削除予定はないよ
今後の機能追加がないだけ
プリインストールしたらしたで欧米人がMS訴えるじゃん?
エディタはどうぞお好きなものをお使いください
未だにVSCodeすらインストール許可が出ない会社ならそこの組織の問題
淘汰されるまでそうしていればいい
客先のサーバーで作業中のエンジニアならスクリプトは事前準備したものだけ使うか一旦課題を持ち帰れ
今後の機能追加がないだけ
プリインストールしたらしたで欧米人がMS訴えるじゃん?
エディタはどうぞお好きなものをお使いください
未だにVSCodeすらインストール許可が出ない会社ならそこの組織の問題
淘汰されるまでそうしていればいい
客先のサーバーで作業中のエンジニアならスクリプトは事前準備したものだけ使うか一旦課題を持ち帰れ
274デフォルトの名無しさん
2024/07/28(日) 21:35:37.31ID:cLn1FmEd ISEの優位性って何?使ったことないけどvscodeにできないことができたりする?
275デフォルトの名無しさん
2024/07/29(月) 07:56:32.32ID:4FIXkUHw プリインストールされていること
276デフォルトの名無しさん
2024/07/30(火) 00:37:00.12ID:CUjc7QCy hogehoge.txtの重複するレコードを
powershell -command "get-content hogehoge.txt | sort-object | get-unique | write-host"
みたいにして取り除いています。
重複除去の前に外部コマンドによる処理を追加したくなり、まずファイルからではなく標準入力から読み込んだデータの重複除去に取り組んでいますが上手く行きません。
当初get-contentをread-hostに置き換えればうまく行くかと思いましたがダメでした。
type hogehoge.txt | powershell -command "read-host | sort-object | get-unique | write-host"
考えてみればそれも当然で、いったん標準入力を丸呑みにして溜め込んでおかないとsortもuniqもできないですよね。
MSのサイトで配列に溜め込んでいくみたいな用途に使えそうな命令を探しましたが見あたりませんでした。
なんか解決法ないでしょうか?
あとついでに聞いちゃうんですけどunixのコマンド(wcとかcatとか)をその言語で書き直すみたいな本のpowershell版ってないもんですかね。
powershell -command "get-content hogehoge.txt | sort-object | get-unique | write-host"
みたいにして取り除いています。
重複除去の前に外部コマンドによる処理を追加したくなり、まずファイルからではなく標準入力から読み込んだデータの重複除去に取り組んでいますが上手く行きません。
当初get-contentをread-hostに置き換えればうまく行くかと思いましたがダメでした。
type hogehoge.txt | powershell -command "read-host | sort-object | get-unique | write-host"
考えてみればそれも当然で、いったん標準入力を丸呑みにして溜め込んでおかないとsortもuniqもできないですよね。
MSのサイトで配列に溜め込んでいくみたいな用途に使えそうな命令を探しましたが見あたりませんでした。
なんか解決法ないでしょうか?
あとついでに聞いちゃうんですけどunixのコマンド(wcとかcatとか)をその言語で書き直すみたいな本のpowershell版ってないもんですかね。
277デフォルトの名無しさん
2024/07/30(火) 01:55:59.46ID:0EE76/Sc Out-String -Stream
278デフォルトの名無しさん
2024/07/30(火) 11:15:11.79ID:jBvTVZZ/ 無理にワンライナーやパイプラインで繋げて書かずに
スクリプトファイルを作ってそれを呼び出す方が柔軟性があって整理もできて使いやすい
スクリプトファイルを作ってそれを呼び出す方が柔軟性があって整理もできて使いやすい
279デフォルトの名無しさん
2024/07/30(火) 12:15:40.81ID:tWSTSpQm 無理にでもワンライナーやパイプラインで繋げて書くのがPowershellの醍醐味
280デフォルトの名無しさん
2024/07/30(火) 12:48:31.64ID:jBvTVZZ/281デフォルトの名無しさん
2024/07/30(火) 21:02:35.18ID:EaRTEGq5 [Console]::In.ReadToEnd() -replace '\r?\n$' -split '\r?\n'
その外部コマンドによる処理もPowerShell内でやればいい気がする
その外部コマンドによる処理もPowerShell内でやればいい気がする
282281
2024/08/01(木) 18:57:02.91ID:nKkP9XuY そういえばと思って試したら$inputでいけたわ。なんで忘れてたんだろ
283デフォルトの名無しさん
2024/08/02(金) 09:11:09.42ID:gKkfhLC1 >>276
Ruby で作ってみた
input_str = "5\n11\n33\n9\n0\n9\n11\n"
# 末尾の改行を削除してから、数値型に変換する。
# 重複を排除し、ソートする
input_ary = input_str.each_line.lazy.map do |line|
line.chomp!
line.to_i
end.uniq.force.sort
p input_ary
#=> [0, 5, 9, 11, 33]
Ruby で作ってみた
input_str = "5\n11\n33\n9\n0\n9\n11\n"
# 末尾の改行を削除してから、数値型に変換する。
# 重複を排除し、ソートする
input_ary = input_str.each_line.lazy.map do |line|
line.chomp!
line.to_i
end.uniq.force.sort
p input_ary
#=> [0, 5, 9, 11, 33]
284デフォルトの名無しさん
2024/08/02(金) 21:54:58.24ID:l/+AFQUJ Rubyの人来るの遅いぞもう飽きたのか?ww
285デフォルトの名無しさん
2024/08/02(金) 21:57:08.30ID:4wv1Q78q 過疎過疎5ちゃんなんかよりツイッタランドで凸でもすれば
286デフォルトの名無しさん
2024/09/27(金) 16:52:34.25ID:Qq+DEfW6 新しい Windows11マシンに pwshをインストールして
以前から使ってるファイルを そのままコピーしたら…何故だか起動時設定を読み込んでくれない
…と思って 調べたら
$PROFILE が
以前からのPCでは
C:\Users\(私のユーザー名)\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
に対して、新しいのでは
C:\Users\(私のユーザー名)\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
profileを置くディレクトリが違ってたということ.
pwshのバージョンは どちらも最新(同じ)なのに
…なのですが、特に どちらかで $PROFILEを設定するようなことは していない.
環境変数なども特に設定していないし
Program Files/7 直下には profile的なものは 置いていない
…でもどこかで指定しているのを自分で忘れたんだろうか?
複数マシンを管理するにあたって 面倒なので…とりあえず原因になりうるものを知りたいのです
以前から使ってるファイルを そのままコピーしたら…何故だか起動時設定を読み込んでくれない
…と思って 調べたら
$PROFILE が
以前からのPCでは
C:\Users\(私のユーザー名)\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
に対して、新しいのでは
C:\Users\(私のユーザー名)\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
profileを置くディレクトリが違ってたということ.
pwshのバージョンは どちらも最新(同じ)なのに
…なのですが、特に どちらかで $PROFILEを設定するようなことは していない.
環境変数なども特に設定していないし
Program Files/7 直下には profile的なものは 置いていない
…でもどこかで指定しているのを自分で忘れたんだろうか?
複数マシンを管理するにあたって 面倒なので…とりあえず原因になりうるものを知りたいのです
287デフォルトの名無しさん
2024/09/27(金) 18:13:57.62ID:J4fT6PqJ >286
最新のWindowsにも入ってる「古いpowershell」が原因っぽい. 新しいのを入れても残ってるので そういうことはある
最新のWindowsにも入ってる「古いpowershell」が原因っぽい. 新しいのを入れても残ってるので そういうことはある
288デフォルトの名無しさん
2024/09/27(金) 18:54:54.18ID:dRTmSCrE >>286
デフォルトの$profileのパス設定が異なるマシンがあってその原因が知りたい、ってことなのかな?
ちなみに、新しいマシン側の$profileは5.x系(いわゆるWindows PowerShell)のデフォルトパスと一致してる
デフォルトの$profileのパス設定が異なるマシンがあってその原因が知りたい、ってことなのかな?
ちなみに、新しいマシン側の$profileは5.x系(いわゆるWindows PowerShell)のデフォルトパスと一致してる
289デフォルトの名無しさん
2024/09/28(土) 00:24:19.73ID:xELx2i6V ExecutionPolicyがRestrictedのままでProfileがロードされないとか?
290デフォルトの名無しさん
2024/09/30(月) 10:14:56.15ID:OEXqADpi 286です すいません、自分の混乱の原因がわかりました。
新しいWindows11のマシンにも5.x系は入っていて、7.xのpwshをインストールしてもそれは残る.
そして、私は タスクバーに「ピン留め」して起動するのですが、pwshを起動した状態でピン留めしても いったん終了させてからアイコンをつつくと 5.x系が起動してしまう…というところに 気がついていなかったというわけです. ピン留めしたのは たしかに7系だったのに. なんだか納得いかない感じ
新しいWindows11のマシンにも5.x系は入っていて、7.xのpwshをインストールしてもそれは残る.
そして、私は タスクバーに「ピン留め」して起動するのですが、pwshを起動した状態でピン留めしても いったん終了させてからアイコンをつつくと 5.x系が起動してしまう…というところに 気がついていなかったというわけです. ピン留めしたのは たしかに7系だったのに. なんだか納得いかない感じ
291デフォルトの名無しさん
2024/09/30(月) 10:46:54.62ID:OEXqADpi ピン留めされるのは「ターミナル」であって、その中で何を起動するのかは 右クリックで選択できるようになっており、そのデフォルトが5.x系であるように見えます。もちろん以上のことがわかっていれば ここから7.xを選んで起動するのも簡単ではあるのですが…これはカスタマイズできるんだろうか
292デフォルトの名無しさん
2024/09/30(月) 13:04:09.12ID:AYohfY5N ターミナルのデフォルトはターミナルの設定画面で選べるよ
既定のプロファイルってやつ
既定のプロファイルってやつ
293デフォルトの名無しさん
2024/09/30(月) 17:54:24.00ID:OEXqADpi 292← できました!ありがとうございます
…というか、これまで(Windows10)は「ターミナル」じゃなかったということを今日 知りました(笑)
…というか、これまで(Windows10)は「ターミナル」じゃなかったということを今日 知りました(笑)
294デフォルトの名無しさん
2024/10/01(火) 06:43:45.64ID:/Tad9Lz2 コマンドプロンプトで、where powershell
と入力すれば、powershell.exe の絶対パスが分かる。
だから、絶対パスを書けば、exe を指定できる
C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
ここに、2つ以上表示されたら、上の方が優先して実行される
と入力すれば、powershell.exe の絶対パスが分かる。
だから、絶対パスを書けば、exe を指定できる
C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
ここに、2つ以上表示されたら、上の方が優先して実行される
295デフォルトの名無しさん
2024/10/01(火) 08:34:51.39ID:CEO/MZ1M ワイ氏、whereというコマンドがあることをパソコン歴20年にして初めて知る
296デフォルトの名無しさん
2024/10/01(火) 08:53:10.90ID:lHW1RCWi Powershell v5はpowershell.exe、v7はpwsh.exeなのでこれらの混在環境でパスの優先順位が問題になることは基本ない
むしろコマンド名を混同したままでは取り違えが起こりそうなので一応
むしろコマンド名を混同したままでは取り違えが起こりそうなので一応
297デフォルトの名無しさん
2024/10/01(火) 21:40:49.64ID:+PXXCXjN 20年前のWindowsにはまだwhereコマンドは標準搭載されてなかったから知らなくても仕方ない
一応リソースキットやサポートツールには入ってたけど
一応リソースキットやサポートツールには入ってたけど
298デフォルトの名無しさん
2024/10/02(水) 21:22:59.58ID:PTqKnWGQ 20年ぐらい前から個人でPathが通ってるところに ls.bat や which.bat を作って同等のことをやってた
Unix(当時はまだUnixは普通に使われていた)やLinux も普通に使ってるとつい ls って入力していらっとしてしまうから必須だった
Unix(当時はまだUnixは普通に使われていた)やLinux も普通に使ってるとつい ls って入力していらっとしてしまうから必須だった
299デフォルトの名無しさん
2024/10/14(月) 11:07:36.62ID:iqlRL8W8 >>298
UNX・LinuxのlsコマンドだってシェルやOS依存だぜ?
UNX・LinuxのlsコマンドだってシェルやOS依存だぜ?
300デフォルトの名無しさん
2024/10/14(月) 11:10:46.06ID:iqlRL8W8 Windowsの基本知識がないのにPowerShellを使うというのも何がなんだかわからないやつだ
301デフォルトの名無しさん
2024/10/14(月) 21:22:43.79ID:6g0FV4Kx >>299
UNIXでlsが使えない環境があるの?
UNIXでlsが使えない環境があるの?
302デフォルトの名無しさん
2024/10/14(月) 22:47:46.01ID:Fd8j7Mhu Powershellの話をする気がないなら黙れジジイ
303デフォルトの名無しさん
2024/10/14(月) 23:07:14.44ID:rwiJ8lRR304デフォルトの名無しさん
2024/10/15(火) 06:06:09.78ID:CzVFQLgH >>303
スレチ
スレチ
305デフォルトの名無しさん
2024/10/15(火) 20:55:15.08ID:7T7mXQAC >>298
PSのcatとUnix系のcatが別物ってくらい違うのがね…。
おまけにDOSコマンドのtypeもPSとコマンドプロンプトで違う。
(PSのcat/typeはget-contentの別名)
PSだとリストを受け取るので、カンマで区切る必要がある。
cat file1, file2, file3
C#で自作したコマンドとも、元からあるDOSコマンドとも違うって…。
MS謹製のIDE(VS)で自作したコマンドと連携撮れないMS謹製のシェルェ…。
PSのcatとUnix系のcatが別物ってくらい違うのがね…。
おまけにDOSコマンドのtypeもPSとコマンドプロンプトで違う。
(PSのcat/typeはget-contentの別名)
PSだとリストを受け取るので、カンマで区切る必要がある。
cat file1, file2, file3
C#で自作したコマンドとも、元からあるDOSコマンドとも違うって…。
MS謹製のIDE(VS)で自作したコマンドと連携撮れないMS謹製のシェルェ…。
306デフォルトの名無しさん
2024/10/15(火) 21:47:59.44ID:lPGbp20O エイリアスに互換性を求める人なんていたんだ
そんなの新しいコマンドを覚えやすくするための糖衣でしょ
DOSみたいなクソダサレガシー環境との互換性を尊重してたら呪縛なんてもんじゃない
シェルスクリプトって古今東西きったねえ一貫性のないもんなんだから拘っても虚しいだけよ
そんなの新しいコマンドを覚えやすくするための糖衣でしょ
DOSみたいなクソダサレガシー環境との互換性を尊重してたら呪縛なんてもんじゃない
シェルスクリプトって古今東西きったねえ一貫性のないもんなんだから拘っても虚しいだけよ
307デフォルトの名無しさん
2024/10/15(火) 23:10:10.50ID:qo7/LMKy308デフォルトの名無しさん
2024/10/16(水) 07:29:00.82ID:SZo2N9Nf >>301
コマンドの実装は違うよ
コマンドの実装は違うよ
309デフォルトの名無しさん
2024/10/16(水) 09:56:19.21ID:NaAnwllp >>305
Remove-Alias cat
function cat([Parameter(ValueFromRemainingArguments=$true)][string[]]$Path){Get-Content @PSBoundParameters}
これで文句ないだろ
Remove-Alias cat
function cat([Parameter(ValueFromRemainingArguments=$true)][string[]]$Path){Get-Content @PSBoundParameters}
これで文句ないだろ
310デフォルトの名無しさん
2024/10/17(木) 00:37:51.84ID:yqUeq3Bo PowerShellでLINQをメソッドチェーンで書く方法ってある?
静的メソッドで[Enumerable]::Select()みたいに書くと()が増えてガチャガチャしちゃうのがなぁ…
静的メソッドで[Enumerable]::Select()みたいに書くと()が増えてガチャガチャしちゃうのがなぁ…
311デフォルトの名無しさん
2024/10/17(木) 00:38:50.49ID:WrCN832N312デフォルトの名無しさん
2024/10/17(木) 00:49:20.12ID:yqUeq3Bo >>311
俺は逆に会社でWindows使う機会が多すぎてLinux(*nix)コマンド側の記憶が消えそうになってるな…
たまにLinux使うとPowershellみたいにパイプラインを文字列じゃなくてオブジェクトが通るつもりで書きそうになる
俺は逆に会社でWindows使う機会が多すぎてLinux(*nix)コマンド側の記憶が消えそうになってるな…
たまにLinux使うとPowershellみたいにパイプラインを文字列じゃなくてオブジェクトが通るつもりで書きそうになる
313デフォルトの名無しさん
2024/10/17(木) 01:09:19.82ID:YcyvXrpH314デフォルトの名無しさん
2024/10/17(木) 02:10:19.27ID:WrCN832N315デフォルトの名無しさん
2024/10/17(木) 11:09:20.30ID:wdGjJarp スクリプト書くのはbashよりpowershellの方が書きやすいし読みやすい
そしてlinuxでもpowershell使えるしで重宝してる
そしてlinuxでもpowershell使えるしで重宝してる
316デフォルトの名無しさん
2024/10/17(木) 21:13:19.55ID:ooYpCywP スペースとコンマの違い程度で発狂して上から目線でもうしばらく進化を待ちますねって面白い人だなぁ
そもそも進化してないのはUNIXシェルのほうでしょ
そもそも進化してないのはUNIXシェルのほうでしょ
317デフォルトの名無しさん
2024/10/18(金) 13:56:03.02ID:wVDH4S6Q space と , はさすがに気付くと思うが
: と ; の違いは老眼にはきつい
: と ; の違いは老眼にはきつい
318デフォルトの名無しさん
2024/10/19(土) 10:49:56.95ID:0/OluZJS :(コロン)ていう名前が美味しそうな響きなんだよなぁw
319デフォルトの名無しさん
2024/10/20(日) 10:17:27.24ID:Y993j978 コロネじゃないんだから
320デフォルトの名無しさん
2024/10/20(日) 10:22:09.68ID:/FrbdBj7 マロンかと思った
321デフォルトの名無しさん
2024/10/20(日) 13:53:57.93ID:hxgHNqIu LinuxとかDOSコマンドを、デフォルトのエイリアスでPowerShellコマンドレットに結びつけておくってのは悪手だよなー
他環境利用者の移行配慮ってなら、例えば「cat」を「Get-Help Get-Content」を実行する関数へのエイリアスにするとか、何かやりようあったんじゃないかと思う。
PSv1、v2の出来の悪さ、様々な考慮不足がずっと足引っ張ってると思う。
他環境利用者の移行配慮ってなら、例えば「cat」を「Get-Help Get-Content」を実行する関数へのエイリアスにするとか、何かやりようあったんじゃないかと思う。
PSv1、v2の出来の悪さ、様々な考慮不足がずっと足引っ張ってると思う。
322デフォルトの名無しさん
2024/10/20(日) 18:37:33.24ID:sfhCtbKo curlとかシンプルな本物使いたいことの方が多いから邪魔なだけ
323デフォルトの名無しさん
2024/10/21(月) 01:06:16.28ID:ursFBC+1 エイリアスはハマることがあるので不評
324デフォルトの名無しさん
2024/10/21(月) 01:47:50.43ID:9ofaZL13 sh系はともかく、cmdと全く別のコマンド名覚えなおすのも慣れとはいえ面倒なのは確かだからしょうがないんじゃない
補完できても長いものは長かったし
当時からWSLがあれば別だったんだろうけど
補完できても長いものは長かったし
当時からWSLがあれば別だったんだろうけど
325デフォルトの名無しさん
2024/10/21(月) 02:22:41.82ID:fVCz7bM3 このスレを見ていれば分かるけど、自分がいまcmdを実行しているのかpowershellなのかpwshなのか分かってないユーザがかなりを占める
そんなごく普通のWindowsユーザーたちがdirやcdで適当にやったらなんか動いたとか、同じコマンドで動くらしいからオレも使ってみようかなとかいったハードルを下げる要素の重要性は無視できない
複数パラメータの区切りがスペースかカンマか?マジどうでもいいよw
Windowsの新しいシェルスクリプトなんて相反するニーズに縛られまくるからどんな仕様にしたところで数え切れない文句が飛んでくる
そんなごく普通のWindowsユーザーたちがdirやcdで適当にやったらなんか動いたとか、同じコマンドで動くらしいからオレも使ってみようかなとかいったハードルを下げる要素の重要性は無視できない
複数パラメータの区切りがスペースかカンマか?マジどうでもいいよw
Windowsの新しいシェルスクリプトなんて相反するニーズに縛られまくるからどんな仕様にしたところで数え切れない文句が飛んでくる
326デフォルトの名無しさん
2024/10/21(月) 21:43:14.36ID:iHmIY3KR327デフォルトの名無しさん
2024/10/22(火) 00:45:55.83ID:CtvGpoP8 >>326
思考が卑屈すぎるわw エイリアスの話しかしてないよ
思考が卑屈すぎるわw エイリアスの話しかしてないよ
328デフォルトの名無しさん
2024/10/22(火) 12:24:39.31ID:SSjePDmS curl など誤解を招きかねないエイリアンは害悪でしかない
% とか ? は可読性上がる気がする
% とか ? は可読性上がる気がする
329デフォルトの名無しさん
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
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:9jYPg0KZ509デフォルトの名無しさん
2025/07/17(木) 08:09:59.60ID:9jYPg0KZ510デフォルトの名無しさん
2025/07/17(木) 08:11:35.61ID:9jYPg0KZ511デフォルトの名無しさん
2025/07/17(木) 09:38:35.80ID:+XuQIino512デフォルトの名無しさん
2025/07/17(木) 12:08:51.21ID:uGnrWKuf powershellは小数点以下のバージョンアップでも毎回互換性を壊す
破壊的変更を入れてくるから普及させる気無いんじゃね
破壊的変更を入れてくるから普及させる気無いんじゃね
513デフォルトの名無しさん
2025/07/17(木) 12:30:14.69ID:l8YWhCPU 実際、6以降は普及させる気無いと思うよ
Azure関連を中心にMS社内で使うために開発続けてるだけでしょ
Azure関連を中心にMS社内で使うために開発続けてるだけでしょ
514デフォルトの名無しさん
2025/07/17(木) 21:54:18.35ID:yTEYa8cJ PowerShellが失敗作じゃないと困る人がいるのは分かった
515デフォルトの名無しさん
2025/07/17(木) 22:59:18.52ID:o0/3IwZx PowerShell自体の出来はともかく、6以降は周辺環境がね
PowerShellは.NETがWindowsの中核として位置付けられていた頃に設計されており、
システムワイドにインストールされた.NETに安定的に依存できることが大前提なのよ
知っての通りその前提は完全に覆されてしまい、存在意義を失おうとしている
PowerShellは.NETがWindowsの中核として位置付けられていた頃に設計されており、
システムワイドにインストールされた.NETに安定的に依存できることが大前提なのよ
知っての通りその前提は完全に覆されてしまい、存在意義を失おうとしている
516デフォルトの名無しさん
2025/07/18(金) 01:15:27.61ID:T97Bau37 知っての通りどころか.net frameworkは今もWindowsと一蓮托生だけど
.netと.net frameworkを分けて書かないと意味不明な文章が出来上がる
.netと.net frameworkを分けて書かないと意味不明な文章が出来上がる
517デフォルトの名無しさん
2025/07/18(金) 22:16:02.55ID:avd6O0J8 Windows以外で.Netで作られたアプリやサービスなんてあんの?
518デフォルトの名無しさん
2025/07/18(金) 22:17:51.22ID:r2egjf+1 pythonで良くない?駄目?
519デフォルトの名無しさん
2025/07/19(土) 02:03:44.93ID:QndlLNYI pwsh.exe
520デフォルトの名無しさん
2025/07/19(土) 08:55:57.75ID:jBcCcJ6x >>518
Pythonがそこまで言い言語だとは思わないので
Pythonがそこまで言い言語だとは思わないので
521デフォルトの名無しさん
2025/07/19(土) 10:16:02.54ID:F2LZk1nd >>517
ゲームエンジンのUnity
ゲームエンジンのUnity
522デフォルトの名無しさん
2025/07/19(土) 19:43:58.62ID:PVxrNHN1 >>517
GitHub Actions
GitHub Actions
523デフォルトの名無しさん
2025/07/20(日) 10:33:30.33ID:8UONs9WI >>515は、元はシステム全体でひとつの.NETフレームワークを使ってPowerShellをCOMに対するWSHポジにするつもりだった、という意味だろうけど
.NETフレームワーク自体最初から複数バージョンを共存させる設計になってるので、果たしてそのような構想はあったのだろうか
.NETフレームワーク自体最初から複数バージョンを共存させる設計になってるので、果たしてそのような構想はあったのだろうか
524デフォルトの名無しさん
2025/07/20(日) 11:36:14.91ID:nDfpIeCg >>523
5以前のPowerShellはサイドバイサイドに対応していないから、使用される.NET Frameworkは結局一つだけ
5以前のPowerShellはサイドバイサイドに対応していないから、使用される.NET Frameworkは結局一つだけ
525デフォルトの名無しさん
2025/07/24(木) 02:44:32.63ID:uw32EQ1Q526デフォルトの名無しさん
2025/07/24(木) 18:49:30.39ID:bvlLnJ99 コマンドレットを作ったが中途半端で.NET Frameworkを呼び出せばいいということにしたが、これではPowerShellを作った意味がないとしてPowerShellを拡張していまの混乱状態に至る。
527デフォルトの名無しさん
2025/07/24(木) 20:21:14.09ID:3SMUfFNx PowerShell独自の構文や機能はいらん .Net実行できる部分だけでいい
C#Scriptがほしい
C#Scriptがほしい
528デフォルトの名無しさん
2025/07/24(木) 21:28:50.84ID:Ii6lkj2E C#コードを単一ファイルでスクリプトのように書ける言語機能が「.NET 10」でテスト中
従来のプロジェクトベースへの変換も簡単
https://forest.watch.impress.co.jp/docs/news/2018094.html
従来のプロジェクトベースへの変換も簡単
https://forest.watch.impress.co.jp/docs/news/2018094.html
529デフォルトの名無しさん
2025/07/24(木) 22:28:33.22ID:qxgm8L3v powershellのAdd-Typeを使えばC#を実行出来るらしいが
530デフォルトの名無しさん
2025/07/26(土) 11:52:54.27ID:VPjMt5X4 Add-TypeのC#は、Windows API使いたい時、局所的に処理速度を上げたい時によく使う。
531デフォルトの名無しさん
2025/07/26(土) 19:50:25.05ID:kldGNMpl ぜんぜん分からないんですけどAdd-TypeでC#を書くのって
インテリセンスが効かなそうで、ちょっとしんどそうなんですけど
そうでもないんですか
インテリセンスが効かなそうで、ちょっとしんどそうなんですけど
そうでもないんですか
532デフォルトの名無しさん
2025/07/26(土) 20:51:36.43ID:eh3q3MEs PowerShellで使う程度のものなら余裕でバイブコーディングでいけるからどうでもいい
533デフォルトの名無しさん
2025/07/26(土) 22:09:50.67ID:kldGNMpl なるほど
534デフォルトの名無しさん
2025/07/27(日) 01:39:44.77ID:sXx2dSLi もっとc#に近い記法にしてほしかったのになんでそうならなかったんだろう
配列の宣言とかセミコロンがないとか
配列の宣言とかセミコロンがないとか
535デフォルトの名無しさん
2025/07/27(日) 05:42:54.86ID:L6p6i+Me クラスはほぼC#だけど
536デフォルトの名無しさん
2025/07/27(日) 08:16:33.47ID:/sb9ajQY PowerShellは名前の通りシェルだからな
単なるスクリプト言語が欲しいだけならWSH.NET的なものを作ってる
単なるスクリプト言語が欲しいだけならWSH.NET的なものを作ってる
537デフォルトの名無しさん
2025/07/27(日) 09:15:11.85ID:zaK1ilRt 今のMSだったらRustあたりで作ったWindows CLIで一通りの管理タスクを一貫したコマンド体系でやれるようにした上で、
スクリプトはbashでもPythonでも何でも好きなの使えみたいにしてるだろうね
今となってはPowerShellはバルマー時代の古き悪きMSを象徴する遺産の一つ
スクリプトはbashでもPythonでも何でも好きなの使えみたいにしてるだろうね
今となってはPowerShellはバルマー時代の古き悪きMSを象徴する遺産の一つ
538デフォルトの名無しさん
2025/07/28(月) 09:16:16.29ID:BMbzFeOA 最初はbashの採用を検討してたけどWindowsには向かないって分かったからわざわざPowerShellを作ったんだが
https://x.com/jsnover/status/976904848162435072
https://x.com/jsnover/status/976904848162435072
539デフォルトの名無しさん
2025/07/28(月) 10:39:54.16ID:dloezDzP >>538
その理由はファイル指向のUNIXと違ってWindowsはAPI指向だからとJeffreyは述べてるんだけど、
一方でUNIX的なシェルで扱うのに適したCLIコマンドを整備するという方向もありえて、
実際MSがPowerShellにベットする以前はWMICのようにラッパーとしてCLIコマンドを整備していく方針だったんだよ
ただ、その方向で進む限りWindows上でのコマンドラインシェルは特殊なラッパーに依存することになり、決してWindowsスタックにおける主流になり得ない
そこで当時Windowsの新たな中核技術として喧伝されていた.NETプラットフォームに乗ることで、
MS社内にサービスしつつ一気にWindowsでのコマンドラインシェルを主流に押し上げようとしたわけだね
で現状はというと、肝心の.NETが主流から外されちゃって、PowerShellは一般のアプリの一つになっちゃいました(いまここ
その理由はファイル指向のUNIXと違ってWindowsはAPI指向だからとJeffreyは述べてるんだけど、
一方でUNIX的なシェルで扱うのに適したCLIコマンドを整備するという方向もありえて、
実際MSがPowerShellにベットする以前はWMICのようにラッパーとしてCLIコマンドを整備していく方針だったんだよ
ただ、その方向で進む限りWindows上でのコマンドラインシェルは特殊なラッパーに依存することになり、決してWindowsスタックにおける主流になり得ない
そこで当時Windowsの新たな中核技術として喧伝されていた.NETプラットフォームに乗ることで、
MS社内にサービスしつつ一気にWindowsでのコマンドラインシェルを主流に押し上げようとしたわけだね
で現状はというと、肝心の.NETが主流から外されちゃって、PowerShellは一般のアプリの一つになっちゃいました(いまここ
540デフォルトの名無しさん
2025/07/28(月) 11:02:51.49ID:dloezDzP あと、現状について周辺の情勢も踏まえると、CLIを使ってAPI指向のプラットフォームを管理するスタイルはPowerShell 初期開発の当時と比較して遥かに市民権を得ているといえる
それはひとえにクラウドによるもので、現在ではクラウドプラットフォームのAPIをCLIを使って操作することは普通に行われており、しかもその多くはJeffreyの懸念に反して旧来のUNIXシェルを使用している
この現状を踏まえて今Windowsのコマンドライン管理を再考するとすれば、PowerShellのようなものが生まれる可能性は低いといえる
それはひとえにクラウドによるもので、現在ではクラウドプラットフォームのAPIをCLIを使って操作することは普通に行われており、しかもその多くはJeffreyの懸念に反して旧来のUNIXシェルを使用している
この現状を踏まえて今Windowsのコマンドライン管理を再考するとすれば、PowerShellのようなものが生まれる可能性は低いといえる
541デフォルトの名無しさん
2025/07/28(月) 17:29:52.01ID:CQsGHQXP Windowsは(少なくともOLE〜.NET全盛期の頃のWindowsは)APIもオブジェクト指向する方向性だったので
それを操作するスクリプト言語もCOMオブジェクトや.NETオブジェクトを長期保持できなければいけない
単発で終了するCLIコマンドを揃えてもだめだろう
それを操作するスクリプト言語もCOMオブジェクトや.NETオブジェクトを長期保持できなければいけない
単発で終了するCLIコマンドを揃えてもだめだろう
542デフォルトの名無しさん
2025/07/28(月) 19:14:24.95ID:7Fge/X80 おっさんエンジニアが全然使わないから無理だわ
543デフォルトの名無しさん
2025/07/28(月) 19:32:06.85ID:K95kqw+R >>528
それだとVBScriptの二の舞
それだとVBScriptの二の舞
544デフォルトの名無しさん
2025/07/28(月) 19:33:30.80ID:K95kqw+R545デフォルトの名無しさん
2025/07/28(月) 19:34:24.66ID:K95kqw+R >>538
それはプライドが許さなかっただけ
それはプライドが許さなかっただけ
546デフォルトの名無しさん
2025/07/28(月) 19:35:04.74ID:K95kqw+R >>538
グーグルおじさんじゃねえか
グーグルおじさんじゃねえか
547デフォルトの名無しさん
2025/07/28(月) 19:37:29.63ID:K95kqw+R >>541
WindowsはWindows SDK開発がC言語でもC++でもいいというところから始まったせいで、形だけオブジェクト指向のC++が基本になってしまった。
WindowsはWindows SDK開発がC言語でもC++でもいいというところから始まったせいで、形だけオブジェクト指向のC++が基本になってしまった。
548デフォルトの名無しさん
2025/07/28(月) 20:23:32.91ID:0zFGFjxD 後発だからいろんな言語を参考にできるという強みがある一方で
Windowsのシェルスクリプトという世界最大級のしがらみのもと
あらゆるステークホルダーが全方位から好き勝手なことを言い
無数の歴史的経緯を踏まえつつデザインしないといけない無理ゲーなプロジェクト
変なクセが多い言語だけど苦労が偲ばれるからあまり文句を言う気にはなれない
Windowsのシェルスクリプトという世界最大級のしがらみのもと
あらゆるステークホルダーが全方位から好き勝手なことを言い
無数の歴史的経緯を踏まえつつデザインしないといけない無理ゲーなプロジェクト
変なクセが多い言語だけど苦労が偲ばれるからあまり文句を言う気にはなれない
549デフォルトの名無しさん
2025/07/28(月) 20:35:24.51ID:n+5V5/p3 CとB-Shellが混じったような半端な記法
550デフォルトの名無しさん
2025/07/28(月) 21:11:45.32ID:s3rviGhL 今なら普通にTypeScriptになるだろうね
551デフォルトの名無しさん
2025/07/28(月) 21:57:11.64ID:pEErs1kG bat埋込み技法とAdd-Typeでcsスクリプト化したった
スクリプトのくせに起動が遅いのが不満
スクリプトのくせに起動が遅いのが不満
552デフォルトの名無しさん
2025/07/29(火) 08:49:01.81ID:zbO0uIbs パイプにバイナリが流せるようになったPowerShell 7.4 からは使える子になった
553デフォルトの名無しさん
2025/07/29(火) 12:01:37.45ID:0YhddUmf VBSもなんやかんや生き続けると思ったけどOSとしてサポート終了となれば話しは別やな
554デフォルトの名無しさん
2025/07/29(火) 14:11:31.33ID:/sYzcWbW555デフォルトの名無しさん
2025/07/29(火) 17:07:26.34ID:HrDR44lc コマンド間にControl-Streamかまして調整する
556デフォルトの名無しさん
2025/07/29(火) 21:53:14.21ID:J2wyXy1Z >>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)
.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デフォルトの名無しさん
2025/07/31(木) 08:21:16.74ID:y/q8ihDv Windows PowerShell って
python3 -c 'print("hoge")'
とか
curl なんちゃら | tar かんちゃら
すらできないのに cmd.ехе にとってかわろうなんて無理筋にもほどがある
この辺だけでも PowerShell から持ってくればいいのに
python3 -c 'print("hoge")'
とか
curl なんちゃら | tar かんちゃら
すらできないのに cmd.ехе にとってかわろうなんて無理筋にもほどがある
この辺だけでも PowerShell から持ってくればいいのに
558デフォルトの名無しさん
2025/07/31(木) 11:23:28.67ID:+PK2lVhx もう諦めてWSLでbash使えばいい
559デフォルトの名無しさん
2025/07/31(木) 13:18:34.83ID:cbQ+pPIq >>557
互換性が無いのにデフォルトのAliasでcurlがInvoke-Webrequestになってるの酷い
互換性が無いのにデフォルトのAliasでcurlがInvoke-Webrequestになってるの酷い
560デフォルトの名無しさん
2025/07/31(木) 22:32:58.67ID:H5u1AeiS bashでは駄目だからわざわざPowerShellを作ったのにbash使えばいいとか意味不明すぎ
561デフォルトの名無しさん
2025/08/01(金) 00:05:22.62ID:2FKaw99x curlがエイリアスって件だけは俺も擁護できない
あの罠は誰もが一度は引っかかる
あの罠は誰もが一度は引っかかる
562デフォルトの名無しさん
2025/08/01(金) 07:56:40.22ID:z02NetRk >>560
PowerShellはWindowsの管理のために作られたもので、その用途においてbashは不向きだといっているのであり、
君が示したようなWindows管理と無関係なケースでbashより推奨されているわけではない
加えて現在ではWSLという完全なUNIX環境がWindows上でシームレスに使用できるのだから、もはやPowerShellの役割は上記の通り極めて限定的になっている
一点だけ汎用シェルとしてのPowerShellの特徴として構造化データに強いというのがあるが、それだけならNushellとかの方が遥かに使いやすいよ
PowerShellはWindowsの管理のために作られたもので、その用途においてbashは不向きだといっているのであり、
君が示したようなWindows管理と無関係なケースでbashより推奨されているわけではない
加えて現在ではWSLという完全なUNIX環境がWindows上でシームレスに使用できるのだから、もはやPowerShellの役割は上記の通り極めて限定的になっている
一点だけ汎用シェルとしてのPowerShellの特徴として構造化データに強いというのがあるが、それだけならNushellとかの方が遥かに使いやすいよ
563デフォルトの名無しさん
2025/08/01(金) 08:52:42.59ID:TWGrPtc3564デフォルトの名無しさん
2025/08/01(金) 09:31:11.55ID:ciUSYvyR ・一部の人は「PowerShell」と「Windows PowerShell」を分けて考えている
バックポートしろって話ならできるのでは
公式がやるかどうかはともかく
バックポートしろって話ならできるのでは
公式がやるかどうかはともかく
565デフォルトの名無しさん
2025/08/03(日) 20:29:44.07ID:kVKBj15M C#と同じでWindowsだけのものはバージョンが古いものだけ
単にPowerShellと呼んでいるのは、WindowsとLinuxとMacOSで動く製品だからだ。
単にPowerShellと呼んでいるのは、WindowsとLinuxとMacOSで動く製品だからだ。
566デフォルトの名無しさん
2025/08/13(水) 10:09:50.25ID:lyLUlfa6567デフォルトの名無しさん
2025/08/13(水) 14:33:52.76ID:BMYIv7Jv 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.
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デフォルトの名無しさん
2025/08/13(水) 16:04:08.55ID:VzGNLP/v .NET 10では「dotnet run」で.csファイルをそのままスクリプトとして実行できるようになるっぽい(要.NET SDK)
実行時にビルトされる点はこれまでと変化ないけど、ビルド成果物が一時フォルダに吐かれる?のか、.csファイルの場所が散らかることがなくなってスクリプト的に扱えるように
実行時のオーバーヘッドは...PowerShellと大差ない模様
実行時にビルトされる点はこれまでと変化ないけど、ビルド成果物が一時フォルダに吐かれる?のか、.csファイルの場所が散らかることがなくなってスクリプト的に扱えるように
実行時のオーバーヘッドは...PowerShellと大差ない模様
569デフォルトの名無しさん
2025/08/13(水) 18:30:43.34ID:vtzVqfUP Pythonを検索してもファイルが見つかりませんとなります。
誰かどうすればいいか分かりますか?
誰かどうすればいいか分かりますか?
570デフォルトの名無しさん
2025/08/14(木) 00:36:43.33ID:9QEKXUa7 日本語でおk
571デフォルトの名無しさん
2025/08/14(木) 07:06:36.79ID:jDrEWEUc 7をインストールしたけどエラー吐く時に黒背景に赤文字ってどうにかならん?くっそ見にくい
572デフォルトの名無しさん
2025/08/14(木) 09:27:10.03ID:Do/BXbHP じゃあそれ夏休みの宿題な
573デフォルトの名無しさん
2025/08/14(木) 09:54:56.24ID:vhNMb463 $PSStyle.Formatting.Errorを変更する
about_ANSI_Terminals
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_ansi_terminals
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.68ID:eBuFE50k 厨二シェル
575デフォルトの名無しさん
2025/08/15(金) 21:38:08.69ID:QOcfL0u7 UNIXシェルが?
576デフォルトの名無しさん
2025/08/17(日) 04:08:48.96ID:TBSqwQ7N powershellってコマンドがいちいち長ったらしくて打つのダルいんだよな
shellみたいに2文字3文字の略称で何の意味かわからんコマンドも学習するのに困るけど
shellみたいに2文字3文字の略称で何の意味かわからんコマンドも学習するのに困るけど
577デフォルトの名無しさん
2025/08/17(日) 05:22:57.26ID:X86RYV3a それな
578デフォルトの名無しさん
2025/08/17(日) 12:37:42.26ID:B434g2i0 PowerShellのAdd-Typeでc#が書けるとよろこんだもののpowershell.exeの起動がクソ遅くcscでコンパイルする方が速い
なにやってんのコレ
なにやってんのコレ
579デフォルトの名無しさん
2025/08/17(日) 13:12:08.30ID:jIhEo17k エイリアス使え
580デフォルトの名無しさん
2025/08/17(日) 13:29:34.64ID:dA3TcCkL ps1ファイルって暗号化とまでは行かなくとも難読化くらいはできねーの?
581デフォルトの名無しさん
2025/08/17(日) 15:36:02.04ID:DpVlhT9Y 正規表現の検索パターン内で変数配列を使いたいが角括弧のせいで動かない
エスケープの方法を教えてほしい
行末に一致させたいとして
-Pattern "$aryr[5]$" #ng
-Pattern "$arry`[5`]$" #ng
-Pattern "$aryr\[5\]$" #ng
-Pattern ($arry[5] + "$") #ok 美しくない
エスケープの方法を教えてほしい
行末に一致させたいとして
-Pattern "$aryr[5]$" #ng
-Pattern "$arry`[5`]$" #ng
-Pattern "$aryr\[5\]$" #ng
-Pattern ($arry[5] + "$") #ok 美しくない
582デフォルトの名無しさん
2025/08/17(日) 16:37:39.55ID:CNACV2eM コレじゃダメなんだっけ?
"$($arry[5])$"
"$($arry[5])$"
583デフォルトの名無しさん
2025/08/17(日) 20:58:20.47ID:DpVlhT9Y584デフォルトの名無しさん
2025/08/17(日) 21:28:17.56ID:jRtquIfz585デフォルトの名無しさん
2025/08/18(月) 19:07:51.36ID:zdocw/KA これが好み
'{0}$' -f $array[5]
'{0}$' -f $array[5]
586デフォルトの名無しさん
2025/08/18(月) 20:04:20.41ID:Pa7e5Gs8 キモい記法だな
587デフォルトの名無しさん
2025/08/18(月) 21:29:02.39ID:Ydgj3IKT -gt -ge -lt -leが覚えられないんだが
なんでこんなクソ記法にしたん?
なんでこんなクソ記法にしたん?
588デフォルトの名無しさん
2025/08/18(月) 21:38:20.35ID:FxxqvCUB UNIXのshの記法だよ
どうせ非互換なんだからそんなとこだけ合わせんでもいいのにな
ちな実際に使われてるbashやzshでは拡張構文があるのでそんな書き方はしなくていい
どうせ非互換なんだからそんなとこだけ合わせんでもいいのにな
ちな実際に使われてるbashやzshでは拡張構文があるのでそんな書き方はしなくていい
589デフォルトの名無しさん
2025/08/18(月) 21:49:57.69ID:1syDG9J2 gt → greater than
ge → greater than equal
lt → less than
le → less than equal
覚えられないことは無いだろ
ge → greater than equal
lt → less than
le → less than equal
覚えられないことは無いだろ
590デフォルトの名無しさん
2025/08/18(月) 22:27:56.29ID:KSZiSj98 shは条件判定が外部コマンド( /usr/bin/[ )になってるからリダイレクトで使う不等号を使えなかったんかな
591デフォルトの名無しさん
2025/08/18(月) 23:44:31.03ID:a/rWUBXI リダイレクト記号の > が大なりと判定されたらされたでキレる奴はたくさんいるし、文脈で判断すると難しいと不満を漏らす
gt や lt は天下のHTMLやXMLでもお馴染みだし ge も含めて ALGOL や Fortrun の時代からあるらしいから由緒ある演算子サマだ
gt や lt は天下のHTMLやXMLでもお馴染みだし ge も含めて ALGOL や Fortrun の時代からあるらしいから由緒ある演算子サマだ
592デフォルトの名無しさん
2025/08/19(火) 00:24:31.91ID:Idn/vjK6 コマンドのワンライナーでも動かないとダメだしパイプやリダイレクトとも共存しないとダメってなると文法自体が分かりづらくなるのはやむなし
c#のスクリプト版みたいに思われてるけど本来そういうものじゃない
c#のスクリプト版みたいに思われてるけど本来そういうものじゃない
593デフォルトの名無しさん
2025/08/19(火) 19:46:40.89ID:0LMCTzzK >>589
やめてやれよ!
やめてやれよ!
594デフォルトの名無しさん
2025/08/20(水) 07:51:25.99ID:M8TEndqZ 結論 コマンドプロンプトでいい
595デフォルトの名無しさん
2025/08/20(水) 09:46:38.94ID:fQ+KVP3R コード書くにはメモ帳で十分みたいなこと言うね
596デフォルトの名無しさん
2025/08/20(水) 11:21:33.79ID:wDjB3YqX 老人は新しいことを覚えるよりも古い道具のハック含めていろいろ知ってるからね
597デフォルトの名無しさん
2025/08/20(水) 11:56:14.66ID:Xf/p3Qkz こういう立ち止まってくれる人達がいるから相対的に新しい技術にキャッチアップする若者がひきたつんだよな
感謝です
感謝です
598デフォルトの名無しさん
2025/08/20(水) 13:09:09.63ID:eox7iA6W 立ち止まって深掘りするのもいいけど、立ち止まるなら立ち止まる土地を間違えないことが大事
10年前からWindows Serverの設定職人として立ち止まった人とAWS職人として立ち止まった人なら、同じ苦労をしても圧倒的に後者の方が現在の価値は高いわけで
10年前からWindows Serverの設定職人として立ち止まった人とAWS職人として立ち止まった人なら、同じ苦労をしても圧倒的に後者の方が現在の価値は高いわけで
599デフォルトの名無しさん
2025/09/05(金) 00:20:11.88ID:MID+NCuc 同じプロジェクトで未だにスクリプトをbatで頑張るおじさんがいてキツイ
600デフォルトの名無しさん
2025/09/05(金) 08:27:44.85ID:ci6Mzi4c batなんかどうせ大して複雑なことできないんだから実害はほとんどない
むしろPowerShellで何でもやろうとするおじさんのほうが潜在的には問題になりやすい
というかbatおじさんが現役で活躍できるような職場でPowerShellやってんならお前も側から見りゃ大差ないから嫌ならさっさと転職しろ
むしろPowerShellで何でもやろうとするおじさんのほうが潜在的には問題になりやすい
というかbatおじさんが現役で活躍できるような職場でPowerShellやってんならお前も側から見りゃ大差ないから嫌ならさっさと転職しろ
601デフォルトの名無しさん
2025/09/05(金) 12:35:07.92ID:Gl7iryF4 まあbatというかcmdのほうがド安定だよな
PowerShellはバージョンアップで動作が変わったりするので書いた本人がいなくなったあと困るんじゃないか
PowerShellはバージョンアップで動作が変わったりするので書いた本人がいなくなったあと困るんじゃないか
602デフォルトの名無しさん
2025/09/05(金) 13:24:51.33ID:/aSZPCtW AIがあるから困らない
603デフォルトの名無しさん
2025/09/05(金) 15:17:33.01ID:D2PHAyAe batおじさんワラワラ湧いてて草
604デフォルトの名無しさん
2025/09/05(金) 22:20:18.61ID:Yt4Zwm1N batの弱点は特殊文字のエスケープ処理がバラバラだったりそもそもエスケープできなかったり
605デフォルトの名無しさん
2025/09/05(金) 22:29:13.57ID:OEkVQg6g >>604
昭和50年代のパソコン向けに作ったものに文句を言うな!
昭和50年代のパソコン向けに作ったものに文句を言うな!
606デフォルトの名無しさん
2025/09/05(金) 23:27:31.40ID:5dsIw3pX cmdの方が優れてるよ
607デフォルトの名無しさん
2025/09/06(土) 04:14:29.73ID:ynW6i2Wh batが現役なの?
ヤバw
ヤバw
608デフォルトの名無しさん
2025/09/06(土) 08:28:06.76ID:aRqXD+gf .batと.cmdの違いがいまだに分からん
わざわざ新しい拡張子を作るなら分かりやすい構文でも導入すればよかったのに
このスレで言う事じゃないけど
わざわざ新しい拡張子を作るなら分かりやすい構文でも導入すればよかったのに
このスレで言う事じゃないけど
609デフォルトの名無しさん
2025/09/06(土) 08:32:48.89ID:4EdO9DqN >>470
今更だが、環境変数PSModulePathの並び順で旧ver用を下にしたら直った
今更だが、環境変数PSModulePathの並び順で旧ver用を下にしたら直った
610デフォルトの名無しさん
2025/09/06(土) 13:36:28.33ID:5qDTqjrD >>594で結論出てるじゃん
611デフォルトの名無しさん
2025/09/07(日) 09:38:44.50ID:lhUzQ3fL 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")
$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デフォルトの名無しさん
2025/09/07(日) 21:42:00.61ID:QSfkLFkm -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 (ゼロ) の場合、すべてのリダイレクトが禁止されます。
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.10ID:4eE1ZwVF V7.4.12とV7.5.3が出ました。
614デフォルトの名無しさん
2025/09/12(金) 08:06:46.54ID:tXxo6/Yo マジカルちんぽの持ち主になりたい
615デフォルトの名無しさん
2025/09/13(土) 09:54:11.18ID:TD1k3ZCB 俺も!
616デフォルトの名無しさん
2025/10/03(金) 00:50:10.33ID:cCuQP3el transcriptってログ取るのにめちゃくちゃ便利ですね
今までログ出力ゴリゴリ書いちゃってたけどもっと早く知りたかった
今までログ出力ゴリゴリ書いちゃってたけどもっと早く知りたかった
617デフォルトの名無しさん
2025/10/03(金) 09:18:17.43ID:alJoLTal bashだったらscriptコマンドで苦労しなかったのに
618デフォルトの名無しさん
2025/10/04(土) 15:26:39.76ID:lUW04DD1 そう思う人が何でこのスレに来るの?
一人で勝手にbashでオナニーしてればいいだけでしょ
一人で勝手にbashでオナニーしてればいいだけでしょ
619デフォルトの名無しさん
2025/10/04(土) 21:22:40.46ID:TzWBzZl4 まぁまぁそんないじめなさんな
620デフォルトの名無しさん
2025/10/12(日) 01:42:26.66ID:DKsy7+ZR scriptとか使わんでも
たぶん標準、だったかな?
でpsのセッションはすべて保存されてるとおもうが…
たぶん標準、だったかな?
でpsのセッションはすべて保存されてるとおもうが…
621デフォルトの名無しさん
2025/10/12(日) 01:55:12.70ID:DKsy7+ZR ごめん今$profileみたらStart-Transcriptを自動で呼ぶようにしてて、標準ではたぶんアクティベートはされてないわ
Start-Transcriptコマンドレットが>>617のいうtclのscript(b系shで代わりによく使われるヤツ)の上位互換だよ
tclのscriptやpwshのStart-Transcriptは普段から使っておくべき
ログが膨れ上がるから、無駄なタイプアウトを控える良い癖がつく、すなわち後から振り返り難くないよう、セッションのログを汚さないようにとslsやページャに頼るようになるということだ
Start-Transcriptコマンドレットが>>617のいうtclのscript(b系shで代わりによく使われるヤツ)の上位互換だよ
tclのscriptやpwshのStart-Transcriptは普段から使っておくべき
ログが膨れ上がるから、無駄なタイプアウトを控える良い癖がつく、すなわち後から振り返り難くないよう、セッションのログを汚さないようにとslsやページャに頼るようになるということだ
622デフォルトの名無しさん
2025/10/12(日) 02:00:35.65ID:DKsy7+ZR transcriptしてれば、脳死gci連打したりと恥ずかしい思いを避けるように、毎回熟慮したスマートなコマンドを構築しようとスキルアップへ向かえるわけですよ
オススメ
オススメ
623デフォルトの名無しさん
2025/10/14(火) 10:05:34.66ID:wYGHc35C 困ってます。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 の文字列で、ショートカットのリンクに文字列入れてやる方法ないでしょうか?
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 の文字列で、ショートカットのリンクに文字列入れてやる方法ないでしょうか?
624623
2025/10/14(火) 10:13:14.09ID:mzx6xthf [Window Title]
ショートカット エラー
[Content]
受け側に指定されたパス名 'powershell' は無効です。パスとファイル名が正しいか確認してください。
↑
エラーメッセージはこれです
でも、はじめはps1のショートカットで
リンクの文字列を追加するときは
powershell~だけで
powershellへのフルパスがなくてもok押せて、ダブルクリックで起動できてたんですよね
なにかpowershellの文字列だけで
v5やv7を自動で起動できるように設定する方法とかわからないでしょうか?
ショートカット エラー
[Content]
受け側に指定されたパス名 'powershell' は無効です。パスとファイル名が正しいか確認してください。
↑
エラーメッセージはこれです
でも、はじめはps1のショートカットで
リンクの文字列を追加するときは
powershell~だけで
powershellへのフルパスがなくてもok押せて、ダブルクリックで起動できてたんですよね
なにかpowershellの文字列だけで
v5やv7を自動で起動できるように設定する方法とかわからないでしょうか?
625デフォルトの名無しさん
2025/10/14(火) 10:46:54.11ID:kTH6cc0X powershell7を入れるとpowershell5とは違うパスにインストールされて
powershell => v5
pwsh => v7
という具合に使い分けができる
powershellが呼べないなら
そのパスにpowershell.exeが無いのかもしれない
> 受け側に指定されたパス名 'powershell' は無効です。
というエラーがそれを裏付けてると思う
まずはv5の本体があることを確認するべき
バージョンアップした感覚で
自分で「古いv5はいらないからアンインストールしちゃお」としてるかもねw
powershell => v5
pwsh => v7
という具合に使い分けができる
powershellが呼べないなら
そのパスにpowershell.exeが無いのかもしれない
> 受け側に指定されたパス名 'powershell' は無効です。
というエラーがそれを裏付けてると思う
まずはv5の本体があることを確認するべき
バージョンアップした感覚で
自分で「古いv5はいらないからアンインストールしちゃお」としてるかもねw
626デフォルトの名無しさん
2025/10/18(土) 01:00:25.12ID:ziLvdPa/ >>623
>powershellの部分が
>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
>に勝手に書き換わってた。
これは正しい動作
現在、動くショートカットが有るならば、v5は消されていない
ps1ファイルのショートカットを作成した直後ののアイコンと
プロパティに「powershell以下略」を追記したショートカットでは
アイコンが変化する。変化してるならリンクは正しい
正常動作するショートカットのリンク先をコピーしてメモ帳に張り付けて
新しく作りたいリンク先を見比べながら書いたらどう?
>powershellの部分が
>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
>に勝手に書き換わってた。
これは正しい動作
現在、動くショートカットが有るならば、v5は消されていない
ps1ファイルのショートカットを作成した直後ののアイコンと
プロパティに「powershell以下略」を追記したショートカットでは
アイコンが変化する。変化してるならリンクは正しい
正常動作するショートカットのリンク先をコピーしてメモ帳に張り付けて
新しく作りたいリンク先を見比べながら書いたらどう?
627デフォルトの名無しさん
2025/10/20(月) 16:54:33.98ID:h3FEiN7d ショートカットの文法はcmdともなんか違ってて謎が謎を呼ぶ闇
628デフォルトの名無しさん
2025/10/21(火) 05:46:20.22ID:P/yrOpCN629デフォルトの名無しさん
2025/10/21(火) 05:46:43.72ID:P/yrOpCN630デフォルトの名無しさん
2025/10/21(火) 22:17:43.72ID:5krLOdY4 ショートカットの文法ってのがコマンドラインパラメータの事を言ってるなら
別プログラムなんだからcmdと違っても普通でしょ? 何が謎なの?
別プログラムなんだからcmdと違っても普通でしょ? 何が謎なの?
631デフォルトの名無しさん
2025/10/27(月) 23:10:58.60ID:JqegERzu 自分も似たようなこと(カスタム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
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.11ID:f9BTIAf7 何もしてないけど PowerShell v7.5.4 が WindowsUpdate で降ってきた
履歴ちゃんとみたらいつまにか PowerShell って WindowsUpdate で降ってくるようになってたわ
履歴ちゃんとみたらいつまにか PowerShell って WindowsUpdate で降ってくるようになってたわ
633デフォルトの名無しさん
2025/11/02(日) 18:28:28.27ID:SCfEy8Hn バナーで更新通知見かけてもwinget updateで更新できなくてそのうちWindows Updateで更新されてる
634デフォルトの名無しさん
2025/11/02(日) 22:12:18.83ID:BJEeTNbw ターミナルでタブを移動しようとしたら消しちゃって泣きを見たのでタブを縦に並べられるtabbyを使ってる
地味に便利
地味に便利
635デフォルトの名無しさん
2025/11/04(火) 22:05:10.67ID:s16lpjGn Tver のサイトで特定のドラマのページを開いたときに右上に表示されている最新話のURLを取得したいんですが知識がなくてさっぱり・・・
例えばちょっとだけエスパーの
https://tver.jp/series/srm706pd6g
で右上に表示されているエピソードを再生のURLをとりたいのですがソースを表示するとどこにもない
例えばちょっとだけエスパーの
https://tver.jp/series/srm706pd6g
で右上に表示されているエピソードを再生のURLをとりたいのですがソースを表示するとどこにもない
636デフォルトの名無しさん
2025/11/05(水) 00:15:01.45ID:R4zLjHDf このスレで聞くことか?
637デフォルトの名無しさん
2025/11/05(水) 00:19:16.72ID:bd8fkRgq PowerShellの質問ではないわな
638デフォルトの名無しさん
2025/11/05(水) 03:58:33.49ID:79mqo3N4 >>635
ソースで見ると表示されないのはJavaScriptで生成されてるからで、素のHTMLには書かれてないんだよ
ブラウザでエピソードを再生を右クリックして「検証」とか「調査」っていうメニューで確認できるよ
使っているブラウザのスレで開発ツールの使い方を教えてもらうか、ChatGPTに聞くのが分かりやすいと思う
ChatGPTにuserscriptを作ってもらうか、どうしてもPowershellでやりたいならapiを叩いたらどう?
ttps://pastebin.com/paBznTfW
これもChatGPTに教えてもらうと良いよ(↑のもChatGPTが作ってくれた)
ソースで見ると表示されないのはJavaScriptで生成されてるからで、素のHTMLには書かれてないんだよ
ブラウザでエピソードを再生を右クリックして「検証」とか「調査」っていうメニューで確認できるよ
使っているブラウザのスレで開発ツールの使い方を教えてもらうか、ChatGPTに聞くのが分かりやすいと思う
ChatGPTにuserscriptを作ってもらうか、どうしてもPowershellでやりたいならapiを叩いたらどう?
ttps://pastebin.com/paBznTfW
これもChatGPTに教えてもらうと良いよ(↑のもChatGPTが作ってくれた)
639デフォルトの名無しさん
2025/11/05(水) 18:41:39.53ID:VnEpJmCQ640デフォルトの名無しさん
2025/11/06(木) 20:55:27.46ID:ra3gomFv PowerShell に関するお問い合わせ時の留意事項
https://jpwinsup.github.io/blog/2025/11/06/UserInterfaceAndApps/PowerShell/PowerShell-SupportGuidlines/
https://jpwinsup.github.io/blog/2025/11/06/UserInterfaceAndApps/PowerShell/PowerShell-SupportGuidlines/
641デフォルトの名無しさん
2025/11/09(日) 01:50:45.56ID:/5rAS6BZ >>640
>なお、 .NET Framework や Win32 API は、C#/VB#/C++/C といったプログラム言語からのご利用を目的として提供している機能になり、動作確認もこれらの言語で行っていただくことをお願いしております。
>また、これらの言語で正常に動作しながらも、PowerShell 上で期待通りの動作とならない場合は、プログラミング言語のご利用をお願いしておりますことをご留意ください。
あれれ?
PowerShellでたての頃って.netのオブジェクト使えるの売りにしてなかったかな?
>なお、 .NET Framework や Win32 API は、C#/VB#/C++/C といったプログラム言語からのご利用を目的として提供している機能になり、動作確認もこれらの言語で行っていただくことをお願いしております。
>また、これらの言語で正常に動作しながらも、PowerShell 上で期待通りの動作とならない場合は、プログラミング言語のご利用をお願いしておりますことをご留意ください。
あれれ?
PowerShellでたての頃って.netのオブジェクト使えるの売りにしてなかったかな?
642デフォルトの名無しさん
2025/11/09(日) 09:43:41.33ID:9rrS+2ZK 最近の.NETは言語非依存を放棄してるからな
例えばSpanはPowerShellから使えない
Question about System.Span
https://github.com/PowerShell/PowerShell/issues/5897
例えばSpanはPowerShellから使えない
Question about System.Span
https://github.com/PowerShell/PowerShell/issues/5897
643デフォルトの名無しさん
2025/11/09(日) 10:23:37.05ID:VPZLG56/ .NET Frameworkって書いてあるからCore系の.NETは関係ないでしょ。Core系もサポートの方針は同じだろうけど。
PowerShell6以降のユーザーなんて5に比べりゃほとんどいないだろうし、
わざわざ6以降使ってる人はそんなに変な問い合わせしてこないだろうからサポート的にはあまり問題にならないんだろう
PowerShell6以降のユーザーなんて5に比べりゃほとんどいないだろうし、
わざわざ6以降使ってる人はそんなに変な問い合わせしてこないだろうからサポート的にはあまり問題にならないんだろう
644デフォルトの名無しさん
2025/11/18(火) 00:02:06.52ID:mC1Jcub0 c#14でファイルベースでスクリプトライクに書けるようになった
もうpowershellはオワコン!
もうpowershellはオワコン!
645デフォルトの名無しさん
2025/11/18(火) 17:30:44.99ID:d9hs+rsN それパイプは直感的に書けるか?
レスを投稿する
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 港区、中国に宣戦布告 中国外務省をおちょくる掲示物を展示 [175344491]
- 【ほんこん悲報】吉本新喜劇の中国公演が中止に! [523957489]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
