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/09/21(火) 10:41:16.50ID:IpiCAawJ
>>1
>>301のリンク先にPowerShell のサポートライフサイクル書いてあるよ
>PowerShell Coreサポート終了日
7.1 2022 年 2 月中旬 (予定)
7.0 2022 年 12 月 3 日
6.2 2020 年 9 月 4 日
6.1 2019 年 9 月 28 日
6.0 2019 年 2 月 13 日
このドキュメントでは、PowerShell Core のサポートについて説明します。Windows PowerShell (1.0 から 5.1) は、Windows OS のコンポーネントです。 コンポーネントは、親製品または親プラットフォームと同様のサポートを受けます。

PowerShell 7.1 (現在) .NET 5.0 (最新) 上に構築されています。
PowerShell 7.0 (LTS) .NET Core 3.1 (LTS) 上に構築されています。
PowerShell 5.1 Windows 10 Anniversary Update および Windows Server 2016 でリリースされました。
PowerShell 4.0 Windows 8.1 および Windows Server 2012 R2 に統合されています。 Windows 7 SP1、Windows Server 2008 R2 SP1、Windows Server 2012 にインストールできます。
2021/09/21(火) 11:09:28.80ID:nttPkmcf
.net (core) に紐付くpwshとOSに紐付くpowershellか
11がpwshのみになったら、結構なインパクトだね
2021/09/21(火) 11:22:39.67ID:Da3XTUmu
まさかpowershellがこんなに早く泥沼レガシー化するとはな
まあPowerShellが成功したことの裏返しではあるが
2021/09/21(火) 11:32:16.53ID:nttPkmcf
まだ、pwsh一本になるかわからんのでは?
まぁ、自分はpwshになっても困らんけど
2021/09/21(火) 13:22:46.25ID:/2oLRKWG
>>553
powershellにどっぷり依存したスクリプトは死亡か
2021/09/21(火) 18:35:29.10ID:M4Sh91tB
2年弱で開発会社から使うなと言われる言語/バージョンなんて使えねぇ。
ソフト開発中に期限切れになる。
2021/09/21(火) 19:45:57.83ID:+NRxBuUH
Windows PowerShell 5.1使っておけばいいんじゃね
2021/09/22(水) 08:31:43.75ID:FN2sBDTe
>>557
それじゃあJavaが糞みたいじゃないか

https://www.infoq.com/jp/news/2021/08/java-17-glass/

多くのチームが6か月サイクルのメジャーリリース番号と一致するようにJavaバージョンをアップグレードしているという証拠はない。
New Relicの顧客ベース(数千万の本番JVMを含む)のデータによると、LTS以外のJavaバージョンが1.5%を超える市場シェアに至ったことは一度もない。
LTS以外のJavaバージョンのほとんどは、リリースから数か月以内に、0〜0.5%に低下する。

むしろ、市場全体としてはJava 8と11を使用し続けている。これには、Oracleから離れ、8と11の増分更新の提供を別のベンダーに依存している場合も含まれる。
現在、2つのLTSバージョンが市場シェアの二分しつつある(統計的なノイズレベルを下回る非LTSバージョンもある)。
これは、Java 8が普及した速さと比較して、Java 11の普及がはるかに遅いことを表している(3年で約50%の市場シェア)。
2021/09/22(水) 09:19:00.25ID:tSQB3N1g
>>559
Javaはクソだし脱Oracleの流れは相変わらず進んでるしで未来はないだろ
代わりの効かない言語でもなくなっちゃったし
2021/09/22(水) 20:05:39.38ID:3C9wtQqc
みずほ銀は Java 変えるの不可能なんじゃね
2021/09/23(木) 05:09:50.35ID:zN5TM8vm
そりゃまだCOBOLメインテナンスしてるとこもある
2021/09/23(木) 15:45:46.23ID:emRd8wBh
短期のリリースサイクルが困るならLTSのみ使って、インターネット接続がない特殊な用途なら、別途、MSと相談かwindows使わないことを検討したほうがいい
まぁ、ちょっと前だと新生銀行のATMとか、最近でもデジタルサイネージで再起動促すダイアログでて止まってたりするの見かけたけど

