PowerShell -Part 5

■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 00:29:52.04ID:/MpReTiX
前スレ
PowerShell -Part 4
https://mevius.5ch.net/test/read.cgi/tech/1577862511/

次スレは>>980が立ててね!!
2021/06/25(金) 17:07:37.16ID:czBKz/U/
>>402
期待したい
2021/06/25(金) 20:51:38.19ID:DaFL93KC
function ConvertTo-Hoge($source) {
Write-Output '次のファイルたちに対して処理を実行します。'
Get-ChildItem -Path $source -Recurse
# 外部コマンドによる処理。
hoge.exe $source
}
ConvertTo-Hoge 'c:\data\source.txt'

上記のコード内のGet-ChildItemで取得されるのは、引数として指定した
 c:\data\source.txt
だけと想定していましたが、実際は、
 c:\data\SUB_FOLDER\source.txt
といったサブディレクトリ内の同名ファイルも取得されてしまいます。
ファイルを指定した場合は-Recurseパラメータが無視されると勝手に思い込んでいたので、
こういうかたちで再帰的な取得をするのは面食らいました。

ファイルを指定した場合に再帰取得を抑制する方法はないでしょうか。
'c:\data\' や 'c:\data\*' といったパスを渡すケースもあるので
-Recurseパラメータを外したり、-Pathを-LiteralPathに換えるわけにはいかないです。
2021/06/25(金) 21:15:44.26ID:RnIW6d/1
Powershellのコマンドレットにはあまり期待するな
2021/06/25(金) 22:33:40.40ID:gHkCbSTz
>>404
当たり前でしょ
c:\data\source.txt がファイルかどうかは調べるまでわからないんだし
そもそもc:\data\source.txtがなくてc:\data\SUB_FOLDER\source.txtがあるならc:\data\SUB_FOLDER\source.txtは欲しいんでしょ?

> ファイルを指定した場合に再帰取得を抑制する方法はないでしょうか。
指定したのがファイルなら-Recurse外せばいいだけじゃないの?
2021/06/25(金) 23:34:28.71ID:DaFL93KC
>>405
そんなあ…。
>>406
ありがとうございます。
Get-ChildItemの前に検査するしかないんですね。
なお、c:\data\source.txt も c:\data\SUB_FOLDER\source.txt も両方存在しています。
Get-ChildItem -Recurse で両方を取得してしまいますが
SUB_FOLDERの方は処理から除外したいやつで欲しくないのです。
2021/06/26(土) 04:19:56.86ID:SGwHfoMZ
Get-ChildItemのオプションは沢山あるからよく調べて除外指定すりゃいいし
パイプでWhere-Objectに渡して要らないのをフィルタするという手もある
409デフォルトの名無しさん
垢版 |
2021/06/26(土) 08:07:50.32ID:PnU/npNW
$a = @(Get-ChildItem -Path $source -Recurse)
$target = if ( $a[0].Name -eq $source ) { $a[0] } else { $a }

するぐらいかなぁ
要件満たせてるのかわかんないけど
2021/06/26(土) 08:10:50.49ID:W7G/Wq0v
Get-ChildItemのオプションで除外するかWhere-Objectでフィルタか
両者にはどんな得意不得意があるの?
411404
垢版 |
2021/06/26(土) 10:25:46.45ID:hFKbHeBr
>>408
自分が理解できる範囲でオプションを組み合わせてもうまくいかなかったのですが、
そういえばパスに*が含まれる場合は-Path、そうじゃない場合は-LiteralPathにすれば
想定する動作になるのかなと思いました。
コードが手元にないのであとでやってみます。
Where-Objectに渡すのは、すみません今回の場合にどうフィルタするのか想像つきません。
どうもありがとうございます。

>>409
これでうまくいきそうに思います。
*の有無で分岐するのと両方を試してみたいと思います。
どうもありがとうございます。
2021/06/26(土) 10:58:10.50ID:XYwUNHu1
>>411
こんな感じでよくない?
Get-ChildItem -Path $source -Recurse:(Test-Path $source -PathType Container)

