前スレ
PowerShell -Part 4
https://mevius.5ch.net/test/read.cgi/tech/1577862511/
次スレは>>980が立ててね!!
探検
PowerShell -Part 5
レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/03/18(木) 00:29:52.04ID:/MpReTiX
809デフォルトの名無しさん
2021/11/25(木) 09:20:52.19ID:e/X72gP4 >>808 ありがとうございました
ls -r |? lastwritetime -lt "2015/10/10" -OutVariable list
知らなかった…調べてみると すべてのコマンドレットに備わってるんですね
ls -r |? lastwritetime -lt "2015/10/10" -OutVariable list
知らなかった…調べてみると すべてのコマンドレットに備わってるんですね
810デフォルトの名無しさん
2021/11/25(木) 09:38:35.33ID:e/X72gP4811デフォルトの名無しさん
2021/11/26(金) 10:20:48.79ID:ncT7Zn6W >>807
gl -stack
gl -stack
812デフォルトの名無しさん
2021/11/26(金) 11:04:55.34ID:ncT7Zn6W 遅レスだけど>>583にも関連ありそうなのでアンカー付けとく、slじゃなくてpush/pop-locationだけど
CDPATH的なモノはsl -で参照できることから存在してるとおもうけど、もっと柔軟に数の引数取りたい、とかなら簡単なシェル関数書けば良いかと
function cd($bwd=1){iex "cd -;" * $bwd}
さらに
{iex "sl ..;" * $up},
{iex "sl +;" * $fwd}…等
(cdのremove-alias、引数を読んでディスパッチ等はよしなに)
まあ気が散るからlocationスタックに慣れた方がいいとは思う
CDPATH的なモノはsl -で参照できることから存在してるとおもうけど、もっと柔軟に数の引数取りたい、とかなら簡単なシェル関数書けば良いかと
function cd($bwd=1){iex "cd -;" * $bwd}
さらに
{iex "sl ..;" * $up},
{iex "sl +;" * $fwd}…等
(cdのremove-alias、引数を読んでディスパッチ等はよしなに)
まあ気が散るからlocationスタックに慣れた方がいいとは思う
813デフォルトの名無しさん
2021/11/29(月) 19:58:38.42ID:FW3KUWhD $hoge = Invoke-Command -ComputerName 192.168.0.1 -Credential $cred -ScriptBlock {C:\script\cpu.bat}
こんな感じでリモートPCのCPUの情報を取得したんだけど、
リモート側では返り値の型が Hashtable で連想配列なんだけど、実行する側のPCだと Object[] になって配列になるんだけど
これって仕様なの?
連想配列のまま$hogeで受け取る方法とかない?
こんな感じでリモートPCのCPUの情報を取得したんだけど、
リモート側では返り値の型が Hashtable で連想配列なんだけど、実行する側のPCだと Object[] になって配列になるんだけど
これって仕様なの?
連想配列のまま$hogeで受け取る方法とかない?
814デフォルトの名無しさん
2021/11/29(月) 20:04:41.43ID:xU0y2yzX 無い
815デフォルトの名無しさん
2021/11/29(月) 20:07:54.41ID:FW3KUWhD 無いのかw
PowerShell初めて触ってるんだけど、こいつ癖が強いなぁw
PowerShell初めて触ってるんだけど、こいつ癖が強いなぁw
816デフォルトの名無しさん
2021/12/04(土) 15:49:34.45ID:3yJp3Bv8 パイプのあくの強さに辟易してからが本番
817デフォルトの名無しさん
2021/12/04(土) 15:57:56.73ID:lpLqhZbS パイプの魅力に取り憑かれたらもう後には戻れない
818デフォルトの名無しさん
2021/12/04(土) 20:29:02.53ID:dom41WHA819デフォルトの名無しさん
2021/12/04(土) 20:33:23.88ID:12OWCJtV パイプラインが気に入らなかったら使わなきゃ良いんだけど
配列は気に入らなくても使わざるを得ないんだよな
配列は気に入らなくても使わざるを得ないんだよな
820デフォルトの名無しさん
2021/12/04(土) 20:59:45.48ID:NLsksufL 初代プレステみたいな拡張子以外ないの?
もうちょっとかっちょいい拡張子使いたい
もうちょっとかっちょいい拡張子使いたい
821デフォルトの名無しさん
2021/12/04(土) 21:10:22.01ID:jlXR6Mjx pwshも起動遅いよな
NGenも上手く行かんし。起動の遅さには目をつぶって使ってる感じ?
NGenも上手く行かんし。起動の遅さには目をつぶって使ってる感じ?
822デフォルトの名無しさん
2021/12/04(土) 22:01:12.10ID:3yJp3Bv8 毎回pwsh起動時に最新バージョンのpwshかWebサイトに確認しにいってる予感
823デフォルトの名無しさん
2021/12/05(日) 16:39:28.02ID:iTfrMGLj 24時間ごとに最初のセッションでバージョンチェックが走るので、テレメトリーを無効にすればちょっとだけ起動が速くなるかも
https://github.com/PowerShell/PowerShell/issues/16234
POWERSHELL_UPDATECHECKは通知の制御だけで、バージョンチェック(を含む通信)はテレメトリー自体を止めないとダメみたい
https://github.com/PowerShell/PowerShell/issues/16234
POWERSHELL_UPDATECHECKは通知の制御だけで、バージョンチェック(を含む通信)はテレメトリー自体を止めないとダメみたい
824デフォルトの名無しさん
2021/12/05(日) 21:30:10.95ID:4E92Wydv PowerShellを使っている人はWindows Terminalも使っていること多いでしょ
どっちも素のコマンドプロンプトに比べて起動に時間がかかる
どっちも素のコマンドプロンプトに比べて起動に時間がかかる
825デフォルトの名無しさん
2021/12/05(日) 22:44:22.34ID:MGzOS3+Z WSL2 で、Linux も使っている人は、Windows Terminal が便利。
ctrl + c でコピーできる
Linux の端末では、右クリックメニューからコピーしないといけない
ctrl + c でコピーできる
Linux の端末では、右クリックメニューからコピーしないといけない
826デフォルトの名無しさん
2021/12/05(日) 23:06:07.82ID:2W/PRbgG 無変換キーで@が入力されるの治ってほしい…
827デフォルトの名無しさん
2021/12/05(日) 23:08:46.06ID:EbpaPfY1 >>826
なにそれ
なにそれ
828デフォルトの名無しさん
2021/12/05(日) 23:17:25.58ID:2W/PRbgG Windows Terminal上でPowershellを使ってるとき、IME OFFに割り当てた無変換キーを空打ちすると@が入力されちゃう
829デフォルトの名無しさん
2021/12/05(日) 23:46:17.42ID:EbpaPfY1 >>828
再現せんなあ
再現せんなあ
830デフォルトの名無しさん
2021/12/06(月) 00:19:03.74ID:l+QuXC+3 これか
https://twitter.com/nejigami/status/1381587748260249601
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/nejigami/status/1381587748260249601
https://twitter.com/5chan_nel (5ch newer account)
831デフォルトの名無しさん
2021/12/06(月) 16:19:41.17ID:eOuwgSss psreadlineでバインドし直せばいいんでないの?
832デフォルトの名無しさん
2021/12/06(月) 16:45:47.86ID:RFIhcWIP >>828
Ahkで無変換をime off機能に割り当てて対策してる。
Ahkで無変換をime off機能に割り当てて対策してる。
833デフォルトの名無しさん
2021/12/06(月) 16:54:29.37ID:eOuwgSss psreadlineに渡る前にwtに吸われてるのなら無力だったな
めんご
めんご
834デフォルトの名無しさん
2021/12/08(水) 18:02:05.74ID:fwBoA4il >>832
AutoHotkeyで解決した、ありがとう
AutoHotkeyで解決した、ありがとう
835デフォルトの名無しさん
2021/12/11(土) 17:33:02.92ID:lpfa5wkz 今回リモートPCの使用状況をlog化して通知するシステムに利用したんだけど、
みんなは何にPowerShell使ってんの?やっぱり反復処理とか?イマイチ使いみちが思いつかないw
みんなは何にPowerShell使ってんの?やっぱり反復処理とか?イマイチ使いみちが思いつかないw
836デフォルトの名無しさん
2021/12/11(土) 18:31:42.90ID:l4zQKEWJ 分かってる人には当たり前のことなのかもしれないけど、 Set-PSReadLineOption -EditMode Emacs で
Emacs風味キーバインドにしたらCtrl+DでPowerShellが終了するね
Emacs風味キーバインドにしたらCtrl+DでPowerShellが終了するね
837デフォルトの名無しさん
2021/12/11(土) 19:33:39.75ID:Jze+N/0t Ctrl+Dでの終了はzshでも有効にしてるので、違和感なく使ってました
838デフォルトの名無しさん
2021/12/11(土) 19:42:02.74ID:Jze+N/0t 日常的に使ってるのは、VPN接続とリモート接続のログイン自動化スクリプトですね
839デフォルトの名無しさん
2021/12/11(土) 21:55:48.50ID:vdCi5/VF >>834
そんな大層なことしなくても
gci -pa HKLM:/system -rec -inc keyboard* -ea ignore
とかでキーマップが引っかかったと思うから、$profileにブチこんどけばいいんじゃないの、シェル閉じた時のリストア処理も書けるし
そんな大層なことしなくても
gci -pa HKLM:/system -rec -inc keyboard* -ea ignore
とかでキーマップが引っかかったと思うから、$profileにブチこんどけばいいんじゃないの、シェル閉じた時のリストア処理も書けるし
840デフォルトの名無しさん
2021/12/11(土) 21:58:38.54ID:vdCi5/VF ターミナル(wt.exe)の問題なら.jsonにキーマップ書けたはずで、それが一番礼儀正しいが
841デフォルトの名無しさん
2021/12/11(土) 22:11:14.55ID:T5tvegM+ レジストリはすぐどこ触ったか分からんくなるから$profileか、pwshの外ならuser\**\startupにコマンド書いて設定した方がいい
少なくとも何を触ったかは記録に残る
できれば初期値についてのコメントも
シェル/環境変数みたいにシャドウイングできるといいんだけど
少なくとも何を触ったかは記録に残る
できれば初期値についてのコメントも
シェル/環境変数みたいにシャドウイングできるといいんだけど
842デフォルトの名無しさん
2021/12/12(日) 00:04:01.85ID:kmuza9nw wsl --help の出力結果をパイプやファイルにリダイレクトすると、PowerShellとWSLが不?戴天の仇らしいことがよくわかる
843デフォルトの名無しさん
2021/12/12(日) 21:13:44.01ID:tlt3McAx Windows PowerShell Inventor Jeffrey Snover Interview
https://evrone.com/jeffrey-snover-interview
https://evrone.com/jeffrey-snover-interview
844デフォルトの名無しさん
2021/12/13(月) 13:52:11.42ID:MDj1w4qb >>842
とりあえず|out-file -enc 色々噛ませてみては
とりあえず|out-file -enc 色々噛ませてみては
845デフォルトの名無しさん
2021/12/14(火) 06:17:10.79ID:5jyEPH53 なんで不?戴天になってしまったのかと思ったら環境依存文字使ってたからか
不倶戴天 (環境依存文字なし)
不俱戴天 (環境依存文字あり)
不倶戴天 (環境依存文字なし)
不俱戴天 (環境依存文字あり)
846デフォルトの名無しさん
2021/12/14(火) 15:19:22.77ID:6iAGSMwm お前らlinuxマシンにpwsh入れてる?
847デフォルトの名無しさん
2021/12/14(火) 15:49:09.33ID:mpAOsF0a 入れるわけないだろ
こんなもんWindows以外では絶対使わん
こんなもんWindows以外では絶対使わん
848デフォルトの名無しさん
2021/12/14(火) 15:54:44.60ID:vLIDlmgW たぶん、PowerShell が、UTF-8 だからじゃないの?
コマンドプロンプトで、
wsl --help > a.txt
とすると、UTF-16LE になり、VSCode・サクラエディタでも見れる
でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
そのコマンドプロンプトでやったら、文字化けして見れない
WT は、UTF-8 だから文字化けするのかも
だから、アプリによる
コマンドプロンプトで、
wsl --help > a.txt
とすると、UTF-16LE になり、VSCode・サクラエディタでも見れる
でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
そのコマンドプロンプトでやったら、文字化けして見れない
WT は、UTF-8 だから文字化けするのかも
だから、アプリによる
849デフォルトの名無しさん
2021/12/14(火) 16:00:11.41ID:5jyEPH53850デフォルトの名無しさん
2021/12/14(火) 19:12:38.50ID:HCC7MYbd パワーー
851デフォルトの名無しさん
2021/12/14(火) 20:06:47.20ID:lHfIhTrg はい
852デフォルトの名無しさん
2021/12/15(水) 12:02:30.22ID:PaPmsmcA まあでもWindows上で使ってるぶんには安定してるな。
当たり前だけどw
当たり前だけどw
853デフォルトの名無しさん
2021/12/15(水) 20:55:34.12ID:zohMO0ui854デフォルトの名無しさん
2021/12/16(木) 03:32:22.22ID:V72yjyE9 PowerShell上で非ANSIコードページ文字列をパイプやリダイレクトするには以下のようにcmd /C を使うしかない
cmd /C 'wsl --help > aaa.txt'
「ねぇどんな気持ち?」のクマAAをPowerShell愛好家に贈りたい
cmd /C 'wsl --help > aaa.txt'
「ねぇどんな気持ち?」のクマAAをPowerShell愛好家に贈りたい
855848
2021/12/16(木) 12:30:02.79ID:pA5H+adw コマンドプロンプトを使わずに、PowerShell で、
wsl --help を文字化けせずに、ファイルへ保存する方法はないのか?
>>848
修正
>でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
>そのコマンドプロンプトでやったら、文字化けして見れない。
>WT は、UTF-8 だから文字化けするのかも
Windows Terminal(WT)のコマンドプロンプトで、
もう一度やってみたら、正常に表示された!
ちなみにコマンドプロンプトも、WTのコマンドプロンプトも、両方とも、CP932 でした
chcp
#=> 932
wsl --help を文字化けせずに、ファイルへ保存する方法はないのか?
>>848
修正
>でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
>そのコマンドプロンプトでやったら、文字化けして見れない。
>WT は、UTF-8 だから文字化けするのかも
Windows Terminal(WT)のコマンドプロンプトで、
もう一度やってみたら、正常に表示された!
ちなみにコマンドプロンプトも、WTのコマンドプロンプトも、両方とも、CP932 でした
chcp
#=> 932
856デフォルトの名無しさん
2021/12/16(木) 14:46:23.47ID:fd1vO2kC Correct output in CMD, but incorrect output to a file in PowerShell #16012
https://github.com/PowerShell/PowerShell/issues/16012
https://github.com/PowerShell/PowerShell/issues/16012
857デフォルトの名無しさん
2021/12/16(木) 15:06:10.72ID:V72yjyE9 PowerShellの定番質問に知ったかぶりしてOutputEncodingを変えろと回答する人って自分で試さないんだろうか?
それとも質問を理解できるだけの国語力がないのか?
それとも質問を理解できるだけの国語力がないのか?
858デフォルトの名無しさん
2021/12/16(木) 15:11:12.80ID:ywwvfrpp 負けた気がするけどロケールはもう諦めてen_us、圧力掛けるのはおまいらに任せた
あえて真っ白linuxでは使わんけどwslは快適になるな
$profile |add-member -noteprop
で属性付けて
. $profile.common; .$profile.platform
とそーすしてる
あえて真っ白linuxでは使わんけどwslは快適になるな
$profile |add-member -noteprop
で属性付けて
. $profile.common; .$profile.platform
とそーすしてる
859デフォルトの名無しさん
2021/12/16(木) 15:23:47.31ID:9aNyIMSV そんなことより
左辺コレクションの-eqのフィルタの罠に見事に引っ掛かったわ
左辺コレクションの-eqのフィルタの罠に見事に引っ掛かったわ
860デフォルトの名無しさん
2021/12/16(木) 15:41:05.53ID:ywwvfrpp -eq(ual elements are...)と読み慣わしてる
861848
2021/12/16(木) 16:19:44.83ID:pA5H+adw OutputEncoding を変えるぐらいでは、出来ないだろ。
PowerShell(PS)は、迷走しまくっている
UTF-16LE とか、あるのか?
PS 6 では、BOM 無しUTF-8 も出来るらしいけど
PowerShell(PS)は、迷走しまくっている
UTF-16LE とか、あるのか?
PS 6 では、BOM 無しUTF-8 も出来るらしいけど
862848
2021/12/16(木) 16:24:12.96ID:pA5H+adw Windows は、CP932, BOM 有りUTF-8/BOM 無しUTF-8, UTF-16LE が入り乱れて、
外部と日本語でやり取りできないw
一方、Linux は、UTF-8 で統一されているから、全く問題ない。
Ubuntu は、UTF-32 らしいけど、外部には関係ない
外部と日本語でやり取りできないw
一方、Linux は、UTF-8 で統一されているから、全く問題ない。
Ubuntu は、UTF-32 らしいけど、外部には関係ない
863デフォルトの名無しさん
2021/12/16(木) 16:37:31.00ID:V72yjyE9 >>861
Input Encodingがシステムコードページ一択(日本語版Windowsだと932)になってることが原因だよ
UTF16-LEの文字列をSJISとみなしてOutputEncodingに変換するから文字化けしているのが真相
このPowerShellのおバカ仕様のせいでMINGWのUTF-8対応済みアプリの恩恵をまったく活かせない
Input Encodingがシステムコードページ一択(日本語版Windowsだと932)になってることが原因だよ
UTF16-LEの文字列をSJISとみなしてOutputEncodingに変換するから文字化けしているのが真相
このPowerShellのおバカ仕様のせいでMINGWのUTF-8対応済みアプリの恩恵をまったく活かせない
864848
2021/12/16(木) 18:10:47.68ID:pA5H+adw >UTF16-LEの文字列を、SJISとみなして
すごい。文字化けの謎を解明してくれたのか!
すごい。文字化けの謎を解明してくれたのか!
865848
2021/12/16(木) 18:13:34.65ID:pA5H+adw と言うことは、逆変換すればどうかな?
SJIS → UTF16-LE
SJIS → UTF16-LE
866848
2021/12/16(木) 18:19:40.99ID:pA5H+adw それか、あらかじめデータを、SJIS へ変換しておいてから渡すとか
Ruby では、色々な携帯の機種依存の日本語を変換するのに、
最長6パスとか掛かるものもあるらしい
Ruby では、色々な携帯の機種依存の日本語を変換するのに、
最長6パスとか掛かるものもあるらしい
867デフォルトの名無しさん
2021/12/16(木) 18:50:41.75ID:qMSlwGZE [console]::OutputEncoding = [System.Text.Encoding]::Unicode
v5環境だけどこれでファイル出力の文字化けは解消できた
ただ改行コード\nが全部\r\nになる
v5環境だけどこれでファイル出力の文字化けは解消できた
ただ改行コード\nが全部\r\nになる
868デフォルトの名無しさん
2021/12/16(木) 18:55:45.31ID:bRV7vQKn v7だと多分問題はない、よろしくやってくれてるんだと思う
mingwは使ってないから知らんが少なくとも標準パッケマネのwingetで入るやつ(gnuwinポート)でエンコで困った事はない
mingwは使ってないから知らんが少なくとも標準パッケマネのwingetで入るやつ(gnuwinポート)でエンコで困った事はない
869デフォルトの名無しさん
2021/12/16(木) 19:06:43.69ID:V72yjyE9870デフォルトの名無しさん
2021/12/16(木) 19:15:07.46ID:bRV7vQKn とりあえず環境を(ターミナルも)書いてくれないとアドバイスのしようがない
>>856の対処は試した?
>>856の対処は試した?
871デフォルトの名無しさん
2021/12/16(木) 19:24:43.19ID:V72yjyE9872デフォルトの名無しさん
2021/12/16(木) 19:27:32.35ID:V72yjyE9 マイクロソフトが関与するオープンソース・コミュニティーは問題が解決してないのに解決したことにしてしまうずさんな所が多い
バグ票を閉じることを優先する隠蔽体質あると思う
バグ票を閉じることを優先する隠蔽体質あると思う
873デフォルトの名無しさん
2021/12/16(木) 19:34:07.64ID:V72yjyE9 共産圏の人間が仕切ってるのかと思うような閉じられ方する、まさにノルマ
874デフォルトの名無しさん
2021/12/16(木) 20:11:17.38ID:q0ua6jst そうだね
875デフォルトの名無しさん
2021/12/16(木) 20:20:13.49ID:Y2CVy/MB マイクロソフト文化圏。
876デフォルトの名無しさん
2021/12/16(木) 21:09:01.98ID:VSm+B60n >>871
> is not a raw-bytes conduit to a file in PowerShell, unlike in cmd.exe.
Instead, PowerShell always decodes output from external programs (into .NET strings) before further processing (but not when printing directly to the display), based on the character encoding stored in [Console]::OutputEncoding.
Therefore, before your external-program call, you must (at least temporarily) set [Console]::OutputEncoding to match the actual character encoding used in your external program's output; e.g., [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
> is not a raw-bytes conduit to a file in PowerShell, unlike in cmd.exe.
Instead, PowerShell always decodes output from external programs (into .NET strings) before further processing (but not when printing directly to the display), based on the character encoding stored in [Console]::OutputEncoding.
Therefore, before your external-program call, you must (at least temporarily) set [Console]::OutputEncoding to match the actual character encoding used in your external program's output; e.g., [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
877デフォルトの名無しさん
2021/12/16(木) 21:15:42.41ID:V72yjyE9 従来型のパイプラインを選べない時点で設計思想がおかしいんですよ
$(xxx) みたいな特殊表現によるパイプが提供されてしかるべき
というかPowerShellのパイプラインを特殊表現に閉じ込めるべき
$(xxx) みたいな特殊表現によるパイプが提供されてしかるべき
というかPowerShellのパイプラインを特殊表現に閉じ込めるべき
878デフォルトの名無しさん
2021/12/16(木) 21:56:24.21ID:V72yjyE9 OutputEncodingとコードページがごっちゃになってるのもよくない
OutputEncodingをUTF8に指定したら、cmd /? で英語ヘルプが返されるようになってしまう
この挙動は、コマンドプロンプト上のchcp コマンドでコードページを変えたときのcmd /?の挙動と同じ
OutputEncodingをUTF8に指定したら、cmd /? で英語ヘルプが返されるようになってしまう
この挙動は、コマンドプロンプト上のchcp コマンドでコードページを変えたときのcmd /?の挙動と同じ
879デフォルトの名無しさん
2021/12/16(木) 22:23:10.88ID:ywwvfrpp >>877
そもそも従来型のパイプラインは生バイト晒してたように聞こえるんだが、テキストモード(ascii)IOを忘れてないか
fopen等システムコールに行儀良く"b"フラグ渡してれば問題はないが、そうでない時にcmdはtypeや |を処理する際にコンソールのファント設定見に行く等奇怪な挙動をしてた
でもたまに制御文字をtypeして死んだり…
テキストモードを排除できれば可能かも
そもそも従来型のパイプラインは生バイト晒してたように聞こえるんだが、テキストモード(ascii)IOを忘れてないか
fopen等システムコールに行儀良く"b"フラグ渡してれば問題はないが、そうでない時にcmdはtypeや |を処理する際にコンソールのファント設定見に行く等奇怪な挙動をしてた
でもたまに制御文字をtypeして死んだり…
テキストモードを排除できれば可能かも
880デフォルトの名無しさん
2021/12/16(木) 22:31:55.77ID:ywwvfrpp gnuとかのプログラムは今でもioモード切り替えフラグ付いてたりするね
生バイトが欲しければProcessInfoとかからstdin/stdout引っこ抜いてIO.BinaryWriterに渡すとか
生バイトが欲しければProcessInfoとかからstdin/stdout引っこ抜いてIO.BinaryWriterに渡すとか
881デフォルトの名無しさん
2021/12/16(木) 22:47:57.71ID:peIHdemY 文字列中に紛れたeof文字相当のバイトを見ても読み込みを続ける挙動は多分windows的には正しくないよな
そんな文字無くしてしまえ、と思うけど
そんな文字無くしてしまえ、と思うけど
882デフォルトの名無しさん
2021/12/17(金) 06:27:47.69ID:cFRRrt8D wsl --helpのみっともない改行はUTF-16のL"\r\n"をテキストモードで出力するwslの変態行為がそもそもの原因だし
https://docs.microsoft.com/en-us/cpp/c-runtime-library/unicode-stream-i-o-in-text-and-binary-modes?view=msvc-170
https://docs.microsoft.com/en-us/cpp/c-runtime-library/unicode-stream-i-o-in-text-and-binary-modes?view=msvc-170
883デフォルトの名無しさん
2021/12/17(金) 06:36:45.15ID:cFRRrt8D PowerShell固有のパイプラインに、|, >, >> を使うのをやめて
例えば $|, $>, $>> のような特殊表現に閉じ込めてほしいんだが
今さら無理か
例えば $|, $>, $>> のような特殊表現に閉じ込めてほしいんだが
今さら無理か
884デフォルトの名無しさん
2021/12/17(金) 07:27:36.04ID:cFRRrt8D 昔、MINGWのcatコマンドが0x0aを勝手に0x0d,0x0aへテキストモード変換する迷惑行為で人知れず苦しんだ人は多かったと思う
885デフォルトの名無しさん
2021/12/17(金) 08:47:10.04ID:+hqMWYwb c標準ライブラリの"t"フラグはホスト側でよしなに変換してくれという表明だけど、たぶん行論理セパレータ\n↔\r\n変換してくれるやつくらいに考えてる人が多いんじゃねえかな
886デフォルトの名無しさん
2021/12/17(金) 09:02:49.38ID:z0PRPnA0 "t"はc規格には無いか、無指定の"w"フラグ等がテキストモードにデフォルトするというだけで
cっぽいopen関数備えてる言語(pythonとか)だと"b"との区別を意識させる為に"wt"とか受け付けるけど
cっぽいopen関数備えてる言語(pythonとか)だと"b"との区別を意識させる為に"wt"とか受け付けるけど
887デフォルトの名無しさん
2021/12/17(金) 09:38:27.97ID:cFRRrt8D マイクロソフト謹製アプリが率先してやらかしてるってところが肝
888デフォルトの名無しさん
2021/12/17(金) 10:04:59.46ID:YK+z10uu それと直接関係あるかは再現しないのでちょっと不明
>>871はconhostをsjisに設定してない?
>>871はconhostをsjisに設定してない?
889デフォルトの名無しさん
2021/12/17(金) 10:07:35.81ID:YK+z10uu v7.2/wt(preview)
[console]のioデフォルトはutf8(=旧nobom)になってた
[console]のioデフォルトはutf8(=旧nobom)になってた
890デフォルトの名無しさん
2021/12/17(金) 10:09:02.77ID:cFRRrt8D891デフォルトの名無しさん
2021/12/17(金) 10:14:30.90ID:YK+z10uu892デフォルトの名無しさん
2021/12/17(金) 10:27:09.40ID:YK+z10uu あとwin11非対応マシンでms配布のロールバック用iso(非ローカライズ版)イメージで再インストール→日本語パック選択した人も該当するはず
oem版はsjisが多いと思う
oem版はsjisが多いと思う
893デフォルトの名無しさん
2021/12/17(金) 10:32:50.05ID:cFRRrt8D >>891
Windows Terminalでも起きるんだからconhost.exeは関係ないぞ
Windows Terminalでも起きるんだからconhost.exeは関係ないぞ
894デフォルトの名無しさん
2021/12/17(金) 10:42:00.46ID:YK+z10uu >>893
conhostも[console]もシステムのcpから拾ってくる
wtに関してはsetting.jsonからも設定できる
様々なエンコーディング切り替えられないソフトが混在してて、グローバルに切り替えるのがためらわれるならば
ps/cmd>ms-settings:~(スタート>歯車のやつ)からアプリ毎にエンコーディング設定するのがおすすめ
conhostも[console]もシステムのcpから拾ってくる
wtに関してはsetting.jsonからも設定できる
様々なエンコーディング切り替えられないソフトが混在してて、グローバルに切り替えるのがためらわれるならば
ps/cmd>ms-settings:~(スタート>歯車のやつ)からアプリ毎にエンコーディング設定するのがおすすめ
895デフォルトの名無しさん
2021/12/17(金) 10:56:53.95ID:cFRRrt8D エンコーディング機能にAutoDetectがあれば良いだけなんだがな
簡単なことを難しくしてしまうのは無能の証なんだよ
PowerShellみててつくづくそう思う
簡単なことを難しくしてしまうのは無能の証なんだよ
PowerShellみててつくづくそう思う
896デフォルトの名無しさん
2021/12/17(金) 11:26:52.18ID:aYaid5rJ オートディテクトはギルティ、頭抱える事になるぞ
素性の良いデータで大体動けばいいような自動化なら、古き良きnkfでも噛ませ
ポータブルにしたいならPSGalleryに純pwsh実装のモジュールが転がってる、クオリティは知らん
i/oエンコーディングをシェルレベルで扱えるのはバベルの塔なwindows環境では重宝する
素性の良いデータで大体動けばいいような自動化なら、古き良きnkfでも噛ませ
ポータブルにしたいならPSGalleryに純pwsh実装のモジュールが転がってる、クオリティは知らん
i/oエンコーディングをシェルレベルで扱えるのはバベルの塔なwindows環境では重宝する
897デフォルトの名無しさん
2021/12/17(金) 11:27:13.62ID:cFRRrt8D PowerShellのパイプラインそれ自体がすでに低速なのに文字コードの自動判定すらないとか無能すぎでしょ
898デフォルトの名無しさん
2021/12/17(金) 11:29:06.56ID:cFRRrt8D899デフォルトの名無しさん
2021/12/17(金) 12:26:32.74ID:YK+z10uu リダイレクトの挙動が不自然に感じるのは、ホストの概念で躓いてるのでは
ホストはコンソールとも限らないし、coreバンドルのコンソールホスト以外にもiseやらaspやら色々あるわけで
なんで設定が分かれてるのか考えるべき
ホストはコンソールとも限らないし、coreバンドルのコンソールホスト以外にもiseやらaspやら色々あるわけで
なんで設定が分かれてるのか考えるべき
900デフォルトの名無しさん
2021/12/17(金) 12:35:31.53ID:cFRRrt8D901デフォルトの名無しさん
2021/12/17(金) 12:48:55.55ID:BQzVpcl1 >>900
>>856からrelatedで飛べる
https://github.com/PowerShell/PowerShell/issues/1908
で提案されてるような構文はあったら確かに便利かと思う
もちろんcoreの設計とは相容れないから、追加モジュールかwindows pwsh(新)でリリースすることになると思うけど
イイね押しとこう
>>856からrelatedで飛べる
https://github.com/PowerShell/PowerShell/issues/1908
で提案されてるような構文はあったら確かに便利かと思う
もちろんcoreの設計とは相容れないから、追加モジュールかwindows pwsh(新)でリリースすることになると思うけど
イイね押しとこう
902デフォルトの名無しさん
2021/12/17(金) 13:16:49.94ID:cFRRrt8D むしろPowerShelll固有の構文を新しい構文に移行させてほしいくらいだわ
パイプラインにテキスト縛りがある時点でPowerShellは欠陥品なんだよ
パイプラインにテキスト縛りがある時点でPowerShellは欠陥品なんだよ
903デフォルトの名無しさん
2021/12/29(水) 20:28:55.03ID:/Pws6ORw PowerShellは以下コマンドをFunction化できない。
[console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(932); $OutputEncoding = [Text.Encoding]::GetEncoding(932);
Function内でしかスコープが有効でないことが原因。$global:OutputEncodingを変えてもダメ。
なのでchcpコマンド相当のことをやろうとしたら手入力するしかない
なんというか、PowerShellは他のシェル言語でできいることができない残念なシェル言語。
オワコン化待ったなし
[console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(932); $OutputEncoding = [Text.Encoding]::GetEncoding(932);
Function内でしかスコープが有効でないことが原因。$global:OutputEncodingを変えてもダメ。
なのでchcpコマンド相当のことをやろうとしたら手入力するしかない
なんというか、PowerShellは他のシェル言語でできいることができない残念なシェル言語。
オワコン化待ったなし
904デフォルトの名無しさん
2021/12/29(水) 20:49:49.82ID:/Pws6ORw ([console])::OutputEncodingをFunction外にも適用できないことにはchcp相当の機能は実現できない
Powershellからchcpを呼ぶとcmdシェルを介してコマンドプロンプトの初期値が表示されるだけであり、グローバル設定とは無関係
([console])::OutputEncodingが効いたかどうかは、cmd /? で戻されるヘルプ文字列が日本語かどうかで判断できる
Powershellからchcpを呼ぶとcmdシェルを介してコマンドプロンプトの初期値が表示されるだけであり、グローバル設定とは無関係
([console])::OutputEncodingが効いたかどうかは、cmd /? で戻されるヘルプ文字列が日本語かどうかで判断できる
905デフォルトの名無しさん
2021/12/29(水) 20:57:34.10ID:7YDJokPl UNIXシェルは糞of糞
やっぱりPowerShellだよな
シェルスクリプトは文字通りの逐次実行
sleepy-yoshi.hatenablog.com/entry/20090917/p1
やっぱりPowerShellだよな
シェルスクリプトは文字通りの逐次実行
sleepy-yoshi.hatenablog.com/entry/20090917/p1
906デフォルトの名無しさん
2021/12/29(水) 23:03:59.28ID:wj529v9h907デフォルトの名無しさん
2021/12/29(水) 23:16:02.98ID:/Pws6ORw >>906
説明不足だった
やりたいことはコマンド入力じゃなくてSet-PSReadLineKeyHandler -Keyを使ったキーバインドなんだけど
ドット. で反映してくてもScriptBlockやFunctionのスコープに閉じ込められてしまうから解決にならない
説明不足だった
やりたいことはコマンド入力じゃなくてSet-PSReadLineKeyHandler -Keyを使ったキーバインドなんだけど
ドット. で反映してくてもScriptBlockやFunctionのスコープに閉じ込められてしまうから解決にならない
908デフォルトの名無しさん
2021/12/29(水) 23:39:26.16ID:/Pws6ORw ま、そういうエンコーディング切り替え機能をどれだけ充実させても既存のbashやCMDのようなプロセス間通信はできないのでやるだけ無駄ってのはわかってる
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 【乞食速報】UFJが5万円配ってる。これもう早苗給付金だろwwwwwwww [201193242]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