普通の使い方ならバージョン固定にしてセキュリテイパッチあてない運用は取り得無いから、ガンガン更新するしかないよね
2021/09/23(木) 19:44:57.25ID:vr6lr97h
ISO 規格になってる言語は安心だな。
古い規格で作成したシステムも、いつまでも正々堂々と使える。
使うなとは誰も言わないし、ライセンス料も請求されないし、訴訟も起こされない。 後方互換もばっちり。

Java は 1CPU あたり年60万円請求される。 マルチCPU、クラスタシステム、マルチサーバならサーバ側だけでも途方もない金額になるし、
それに加えクライアントPCにも使用者指名ごとに料金が発生する。
2021/09/23(木) 20:46:27.83ID:6yVIV0g8
> ISO 規格になってる言語は安心だな。

やはりC#の勝利か

ISO/IEC 23270:2018
Information technology - Programming languages - C#
https://www.iso.org/standard/75178.html
2021/09/23(木) 22:34:58.67ID:zvLE5dwK
C#の規格って全然更新されてなくて、実質的に全く意味をなしてないぞ
2021/09/23(木) 22:41:18.72ID:ELm2gUfv
更新されないのはいいことだ
2021/09/23(木) 22:58:53.32ID:0/zDNCjz
標準規格は「存在している」ことに意味がある
Rubyなんかもそうだけど、実際には更新されてなくて規格自体の利用価値は皆無だとしても、採用を後押しするための営業トークとしては有効だ
実際564や565は騙されてるわけだしな
2021/09/24(金) 00:30:37.06ID:0A2A7GYN
>>564
今はJRE使わない選択もできるけど、
新規はOracleと関わるの避けるだろうからJavaは緩やかに死んでいくと見た
2021/09/24(金) 00:49:07.36ID:Sk1oVFyh
OpenJDKで何一つ困ってないからなあ
Oracleがライセンス変更で一儲け狙ったのに、AmazonとかのOpenJDKのディストリビューションにJava市場がごっそり流れた
焦ったOracleがバージョン17から少しの間無償に戻しますんでどうかまた使ってくださいと懇願中(今ここ)
OracleJDKの有償サポートを望んでいる顧客がほとんどいなかったという結論が出たのでOpenJDKさえあればいい
2021/09/24(金) 02:02:31.19ID:LQ0rd/n8
>>567
実装の方がどんどん更新されてる
2021/09/25(土) 21:04:24.06ID:9x+/yV3L
Java の 3rd デベロッパを排除するため、Oracle が Java に機能追加して、
OpenJDK などのプロジェクトが Java に準拠していないと嫌がらせ訴訟することはできる。

Oracle が Microsoft に Java 訴訟したときの言いがかり内容は違うけど、同じ手法を使わないとは言えない。

スレチだから そろそろおしまい。
2021/09/25(土) 21:42:09.17ID:cC0TU6KS
自分が言いたいこと言い終わったからおしまいか
2021/09/25(土) 22:33:53.09ID:Y1lLm4iT
WinRMはいつまで生き残るんだろうね?
OpenSSHに取って代わられることになるのかなぁ
2021/09/29(水) 23:56:59.06ID:fF+iSaYJ
>>545
そこでcmd |vim -Es -c ':g/re/p'
>>574
sshもwinRMも気兼ねなく両方使えばいいのでは
unixとlinuxが接続先ならssh、rshにpwshを設定するのはあまり想定されてないのか設定がちょっと面倒