hoge.exe の仕様にもよるけれど、-File とかも指定しないと変かも。
413404
垢版 |
2021/06/26(土) 11:51:34.42ID:hFKbHeBr
>>412
こういった、パラメータの後ろに:をつけてオンオフを切り替える書き方を知りませんでした。
この方法でもできそうなので試してみます。
勉強になります。
どうもありがとうございます。
2021/06/26(土) 14:42:37.37ID:+oUd2Rws
>>412
$sourceにワイルドカード含まれてたら意図した動作にならないかと思ったけど、そんなことない?
2021/06/26(土) 17:37:56.83ID:+oUd2Rws
>>411
ワイルドカードが含まれない場合でもフォルダー指定ならrecurseが必要なんじゃない?
2021/06/26(土) 18:15:40.91ID:SGwHfoMZ
そもそも >>404 で無条件にgciに渡してるとこからおかしいと思う
1. まず$sourceにワイルドカード文字が入ってるかどうかを判定する $source -match "[\*\?]"
2. 次にディレクトリ指定かを判定する Test-Path $source -PathType Container
3. そうでないならファイル指定かを判定 Test-Path $source -PathType Leaf
4. これ以外はエラーとする

1と2のケースならgciに掛けて除外したいものをWhere-Objectでフィルタしながら処理する
gci $source -recurse | ?{ $_.FullName -notlike "*SUB_FOLDER*" } | %{ hoge.exe $_.FullName }
3ならそのまま処理する hoge.exe $source
自分ならこんな感じで書くかな
417404
垢版 |
2021/06/26(土) 18:28:02.03ID:hFKbHeBr
>>416
そうですね・・・。
*(ワイルドカード)の有無で分岐する場合は、
Get-ChildItem -Path $source -Recurse #ワイルドカードあり

Get-ChildItem -LiteralPath $source -Recurse #ワイルドカードなし
というふうに両方に-Recurseをつければいいと思いますが、
-Recurseをオフにしちゃうとたぶん想定と違う挙動になりますね・・・。
実際のコードで検証してみます。
ありがとうございます。
418404
垢版 |
2021/06/26(土) 18:42:17.36ID:hFKbHeBr
リロードしてませんでした…。

>>416
想定外の文字列が渡されたケースなどを何も想定せずにいました…。

hoge.exeの引数は、ファイル1個でも、スペース区切りの複数ファイルでも、
フォルダでもワイルドカード付きでも受け取ってくれて処理してくれるのですが、
具体的にどのファイルに対して処理されたのか不安な時があるので
gciによりプロンプト上で確認したいというのが>>404のコードの意図なのですが、
よく考えたらgciの結果と、hoge.exeが処理するファイルが同じになるとは限らないので
筋の悪いことをしていたような気がしてきました。
2021/06/26(土) 19:19:36.00ID:+oUd2Rws
409ので最初のgciにfileオプション付けたらやりたいことできてない?
420404
垢版 |
2021/06/26(土) 20:40:31.67ID:hFKbHeBr
>>419
自宅のPCでやってみたらうまく行かなかったですが(再帰的に取得されてしまう)、
うろ覚えの再現をして何か間違っているかもしれないので、週明けに実際のコードで試してみます。
ありがとうございます。
421409
垢版 |
2021/06/27(日) 00:14:38.21ID:3ZU8XSDE
$sourceがファイル名でなくパス指定だとうまくいかないので

$a = @(Get-ChildItem $source -Recurse -File)
$target = if ( $a[0].Name -eq (Split-Path $source -Leaf) ) { $a[0] } else { $a }

とすべきでした
2021/06/27(日) 17:52:13.26ID:CXPSOiIf
.ps1スクリプトをタスクバーにピン留めして実行たいのですが皆さんどうしてますか
2021/06/27(日) 18:59:55.50ID:4zcgZlyh
ファイラー使ってるなぁ
2021/06/27(日) 19:52:40.86ID:VoyuuGop
>>422
引数付きのpowershell.exeショートカット作ってピン留めしたら?
2021/06/27(日) 20:14:26.80ID:tkVDl+qA
漏れは、デスクトップにショートカットを作る

例えば、WSL2, Ubuntu 18.04 を起動して、
作業フォルダを、Linux 側にあるプロジェクトフォルダに移動してから、
VSCode で、そこを開く

リンク先
C:\Windows\System32\wsl.exe code .