だとしても、両方標準でサポートしてるwinはやはりunix/linuxよりリモート向きOSだと思ってます
2021/10/01(金) 00:56:43.69ID:vAUcQRYE
適当なのを探すのが面倒でリマインダーアプリをpowershell(C#)辺りで作ろうかと思うんだが
UIをwinformにするかWeb系にするか迷ってる
2021/10/01(金) 01:47:02.72ID:9Tf9Sjyk
Windows.UI.Notificationsを使うという手も
https://den.dev/blog/powershell-windows-notification/
2021/10/03(日) 20:53:35.06ID:GJ3xKl9+
ver7.1のConvertFrom-Jsonで取得したPSCustomObject/Hashtableが
{ "name"="foo"; "count"=1}
となっていて、key名に"count"が使われている為、
$v.count
$v['count']
等の値の取得でエラーになってしまうんですが、どうにか取得する方法は無いですか?
自分にはjsonの原文をreplaceするぐらいしか方法が見つかりませんでした。orz
2021/10/03(日) 21:17:26.86ID:RfSUiDPv
どんなJSONを使ったのか書いてくれ
580578
垢版 |
2021/10/03(日) 21:20:02.89ID:GJ3xKl9+
すみません。別の理由でエラーが出てたみたいで、ちゃんと取得できました。
申し訳ないです。
2021/10/05(火) 14:45:19.45ID:Vzh0q/ov
名前被ってても普通に$hash.count/$hash["count"]で.Valuesのcountが引かれる筈だけど、それがハッシュの文法なので

むしろコレクションのpropertyのCountが隠されるのが問題、こちらが確実に欲しければ$hash.Values.Count等と書くのが安全

$hash.Keys.countも同じ値を返すけど、これはKeysからキー"count"を引いてるように読まれる可能性が高いので勧めない
2021/10/06(水) 13:37:05.91ID:Y3s6WLpv
>>581
$hash = @{Values = @{Count = -1}} とかだと、駄目だよね。

これ、本当に確実に取得するのは、わりと面倒なのかも。普通の使い方なら、
$hash.get_Count() とか、$hash.psbase.Count とかでいいとは思う。でも、

$hash | Add-Member ScriptMethod get_Count {-1} -Force

とかされると、get_Count() は使えなくなる。

$hash | Add-Member NoteProperty psbase @{Count = -1} -Force

とかはエラーになるけれど、

$psbase = New-Object Management.Automation.PSNoteProperty psbase, @{Count = -1}
$hash.psobject.Members.Add($psbase, $true)

とか強引に追加すると、妙なことになって、psbase.Count も使えなくなる。

本当に確実そうな方法は、(New-Object hashtable $hash).psbase.Count とか、
$hash.GetType().GetProperty('Count').GetValue($hash) とか?
583デフォルトの名無しさん
垢版 |
2021/10/14(木) 16:20:34.79ID:Zuo7IXnW
powershellのcd (Get-Childitem)には、CDPATHに相当するもの(か概念)って無いのでしょうか?
(行きたいディレクトリに簡単に行けなくて 不便を感じてるのですが)
2021/10/14(木) 17:12:51.73ID:F6GJrbHM
ZLocationがおすすめ
https://github.com/vors/ZLocation
585デフォルトの名無しさん
垢版 |
2021/10/14(木) 17:56:55.09ID:Zuo7IXnW
>>584 情報ありがとうございます
まぁたしかに 何でも「つくればある」のだから、自分なりに工夫してみようかと思いました
586デフォルトの名無しさん
垢版 |
2021/10/14(木) 18:22:20.84ID:Zuo7IXnW
>>583
ついでに言えば…Set-Location の間違いでした (笑) 使い始めて二日目なもので...
2021/10/14(木) 21:15:12.30ID:loydBA97
ディレクトリをSet-Locationしたら.NETのAPI側も合わせないとずれたままだぞ
だから次のような2行書いとく習慣付けるといいかも
カレントパス指定なんてめったに使わないけど
Set-Location -Path パス名
[IO.Directory]::SetCurrentDirectory((Get-Location).ProviderPath)
2021/10/14(木) 23:40:28.07ID:aRG2i7ze
それこそGetCurrentDirectory使うときだけの話だよな
対話的にSet-Location使う程度では必要ないだろう
べつに(pwd).Pathとかも渡せるし

CDPATH 
pwshでそんな移動しまくらないからワイには必要ないな
2021/10/15(金) 01:03:33.08ID:P3+DrVIB
適当に$CDPATH=Get-Locationとかやってりゃいいんじゃない?
2021/10/15(金) 22:58:53.33ID:KlL89mo2
v7.0.8
https://github.com/PowerShell/PowerShell/releases/tag/v7.0.8
v7.1.5
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.5
2021/10/19(火) 14:42:15.67ID:1a7BUMOp
一旦powershellで作ったはいいものの
起動が遅くてバッチやvbsで作り直す
常駐物ならC#で書き直す
2021/10/19(火) 20:57:46.00ID:aBJ6lObS
一旦powershellで作ったのはいいものでした
2021/10/19(火) 21:23:11.41ID:90J0NSJZ
PowerShellの起動が遅いと思うような環境ならC#アプリの起動も遅そうな気がするんだが
2021/10/20(水) 12:22:16.87ID:yLBdcth0
>>593
バッチやvbsだとpowershellが起動するまでに処理が終わってるし
C#に関しては話にならんほど差が出る
powershellの起動の問題は.NETランタイム以外にあるんじゃないの
サクっと作れるのは評価するが本番運用ではとても使えない
2021/10/20(水) 12:56:45.87ID:ngUNbqNs
要件次第としか
2021/10/20(水) 13:47:15.88ID:CIRlmBOD
起動時間シビアに気にするような本番運用ばかりじゃないしな
2021/10/20(水) 20:57:29.51ID:3GaA8N5r
ネットワークが遅いのでは?
起動時にインターネット接続見に行くので、ネットワーク遅いと辛いことに
スクリプト実行するだけなら、noprofile, noninteractive付けると良いですよ
2021/10/20(水) 20:57:35.93ID:3tEv1Sl5
PowerShellの起動が遅い人はプロファイルで時間がかかる処理してるんじゃないの
2021/10/20(水) 21:53:25.89ID:U4hhSk0+
イニシャルローディング時間が遅いだけで初回限りの現象なのでは?
2021/10/20(水) 23:22:34.38ID:P5BDeiqM
ネットワーク見てたのchocolatyのプロファイル読んでたからでしたわw
2021/10/21(木) 04:01:48.12ID:ehpI/07M
ふざけんな
2021/10/21(木) 12:31:37.50ID:kkshIJkE
PowershellでExcel操作できるの素晴らしくて信者になりそう
VBAやったことないけどVScodeで書きにくいってだけで敬遠する
2021/10/21(木) 12:48:08.17ID:WbB1T+tY
流石にVBAの方が使いやすいぞ
でもpwshでやるのが好き
2021/10/21(木) 12:51:21.99ID:yR1RZl9g
ExelがインストールされてるならCOM経由で操作できると思うけど、インストールされてない環境ならC#用のライブラリ使う感じかな
2021/10/21(木) 12:52:01.86ID:yR1RZl9g
VBAは遅すぎてなぁ
2021/10/21(木) 19:59:19.64ID:9KFcOoVu
チャートぐらい.NETの機能で描けるしExcelもVBAもいらない
2021/10/21(木) 22:53:22.14ID:snz0FCDA
excelはやたら高度な因子分析機能やソルバ(非線形、進化的最適化)ついてるから侮れない
2021/10/21(木) 23:03:44.60ID:fjfGcsWO
チャート描くのが目的なら使わなくていいんじゃない?
Exelの資料を編集するのが目的なら、COMかライブラリ使うしかない
2021/10/22(金) 08:29:48.79ID:tVaBgZ6B
エクセルよくわからんけどA.xslxのあるセルの値をB.xlsxのある場所に移す簡単なプログラム依頼されてて、VBA使えばできるんだろうけどわざわざシートにバインドされたマクロ書くのが無駄に感じるからpowershellで済ませようとしている...ダメ?
2021/10/22(金) 09:07:19.52ID:RUjjkZxa
好きにしろ
611デフォルトの名無しさん
垢版 |
2021/10/22(金) 10:07:54.24ID:EjatPKif
.psファイルは普通のPCでは実行できないよ
2021/10/22(金) 10:55:51.24ID:/YA0OWyv
>>611
誰もポストスクリプトファイル実行する話なんかしてないけどね
2021/10/22(金) 13:06:34.54ID:SA+7zjBD
上の方にあるpowershellスクリプトをバッチファイル内に埋め込む方法使えば、普通のWindows 10 PCなら動かせますよ
ポストスクリプトも一応チューリング完全だから、実行系さえあれば動かせますねwww
2021/10/22(金) 20:46:03.99ID:6MiPd5ZV
あーウゼー
2021/10/22(金) 21:21:39.78ID:EVzz2nOu
>>611
拡張子間違ってるぞ
2021/10/22(金) 22:24:13.62ID:8L7RGAQS
VSCode の拡張機能・GrapeCity のExcel Viewer じゃ、ダメなのか?

他にも、Rainbow CSV とか
2021/10/22(金) 23:08:57.50ID:fpd3u34i
>>616
スレチ
2021/10/23(土) 00:12:21.69ID:pYmoDx9D
代替案を出しただけでスレチとか
世界征服したいですとか質問が来たらどうすんだ
2021/10/23(土) 07:48:25.45ID:YfqEVQfQ
バカじゃねぇの?
2021/10/23(土) 08:53:25.35ID:p7WIutVI
>>618
PSで解決できる案を出せばそれはスレの趣旨に沿うだろ
2021/10/23(土) 10:07:48.57ID:bwy1yWHL
PSで世界征服
2021/10/23(土) 10:22:51.64ID:LN9x/bbj
Excel入ってない環境で内容を確認するだけなら使えそう
同じ処理を繰り返し実行するならスクリプト作るのがベスト
CSVなら外部ライブラリ導入せずともpowershellだけで処理出来るし
心を込めた手作業派はスレチ
2021/10/23(土) 21:14:23.04ID:j/f4QfO8
powershellの方がVBより文法的に楽だろJK
2021/10/23(土) 21:31:40.91ID:Q4dm2fcp
シジルが気になる人はそれなりにいるんじゃないかな?
まぁ、俺もVBの文法は肌に合わなくて、どうしてもマクロじゃないとダメって時だけしか触りたくないけど
2021/10/23(土) 22:19:22.89ID:EHtNtO17
VBAマクロはGitとかの管理がしんどくてコードレビューも辛い
2021/10/23(土) 23:12:10.13ID:ChfdQawL
PowerShellでCOMのIDispatchな操作やるとオブジェクト参照リークしまくるから別の専用プロセスでやるよね?
627デフォルトの名無しさん
垢版 |
2021/10/24(日) 07:49:15.35ID:9JgQl7FC
連想配列を学習中なのですが…
$a = @{"a"=10 ; "b"=20; "c"=30 } などとして連想配列を作り
> $a.count
3 # たしかに要素数は 3

なのに
> $a.length
1

lengthは 1 になるのは何故? …っていうか、1って何の長さ?
普通の配列だと、要素数は lengthでも countでも同じなのに
2021/10/24(日) 07:57:43.39ID:l/N511if
>>626
別プロセスでもよいけど、スクリプトブロック内で参照するオブジェクト作って、ブロックの外側でGC呼び出すだけでも十分じゃない?
629デフォルトの名無しさん
垢版 |
2021/10/24(日) 08:09:09.46ID:l/N511if
>>627
$a | Get-Member
すると表示されるプロパティには"length"は無いし,いっつもタブ補完してるからlengthプロパティ見たことなかったけど,確かに1って表示されるね
630デフォルトの名無しさん
垢版 |
2021/10/24(日) 08:14:44.25ID:l/N511if
配列は
$a = 1,2,3
,$a | gm
するとCountがAliasPropertyでLengthがPropertyって出てくるね
2021/10/24(日) 08:17:36.78ID:j8yOk2Jj
New V3 Language Features
https://devblogs.microsoft.com/powershell/new-v3-language-features/

You can now use Count or Length on any object, even if it didn’t have the property.
If the object didn’t have a Count or Length property, it will will return 1 (or 0 for $null).
Objects that have Count or Length properties will continue to work as they always have.

PS> $a = 42
PS> $a.Count
1
2021/10/24(日) 08:23:20.00ID:l/N511if
なるほどー
勉強になりました。ありがとう
633デフォルトの名無しさん
垢版 |
2021/10/24(日) 08:28:32.82ID:9JgQl7FC
つまり lengthなんてのが無くても 1は返る…と.
たしかに tabキーでの補完は出なかったけれど
でも 配列には lengthあるし、個人的にはrubyでもlength使えてたので…うっかり書きそうな気はするが、
…とりあえず勉強になりました
2021/10/24(日) 08:29:58.92ID:l/N511if
>>600
pwshだと起動時に更新チェックしてますよ
環境変数でオフに出来るみたいだけど
2021/10/24(日) 08:35:16.11ID:l/N511if
自分もRuby使ってるから分かりますわー
powershellではプロパティを大文字始まりのCamelCaseで書く様にすると
慣れるの早くなると思います
2021/10/24(日) 08:46:22.73ID:JG8zeEOx
$a.Countで1が変えるよりエラーを返して欲しいな
637デフォルトの名無しさん
垢版 |
2021/10/24(日) 09:21:28.43ID:l/N511if
blogの記事読むとForEach-Objectした際に
列挙可能なものかそうでないかの判定を行わずに済ませるためみたいです
確かにv2の頃は出力が一個だけだった時のために@()でくくってましたわ
それよりもForEach-Objectの省略記法で
(ls).FullName
ができるの初めて知りました.これは便利
2021/10/24(日) 09:51:12.20ID:1SVJ9Wvp
>>631
なんでこんな余計な機能をつけるんだろうね
>>636が言うように素直にエラーにして欲しいわ
2021/10/24(日) 10:47:06.59ID:l/N511if
foreachできるかいちいち判定するより便利だし、よいと思うけどな
実際、自分で書くスクリプトはめっちゃ恩恵にあずかってる
2021/10/24(日) 11:21:20.50ID:7IRX6L2k
知ってれば便利だし、知らなくてもあまり害にならないからね
今回の質問のケースも調べる気がなく急いでたならCount使えばいい案件
シェル言語は厳格さより楽さ優先でいい
惜しむらくはPSがもっと普及していれば変な癖も含めて常識になるけど、そこまで至ってないところ
641sage
垢版 |
2021/10/24(日) 13:02:54.56ID:cIzJWM7z
こんな感じのコードでもエラーが出ない為と書いてあったね

$x = dir
for ($i = 0; $i –lt $x.Count; $i++)
{
$x[$i] …
}

$x.gettype() で調べると値が1つならSystem.IO.FileSystemInfo
2つ以上ならSystem.Arrayで配列
配列と1つの値で同じコードで出来るのは個人的には楽でいいと思う
2021/10/24(日) 15:45:25.76ID:dQwbGYLm
jQuery Object も、0, 1, 2以上でも、配列として同じ書き方ができる。
0でもエラーにならず、単にループしないだけ

0, 1, 2以上で、表現・型を変えるものは、大変
2021/10/24(日) 17:38:58.32ID:jz1DejpB
>>641
配列を期待してるのに1要素が返る場合に配列で返らないのは階層データ構造を作る場合とても困る
gcはいつも$hagelist = [string[]](gc hage.txt)
ってやってるわら
ハゲが一人だと配列にならないしハゲがいないと$nullになるし
要素数0、1、2以上で型が変わる仕様はいつ見ても気持ち悪い
2021/10/24(日) 18:40:57.32ID:1SVJ9Wvp
まあこの手の仕様はどっちが正解とかはないので結局は好き嫌いでしかないよね
個人的には単一の値と配列を同一に扱いたい時は@(…)で充分なような気がする
645デフォルトの名無しさん
垢版 |
2021/10/25(月) 07:12:04.32ID:UuRFLqCB
ForEach-Objectだと配列のネストをフラットにしてくれるけどforeachだとそうならないから
@()でくくるので全て解決ってことにはならないんじゃないかな
あと,エラー出してくれる動作の方が好みなら
Set-StrictMode -Version Latest
にするとエラーになりますよ
2021/10/25(月) 23:46:47.63ID:ahXaOei7
countが使えるから何だって感じ
外部テキストファイル扱う時は0バイト、1行のみ、複数行のテスト必須だな
2021/10/26(火) 00:05:31.73ID:lX9x28FW
そうしたければそうすればいいんじゃないかな?
俺は必須だとは思わないけど
2021/10/26(火) 09:37:37.38ID:t3bhaUes
いちいちバイト数や行数を調べるより
何も考えずに@()を使ったほうが分かりやすい
649デフォルトの名無しさん
垢版 |
2021/10/26(火) 11:39:01.57ID:lX9x28FW
配列に$nullや空文字列が含まれる場合のチェックはどのみち必要になるだろうからv3記法がスッキリ書けて嬉しい
@()で括るのは想定外の挙動になるのと、もうすでにもっと簡易な記法が言語サポートされてるんだから使う必要ない
650デフォルトの名無しさん
垢版 |
2021/10/28(木) 11:41:35.91ID:d18Bz9B/
powershelle初心者だけどこんなバッチファイルを書き換えたい場合どうやって置き換えたらいいかな?
%%j(2番目トークン)の参照方法が分からないので教えてください。

for /F "tokens=1-2" %%i in (%TBL%) do (
if "%1" == "%%i" (
set MSG=%%j
  )
)
651デフォルトの名無しさん
垢版 |
2021/10/28(木) 12:37:45.38ID:ZmBUU4bO
対応が付きやすいようになるべく同じかきかたしたらこんな感じかな
Get-Content $env:TBL -Encoding Oem | ForEach-Object {
$a, $b = -split $_
if ( $args[0] -eq $a ) {
$msg = $b
}
}
652デフォルトの名無しさん
垢版 |
2021/10/28(木) 12:38:27.35ID:ZmBUU4bO
半角スペースが消えちゃって見辛い(泣
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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