作業フォルダ
\\wsl$\Ubuntu-18.04\home\ユーザー名\proj01
426422
垢版 |
2021/06/28(月) 20:14:33.38ID:3DnBzo4y
>>424
「powershell.exe」でショートカット作成
引数を追加
タスクバーにピン留め
でいけました
ありがとうございます!
2021/07/05(月) 19:41:53.00ID:7JzKdw7c
Windows11入れたけど、PowerShellのバージョンが7.0.0-preview.3になってる
5.1も5.1.22000.1として使える
2021/07/05(月) 20:44:48.06ID:jxTbEq2m
おー、やっぱOS同梱するんだ
ライフサイクルの違いをどう吸収するのか興味深々
429デフォルトの名無しさん
垢版 |
2021/07/08(木) 20:38:28.01ID:zLx0Zsbg
>>387
想像つかない…どんな書き方なのか教えてもらえませんか?
2021/07/09(金) 01:47:38.94ID:iwqakx4X
>>428
Powershell7は.Netごと自動更新にするんじゃね
仕様が変わっちゃいけない用途はPowershell5.1で
2021/07/10(土) 15:14:28.43ID:wJrCg/wx
こっちの環境だとPowershell7はインストールされてないな
5.1.22000.1はインストールされてるけど
2021/07/18(日) 10:38:35.13ID:2Hl3gQcn
11出るのかよ
ずっと10でアップデしそうだから安心と思って10のライセンス買ってしまったぞ
2021/07/18(日) 10:47:51.10ID:/77lPQJR
無償アップグレードのはず
2021/07/18(日) 10:54:20.96ID:YpvM2GEz
>>433
サンキュー、出てるの全く知らなかった…
昔は新バージョン出る時アキバの行列報道とかあったけど、テレビも(AFAIK)無反応だな
2021/07/18(日) 20:02:18.33ID:1Kc/AZp0
>>434
正式版は出てないけど
2021/07/24(土) 08:32:00.72ID:+h0yrKJy
PowerShell始まったな

v7.2.0-preview.8 Release of PowerShell
https://github.com/PowerShell/PowerShell/releases/tag/v7.2.0-preview.8
> Add support to colorize FileInfo file names (#14403)
https://github.com/PowerShell/PowerShell/pull/14403
2021/07/24(土) 18:02:44.97ID:77oXDTTE
素人ですいません
デバイスとプリンターの中にあるスマホ「sh-08」をBtのアクセスポイント接続させるのは
コマンドラインではどう書けばいいんでしょうか?
2021/07/24(土) 18:19:05.10ID:VrPEdYlD
Connect-Me sh-08 -Through Bluetooth
2021/07/24(土) 19:35:50.21ID:pyapQHEM
嘘はいいです
2021/07/25(日) 08:38:03.39ID:c5+NRcB7
ツッコミどころ満載なリクエストだな
2021/07/25(日) 14:36:00.14ID:uBtwZZWI
Windows PowerShellでBluetoothを接続および削除する方法
https://base64.work/so/powershell/1664979
2021/07/25(日) 14:46:31.15ID:rfVczbW/
ヒントありがとうございます やっぱちょい難しそうですね
2021/07/25(日) 15:15:38.30ID:AEWDeocZ
昇格されたアクセス許可が必要って時点でもう何か違うような
2021/07/25(日) 20:56:19.00ID:MU31hGNj
get-wmiobjectでインスタンス見つけて接続すりゃいいんだろうけど、PC側からスマホに接続するって、どんな用途なのかな?
スマホ側の写真をPCに転送するぐらいでしかBluetooth使ったことないので、なんか便利なこと出来るなら教えて欲しい
445437
垢版 |
2021/07/25(日) 22:39:31.80ID:rfVczbW/
普段の回線だと5ch規制で書けないのでBtテザリングのスマホ回線に切り替えるわけですが
いちいちスマホのアイコンを右クリッタするのが面倒なのでバッチファイルで接続できないかなと
メトリック値の書き換えで回線切り替えるのはできてるんですが
2021/07/25(日) 23:06:54.56ID:WJtzD90t
なるほど
常に接続してるなら静的ルート設定するなりしておけばいいんだろうけど、スマホだとそうもいかないから、書き込むときだけモバイル回線使うようにしたいってことね
2021/07/25(日) 23:22:27.51ID:AEWDeocZ
スマホのアイコンの右クリックとかの操作をするだけならシェル名前空間の範囲でできそうだね
$shapp = new-object -com "Shell.Application"
$folder = $shapp.Namespace([System.Environment]::GetFolderPath("desktop"))
foreach ($item in $folder.Items()) {
if ($item.Name -like '*スマホ名*') {
foreach ($Verb in $item.Verbs()) {
if ($Verb.Name -like '*接続とか何とか*') {
$Verb.DoIt();
}
}
}
}
2021/07/27(火) 04:10:09.87ID:MxdGAs2p
カスタムオブジェクトを返すコマンドレットを作って戻り値を変数に割り当てた時、
変数名の後にメンバーが補完される場合とされない場合があるんだけど何が基準なんだろう?
2021/08/04(水) 01:55:31.71ID:0L18Nxkj
>>231
実行ファイル名の変更はマジで影響でかそうだよね。
例えばリモートデスクトップだって実行ファイル名はいまだに大昔の
mstsc(Microsoft Terminal Services Client の略称)のまま変えてないというのに。。
2021/08/04(水) 08:23:43.34ID:HT9phpQf
.NETのサポート期間はLTSでも3年なので、今後もしWindowsに標準で入れるなら3年ごとにWindowsUpdateで破壊的変更が入るという冗談のようなシェルになる
どうせ誰も移行しないんだから問題ないよ
2021/08/04(水) 09:26:01.56ID:DV/IEEV3
このスレに来るくらいのヘビーユーザー以外は大した移行コストを払うほどスクリプトを書いてないんんじゃね
少なくとも俺が書いたスクリプトは修正した記憶がない
2021/08/04(水) 09:29:59.39ID:DV/IEEV3
何年か前からアナウンスしても移行が破綻するほどに互換性が皆無なら、言語そのものが致命的な破壊的変更すぎるということだし
そうでないならどこかのタイミングでエイリアス化してもそこまで困らない
ちょうどいまのIEとEdgeに似た状況なのでは
2021/08/04(水) 09:42:06.91ID:L56ZMFZY
powershellってスクリプトそれ自体が資産というよりは、特定の環境とセットで動きゃOKな書き捨てスクリプトがほとんどだろうから、
現実には.NETランタイムもpwshも自分で入れてサポート期限なんか無視してバージョン固定で塩漬けだろうね
むしろ勝手に更新される心配がない分嬉しいまである
社用端末のログインスクリプトだったり、厳密にサポート期限を気にして更新していかなきゃいけないような案件だったら使い物にならんわな
2021/08/05(木) 04:38:47.31ID:Tf/rxMp6
>>453
>社用端末のログインスクリプトだったり、厳密にサポート期限を気にして更新していかなきゃいけないような案件だったら使い物にならんわな

夜間バッチをbatで書いてたのを全部powershellに書き換えた企業とかあるけど、後悔あとに立たずだろうなあw
2021/08/05(木) 06:00:44.46ID:DkKGSCcN
>>454
なんで?
動くだろ
2021/08/05(木) 08:17:53.45ID:aTGdTUkH
そんな古臭い現場が移行するわけないでしょ
最終的にはps6以降のシリーズよりもps5の方が長くサポートされるだらうから何の問題もないよw
2021/08/05(木) 08:52:46.08ID:P8xbWRAo
互換性がどの程度でメンテや疎通のコストがどれほど必要になるのかを考えずに騒ぐのってどうなの
ワクチンの0.0014%の死亡率を見て、危険!ありえない!と叫ぶような非論理性を感じる
2021/08/05(木) 09:53:34.22ID:RzFkoDJo
コストは連続じゃないからね
実務経験あるならわかると思うけど、更新しなきゃいけない、更新したら壊れるかもしれない、最低限動作確認しなきゃいけない、
そういうことを考慮しなければならない時点で大きなコストなんだよ
その定量的な頻度や程度はあまり関係なくて、定性的にあるかないかで非連続なコストが発生するの
2021/08/05(木) 12:40:39.61ID:0ODnTX6h
Powershellでどんだけ巨大なシステム組んでんだろw
2021/08/05(木) 12:42:01.42ID:0ODnTX6h
pwsh.exe、psh.exe、ps.exeと3年毎に名前が変わったら俺もキレると思う
2021/08/05(木) 14:02:00.09ID:BRBZpMlk
別バージョンはちがう名前と考えれば納得いく
2021/08/05(木) 17:14:02.32ID:n+pQsKjw
>>458
結局、それが「考慮しなければならない」とか「定性的にあるかないか」っていう判断をするボーダーラインがあるって事だろ
>>457が言ってる程度の問題と本質的に変わらない
2021/08/05(木) 21:43:19.74ID:2EEp5i6b
コンソール無し版のpowershellwはまだですかいのう
2021/08/06(金) 00:16:50.16ID:qtuT33q6
何に使うのそれ・・・
2021/08/06(金) 02:36:04.91ID:kh9nM6mS
>>464
https://zenn.dev/kumarstack55/articles/2021-01-25-powershell-hide-window
2021/08/09(月) 13:18:29.21ID:cnxPPV9E
ISEは便利そうと思いつつ放置してるんだけどpwsh7xも使えるっぽいとどこかで読んだ
試してみるか
2021/08/09(月) 13:50:21.79ID:10+Ek5eo
なぜいまISE?
msはISEの開発を止めてVS Codeに軸足を移してるから今始めるならVS Codeじゃないのかな
統合エディタだから学習コストも増えるけどモダンエディタを知らずに過ごすのはそれはそれでもったいない
2021/08/09(月) 15:52:32.05ID:HsfcqsrB
>>467
VSCodeでデバッグしてると、たまに挙動おかしくなる(ブレークポイントで止まらなくなったり)んだが、ISEだと問題なかったりする。

こういうときは諦めてISE使うしかないの?
2021/08/09(月) 17:36:09.94ID:oYIWlVz7
>>468
そんな挙動に出くわしたこと無いなぁ
2021/08/09(月) 18:44:32.05ID:cLprbED+
>>460
unix系だとシバンで困る
7系をパッケージマネージャで入れるとパスにはpwsh-previewなる実行ファイルが置かれる
8になったら今度はそれがpwsh-previewだろうし
せめてpwsh7とか、あんまり攻めない内容ならpwshでざっくり指定させて欲しい

勝手にni pwsh -target pwsh-preview -itemtype symboliclinkしてるけど
2021/08/10(火) 00:57:50.39ID:KvFy61fq
単にブレークポイントまでたどり着いて無いんじゃないのか
VSCodeで実行毎にPowerShellの環境作り直してくれる機能がないとデバッグできないわ
2021/08/14(土) 20:57:32.62ID:SLWROWoW
v7.0.7
https://github.com/PowerShell/PowerShell/releases/tag/v7.0.7
v7.1.4
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.4
2021/08/15(日) 20:51:02.97ID:cCxAlcwE
(1 -eq 1 -eq 1) #True
(1 -le 2 -le 3) #True
(1 -lt 2 -lt 3) #False

何で3行目だけTrueではなくFalseになるの?誰か教えて
2021/08/15(日) 21:21:37.29ID:E1VQb9fL
1 -lt [int](2 -lt 3) って扱いになってるのかな
2021/08/15(日) 22:20:12.40ID:Z12lyLwX
比較演算子の左がブール値なら右の値もブール値として扱われるから0以外は全部trueになるってことやろね
2021/08/19(木) 18:57:52.65ID:HBxan8+j
.NetCore版って起動の高速化できないのかな
自分で使う分にはいいんだけど、スクリプト使ってもらう時に不安がられる
2021/08/20(金) 02:15:53.16ID:1z1ABMWo
わかる
2021/08/20(金) 03:36:25.48ID:fkNLvzJY
なんかしら起動中の表示してくれたらいいんだけどな
batファイルからPowershellスクリプト実行すれば似たようなことできるが、そのために態々batファイル作るのなんか嫌だ
2021/08/20(金) 17:22:54.58ID:iiwGu2qc
スクリプトに一行足して拡張子.batにするだけだと思うけど、何が嫌なのかな?
2021/08/20(金) 17:39:03.48ID:fkNLvzJY
PowerShell単体で渡せなくなるじゃん
2021/08/20(金) 17:46:31.39ID:fkNLvzJY
>>479
よく読んだら「スクリプトに一行足して拡張子.batにする」って
Powershellスクリプトをbatファイルとして保存して実行する方法があるって事?
2021/08/20(金) 20:05:06.99ID:iiwGu2qc
>>481
この記事のbase64の前に書いてあるのがそれ
https://qiita.com/cd01/items/82829ba0ec0f59e1b04d
2021/08/20(金) 20:06:46.01ID:iiwGu2qc
> やってることは、両方ともバッチファイルの中で自分自身を呼び出して、その呼び出す記述を呼び出す側で無視するという感じ。
484デフォルトの名無しさん
垢版 |
2021/08/22(日) 07:57:55.97ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/22(日) 16:22:22.41ID:wJpTfwln
batから呼び出す奴はこんなのもあるね
ttps://reosablo.hatenablog.jp/entry/2016/07/09/193617

.batのセキュリティゆるゆるなのを利用して実行権限無しでpowershellスクリプトを走らしちゃう感じらしい
2021/08/22(日) 18:32:28.29ID:Itquj+z7
簡易版はホントに短くまとまっててよいですね
今度から俺もこっちにしよう
2021/08/22(日) 19:00:26.43ID:uP295b6W
すげーなこういうのよく思い付くな
知ってしまえば簡単な仕組みだけど、
単一ファイルで動かすって発想がなかったから素直に感心する
488デフォルトの名無しさん
垢版 |
2021/08/22(日) 19:00:34.83ID:Itquj+z7
ExecutionPolicyを指定してこんな感じかな

@powershell/exe un /nop '#'+(gc \"%~f0\"-ra)^|iex&exit/b
489デフォルトの名無しさん
垢版 |
2021/08/22(日) 19:05:56.51ID:Itquj+z7
unじゃなくてuだけでよかった
490デフォルトの名無しさん
垢版 |
2021/08/22(日) 19:08:51.09ID:Itquj+z7
こうか
@powershell/ex u /nop '#'+(gc \"%~f0\"-ra)^|iex&exit/b
2021/08/22(日) 21:59:38.51ID:aqCRpfAk
例えば漏れは、デスクトップにショートカットを作って、
ダブルクリックで、Ruby スクリプトを起動してる。
同様に、PowerShell スクリプトも起動できないの?

リンク先
C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/a.rb"

注意。投稿できないので、間に@を入れました

作業フォルダ
C:\Users\Owner\Desktop
2021/08/22(日) 22:06:23.04ID:uP295b6W
>>491
だからrubyキチはバカって言われるんだよ
2021/08/22(日) 23:05:00.65ID:bImPNL7l
>>491
1ファイルで実行したいって言ってるのにショートカット作るのかよw
2021/08/23(月) 21:31:06.73ID:KSZvfVlM
てすと
C:\Windows\System32\cmd.exe
2021/08/24(火) 07:37:43.99ID:ttKQ7L6u
cmd.exe
2021/08/25(水) 10:04:47.88ID:fqAWoYoi
バッチファイルに埋め込むときはシフトJISにしないといけないのがチョイ面倒ですね
昨今だとメモ帳もutf-8ですし
2021/08/26(木) 00:11:52.59ID:nRffzhpX
コードページ変えられるよ
2021/08/26(木) 00:12:33.27ID:nRffzhpX
chcp 65001
2021/08/26(木) 00:27:24.00ID:gGZ1hKqh
コードページ変更っていろいろ罠があったような…
フォントを変えておかないとダメとか
コマンドの一部は期待どおりに動作しないとか
2021/08/26(木) 09:51:33.43ID:ACJcVgWm
シフトJISにしておけばget-contentでエンコーディング指定も不要なので、まぁ、いいかなと
VS codeでオープン時or保存時にシフトJISにするだけですし
2021/08/26(木) 10:33:43.73ID:+CO4gcjh
$PSDefaultParameterValue["*:Encodings"] = "utf8NoBom"にしてるけど大体大丈夫だ
コマンドレットには全て暗黙に渡るので一貫性は保てる
Core 6/7だと空でもこれがデフォルトのはず
cmdはレジストリのどっかでchcp 65001指定した、とりあえず今まで問題はない、気がする
2021/08/26(木) 10:37:16.39ID:+CO4gcjh
utf8は低レベルでの扱いがめんどいから、固定長utf-32か、ほぼ固定長のutf-16が流行ってくれた方が嬉しかったんだけれども…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況