前スレ
PowerShell -Part 4
https://mevius.5ch.net/test/read.cgi/tech/1577862511/
次スレは>>980が立ててね!!
探検
PowerShell -Part 5
■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 00:29:52.04ID:/MpReTiX
552デフォルトの名無しさん
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 にインストールできます。
>>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 にインストールできます。
553デフォルトの名無しさん
2021/09/21(火) 11:09:28.80ID:nttPkmcf .net (core) に紐付くpwshとOSに紐付くpowershellか
11がpwshのみになったら、結構なインパクトだね
11がpwshのみになったら、結構なインパクトだね
554デフォルトの名無しさん
2021/09/21(火) 11:22:39.67ID:Da3XTUmu まさかpowershellがこんなに早く泥沼レガシー化するとはな
まあPowerShellが成功したことの裏返しではあるが
まあPowerShellが成功したことの裏返しではあるが
555デフォルトの名無しさん
2021/09/21(火) 11:32:16.53ID:nttPkmcf まだ、pwsh一本になるかわからんのでは?
まぁ、自分はpwshになっても困らんけど
まぁ、自分はpwshになっても困らんけど
556デフォルトの名無しさん
2021/09/21(火) 13:22:46.25ID:/2oLRKWG >>553
powershellにどっぷり依存したスクリプトは死亡か
powershellにどっぷり依存したスクリプトは死亡か
557デフォルトの名無しさん
2021/09/21(火) 18:35:29.10ID:M4Sh91tB 2年弱で開発会社から使うなと言われる言語/バージョンなんて使えねぇ。
ソフト開発中に期限切れになる。
ソフト開発中に期限切れになる。
558デフォルトの名無しさん
2021/09/21(火) 19:45:57.83ID:+NRxBuUH Windows PowerShell 5.1使っておけばいいんじゃね
559デフォルトの名無しさん
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%の市場シェア)。
それじゃあ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%の市場シェア)。
560デフォルトの名無しさん
2021/09/22(水) 09:19:00.25ID:tSQB3N1g561デフォルトの名無しさん
2021/09/22(水) 20:05:39.38ID:3C9wtQqc みずほ銀は Java 変えるの不可能なんじゃね
562デフォルトの名無しさん
2021/09/23(木) 05:09:50.35ID:zN5TM8vm そりゃまだCOBOLメインテナンスしてるとこもある
563デフォルトの名無しさん
2021/09/23(木) 15:45:46.23ID:emRd8wBh 短期のリリースサイクルが困るならLTSのみ使って、インターネット接続がない特殊な用途なら、別途、MSと相談かwindows使わないことを検討したほうがいい
まぁ、ちょっと前だと新生銀行のATMとか、最近でもデジタルサイネージで再起動促すダイアログでて止まってたりするの見かけたけど
普通の使い方ならバージョン固定にしてセキュリテイパッチあてない運用は取り得無いから、ガンガン更新するしかないよね
まぁ、ちょっと前だと新生銀行のATMとか、最近でもデジタルサイネージで再起動促すダイアログでて止まってたりするの見かけたけど
普通の使い方ならバージョン固定にしてセキュリテイパッチあてない運用は取り得無いから、ガンガン更新するしかないよね
564デフォルトの名無しさん
2021/09/23(木) 19:44:57.25ID:vr6lr97h ISO 規格になってる言語は安心だな。
古い規格で作成したシステムも、いつまでも正々堂々と使える。
使うなとは誰も言わないし、ライセンス料も請求されないし、訴訟も起こされない。 後方互換もばっちり。
Java は 1CPU あたり年60万円請求される。 マルチCPU、クラスタシステム、マルチサーバならサーバ側だけでも途方もない金額になるし、
それに加えクライアントPCにも使用者指名ごとに料金が発生する。
古い規格で作成したシステムも、いつまでも正々堂々と使える。
使うなとは誰も言わないし、ライセンス料も請求されないし、訴訟も起こされない。 後方互換もばっちり。
Java は 1CPU あたり年60万円請求される。 マルチCPU、クラスタシステム、マルチサーバならサーバ側だけでも途方もない金額になるし、
それに加えクライアントPCにも使用者指名ごとに料金が発生する。
565デフォルトの名無しさん
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
やはりC#の勝利か
ISO/IEC 23270:2018
Information technology - Programming languages - C#
https://www.iso.org/standard/75178.html
566デフォルトの名無しさん
2021/09/23(木) 22:34:58.67ID:zvLE5dwK C#の規格って全然更新されてなくて、実質的に全く意味をなしてないぞ
567デフォルトの名無しさん
2021/09/23(木) 22:41:18.72ID:ELm2gUfv 更新されないのはいいことだ
568デフォルトの名無しさん
2021/09/23(木) 22:58:53.32ID:0/zDNCjz 標準規格は「存在している」ことに意味がある
Rubyなんかもそうだけど、実際には更新されてなくて規格自体の利用価値は皆無だとしても、採用を後押しするための営業トークとしては有効だ
実際564や565は騙されてるわけだしな
Rubyなんかもそうだけど、実際には更新されてなくて規格自体の利用価値は皆無だとしても、採用を後押しするための営業トークとしては有効だ
実際564や565は騙されてるわけだしな
569デフォルトの名無しさん
2021/09/24(金) 00:30:37.06ID:0A2A7GYN570デフォルトの名無しさん
2021/09/24(金) 00:49:07.36ID:Sk1oVFyh OpenJDKで何一つ困ってないからなあ
Oracleがライセンス変更で一儲け狙ったのに、AmazonとかのOpenJDKのディストリビューションにJava市場がごっそり流れた
焦ったOracleがバージョン17から少しの間無償に戻しますんでどうかまた使ってくださいと懇願中(今ここ)
OracleJDKの有償サポートを望んでいる顧客がほとんどいなかったという結論が出たのでOpenJDKさえあればいい
Oracleがライセンス変更で一儲け狙ったのに、AmazonとかのOpenJDKのディストリビューションにJava市場がごっそり流れた
焦ったOracleがバージョン17から少しの間無償に戻しますんでどうかまた使ってくださいと懇願中(今ここ)
OracleJDKの有償サポートを望んでいる顧客がほとんどいなかったという結論が出たのでOpenJDKさえあればいい
571デフォルトの名無しさん
2021/09/24(金) 02:02:31.19ID:LQ0rd/n8 >>567
実装の方がどんどん更新されてる
実装の方がどんどん更新されてる
572デフォルトの名無しさん
2021/09/25(土) 21:04:24.06ID:9x+/yV3L Java の 3rd デベロッパを排除するため、Oracle が Java に機能追加して、
OpenJDK などのプロジェクトが Java に準拠していないと嫌がらせ訴訟することはできる。
Oracle が Microsoft に Java 訴訟したときの言いがかり内容は違うけど、同じ手法を使わないとは言えない。
スレチだから そろそろおしまい。
OpenJDK などのプロジェクトが Java に準拠していないと嫌がらせ訴訟することはできる。
Oracle が Microsoft に Java 訴訟したときの言いがかり内容は違うけど、同じ手法を使わないとは言えない。
スレチだから そろそろおしまい。
573デフォルトの名無しさん
2021/09/25(土) 21:42:09.17ID:cC0TU6KS 自分が言いたいこと言い終わったからおしまいか
574デフォルトの名無しさん
2021/09/25(土) 22:33:53.09ID:Y1lLm4iT WinRMはいつまで生き残るんだろうね?
OpenSSHに取って代わられることになるのかなぁ
OpenSSHに取って代わられることになるのかなぁ
575デフォルトの名無しさん
2021/09/29(水) 23:56:59.06ID:fF+iSaYJ576デフォルトの名無しさん
2021/10/01(金) 00:56:43.69ID:vAUcQRYE 適当なのを探すのが面倒でリマインダーアプリをpowershell(C#)辺りで作ろうかと思うんだが
UIをwinformにするかWeb系にするか迷ってる
UIをwinformにするかWeb系にするか迷ってる
577デフォルトの名無しさん
2021/10/01(金) 01:47:02.72ID:9Tf9Sjyk Windows.UI.Notificationsを使うという手も
https://den.dev/blog/powershell-windows-notification/
https://den.dev/blog/powershell-windows-notification/
578デフォルトの名無しさん
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
{ "name"="foo"; "count"=1}
となっていて、key名に"count"が使われている為、
$v.count
$v['count']
等の値の取得でエラーになってしまうんですが、どうにか取得する方法は無いですか?
自分にはjsonの原文をreplaceするぐらいしか方法が見つかりませんでした。orz
579デフォルトの名無しさん
2021/10/03(日) 21:17:26.86ID:RfSUiDPv どんなJSONを使ったのか書いてくれ
580578
2021/10/03(日) 21:20:02.89ID:GJ3xKl9+ すみません。別の理由でエラーが出てたみたいで、ちゃんと取得できました。
申し訳ないです。
申し訳ないです。
581デフォルトの名無しさん
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"を引いてるように読まれる可能性が高いので勧めない
むしろコレクションのpropertyのCountが隠されるのが問題、こちらが確実に欲しければ$hash.Values.Count等と書くのが安全
$hash.Keys.countも同じ値を返すけど、これはKeysからキー"count"を引いてるように読まれる可能性が高いので勧めない
582デフォルトの名無しさん
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) とか?
$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に相当するもの(か概念)って無いのでしょうか?
(行きたいディレクトリに簡単に行けなくて 不便を感じてるのですが)
(行きたいディレクトリに簡単に行けなくて 不便を感じてるのですが)
584デフォルトの名無しさん
2021/10/14(木) 17:12:51.73ID:F6GJrbHM ZLocationがおすすめ
https://github.com/vors/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 の間違いでした (笑) 使い始めて二日目なもので...
ついでに言えば…Set-Location の間違いでした (笑) 使い始めて二日目なもので...
587デフォルトの名無しさん
2021/10/14(木) 21:15:12.30ID:loydBA97 ディレクトリをSet-Locationしたら.NETのAPI側も合わせないとずれたままだぞ
だから次のような2行書いとく習慣付けるといいかも
カレントパス指定なんてめったに使わないけど
Set-Location -Path パス名
[IO.Directory]::SetCurrentDirectory((Get-Location).ProviderPath)
だから次のような2行書いとく習慣付けるといいかも
カレントパス指定なんてめったに使わないけど
Set-Location -Path パス名
[IO.Directory]::SetCurrentDirectory((Get-Location).ProviderPath)
588デフォルトの名無しさん
2021/10/14(木) 23:40:28.07ID:aRG2i7ze それこそGetCurrentDirectory使うときだけの話だよな
対話的にSet-Location使う程度では必要ないだろう
べつに(pwd).Pathとかも渡せるし
CDPATH
pwshでそんな移動しまくらないからワイには必要ないな
対話的にSet-Location使う程度では必要ないだろう
べつに(pwd).Pathとかも渡せるし
CDPATH
pwshでそんな移動しまくらないからワイには必要ないな
589デフォルトの名無しさん
2021/10/15(金) 01:03:33.08ID:P3+DrVIB 適当に$CDPATH=Get-Locationとかやってりゃいいんじゃない?
590デフォルトの名無しさん
2021/10/15(金) 22:58:53.33ID:KlL89mo2591デフォルトの名無しさん
2021/10/19(火) 14:42:15.67ID:1a7BUMOp 一旦powershellで作ったはいいものの
起動が遅くてバッチやvbsで作り直す
常駐物ならC#で書き直す
起動が遅くてバッチやvbsで作り直す
常駐物ならC#で書き直す
592デフォルトの名無しさん
2021/10/19(火) 20:57:46.00ID:aBJ6lObS 一旦powershellで作ったのはいいものでした
593デフォルトの名無しさん
2021/10/19(火) 21:23:11.41ID:90J0NSJZ PowerShellの起動が遅いと思うような環境ならC#アプリの起動も遅そうな気がするんだが
594デフォルトの名無しさん
2021/10/20(水) 12:22:16.87ID:yLBdcth0 >>593
バッチやvbsだとpowershellが起動するまでに処理が終わってるし
C#に関しては話にならんほど差が出る
powershellの起動の問題は.NETランタイム以外にあるんじゃないの
サクっと作れるのは評価するが本番運用ではとても使えない
バッチやvbsだとpowershellが起動するまでに処理が終わってるし
C#に関しては話にならんほど差が出る
powershellの起動の問題は.NETランタイム以外にあるんじゃないの
サクっと作れるのは評価するが本番運用ではとても使えない
595デフォルトの名無しさん
2021/10/20(水) 12:56:45.87ID:ngUNbqNs 要件次第としか
596デフォルトの名無しさん
2021/10/20(水) 13:47:15.88ID:CIRlmBOD 起動時間シビアに気にするような本番運用ばかりじゃないしな
597デフォルトの名無しさん
2021/10/20(水) 20:57:29.51ID:3GaA8N5r ネットワークが遅いのでは?
起動時にインターネット接続見に行くので、ネットワーク遅いと辛いことに
スクリプト実行するだけなら、noprofile, noninteractive付けると良いですよ
起動時にインターネット接続見に行くので、ネットワーク遅いと辛いことに
スクリプト実行するだけなら、noprofile, noninteractive付けると良いですよ
598デフォルトの名無しさん
2021/10/20(水) 20:57:35.93ID:3tEv1Sl5 PowerShellの起動が遅い人はプロファイルで時間がかかる処理してるんじゃないの
599デフォルトの名無しさん
2021/10/20(水) 21:53:25.89ID:U4hhSk0+ イニシャルローディング時間が遅いだけで初回限りの現象なのでは?
600デフォルトの名無しさん
2021/10/20(水) 23:22:34.38ID:P5BDeiqM ネットワーク見てたのchocolatyのプロファイル読んでたからでしたわw
601デフォルトの名無しさん
2021/10/21(木) 04:01:48.12ID:ehpI/07M ふざけんな
602デフォルトの名無しさん
2021/10/21(木) 12:31:37.50ID:kkshIJkE PowershellでExcel操作できるの素晴らしくて信者になりそう
VBAやったことないけどVScodeで書きにくいってだけで敬遠する
VBAやったことないけどVScodeで書きにくいってだけで敬遠する
603デフォルトの名無しさん
2021/10/21(木) 12:48:08.17ID:WbB1T+tY 流石にVBAの方が使いやすいぞ
でもpwshでやるのが好き
でもpwshでやるのが好き
604デフォルトの名無しさん
2021/10/21(木) 12:51:21.99ID:yR1RZl9g ExelがインストールされてるならCOM経由で操作できると思うけど、インストールされてない環境ならC#用のライブラリ使う感じかな
605デフォルトの名無しさん
2021/10/21(木) 12:52:01.86ID:yR1RZl9g VBAは遅すぎてなぁ
606デフォルトの名無しさん
2021/10/21(木) 19:59:19.64ID:9KFcOoVu チャートぐらい.NETの機能で描けるしExcelもVBAもいらない
607デフォルトの名無しさん
2021/10/21(木) 22:53:22.14ID:snz0FCDA excelはやたら高度な因子分析機能やソルバ(非線形、進化的最適化)ついてるから侮れない
608デフォルトの名無しさん
2021/10/21(木) 23:03:44.60ID:fjfGcsWO チャート描くのが目的なら使わなくていいんじゃない?
Exelの資料を編集するのが目的なら、COMかライブラリ使うしかない
Exelの資料を編集するのが目的なら、COMかライブラリ使うしかない
609デフォルトの名無しさん
2021/10/22(金) 08:29:48.79ID:tVaBgZ6B エクセルよくわからんけどA.xslxのあるセルの値をB.xlsxのある場所に移す簡単なプログラム依頼されてて、VBA使えばできるんだろうけどわざわざシートにバインドされたマクロ書くのが無駄に感じるからpowershellで済ませようとしている...ダメ?
610デフォルトの名無しさん
2021/10/22(金) 09:07:19.52ID:RUjjkZxa 好きにしろ
611デフォルトの名無しさん
2021/10/22(金) 10:07:54.24ID:EjatPKif .psファイルは普通のPCでは実行できないよ
612デフォルトの名無しさん
2021/10/22(金) 10:55:51.24ID:/YA0OWyv >>611
誰もポストスクリプトファイル実行する話なんかしてないけどね
誰もポストスクリプトファイル実行する話なんかしてないけどね
613デフォルトの名無しさん
2021/10/22(金) 13:06:34.54ID:SA+7zjBD 上の方にあるpowershellスクリプトをバッチファイル内に埋め込む方法使えば、普通のWindows 10 PCなら動かせますよ
ポストスクリプトも一応チューリング完全だから、実行系さえあれば動かせますねwww
ポストスクリプトも一応チューリング完全だから、実行系さえあれば動かせますねwww
614デフォルトの名無しさん
2021/10/22(金) 20:46:03.99ID:6MiPd5ZV あーウゼー
615デフォルトの名無しさん
2021/10/22(金) 21:21:39.78ID:EVzz2nOu >>611
拡張子間違ってるぞ
拡張子間違ってるぞ
616デフォルトの名無しさん
2021/10/22(金) 22:24:13.62ID:8L7RGAQS VSCode の拡張機能・GrapeCity のExcel Viewer じゃ、ダメなのか?
他にも、Rainbow CSV とか
他にも、Rainbow CSV とか
617デフォルトの名無しさん
2021/10/22(金) 23:08:57.50ID:fpd3u34i >>616
スレチ
スレチ
618デフォルトの名無しさん
2021/10/23(土) 00:12:21.69ID:pYmoDx9D 代替案を出しただけでスレチとか
世界征服したいですとか質問が来たらどうすんだ
世界征服したいですとか質問が来たらどうすんだ
619デフォルトの名無しさん
2021/10/23(土) 07:48:25.45ID:YfqEVQfQ バカじゃねぇの?
620デフォルトの名無しさん
2021/10/23(土) 08:53:25.35ID:p7WIutVI >>618
PSで解決できる案を出せばそれはスレの趣旨に沿うだろ
PSで解決できる案を出せばそれはスレの趣旨に沿うだろ
621デフォルトの名無しさん
2021/10/23(土) 10:07:48.57ID:bwy1yWHL PSで世界征服
622デフォルトの名無しさん
2021/10/23(土) 10:22:51.64ID:LN9x/bbj Excel入ってない環境で内容を確認するだけなら使えそう
同じ処理を繰り返し実行するならスクリプト作るのがベスト
CSVなら外部ライブラリ導入せずともpowershellだけで処理出来るし
心を込めた手作業派はスレチ
同じ処理を繰り返し実行するならスクリプト作るのがベスト
CSVなら外部ライブラリ導入せずともpowershellだけで処理出来るし
心を込めた手作業派はスレチ
623デフォルトの名無しさん
2021/10/23(土) 21:14:23.04ID:j/f4QfO8 powershellの方がVBより文法的に楽だろJK
624デフォルトの名無しさん
2021/10/23(土) 21:31:40.91ID:Q4dm2fcp シジルが気になる人はそれなりにいるんじゃないかな?
まぁ、俺もVBの文法は肌に合わなくて、どうしてもマクロじゃないとダメって時だけしか触りたくないけど
まぁ、俺もVBの文法は肌に合わなくて、どうしてもマクロじゃないとダメって時だけしか触りたくないけど
625デフォルトの名無しさん
2021/10/23(土) 22:19:22.89ID:EHtNtO17 VBAマクロはGitとかの管理がしんどくてコードレビューも辛い
626デフォルトの名無しさん
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でも同じなのに
$a = @{"a"=10 ; "b"=20; "c"=30 } などとして連想配列を作り
> $a.count
3 # たしかに要素数は 3
なのに
> $a.length
1
lengthは 1 になるのは何故? …っていうか、1って何の長さ?
普通の配列だと、要素数は lengthでも countでも同じなのに
628デフォルトの名無しさん
2021/10/24(日) 07:57:43.39ID:l/N511if >>626
別プロセスでもよいけど、スクリプトブロック内で参照するオブジェクト作って、ブロックの外側でGC呼び出すだけでも十分じゃない?
別プロセスでもよいけど、スクリプトブロック内で参照するオブジェクト作って、ブロックの外側でGC呼び出すだけでも十分じゃない?
629デフォルトの名無しさん
2021/10/24(日) 08:09:09.46ID:l/N511if630デフォルトの名無しさん
2021/10/24(日) 08:14:44.25ID:l/N511if 配列は
$a = 1,2,3
,$a | gm
するとCountがAliasPropertyでLengthがPropertyって出てくるね
$a = 1,2,3
,$a | gm
するとCountがAliasPropertyでLengthがPropertyって出てくるね
631デフォルトの名無しさん
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
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
632デフォルトの名無しさん
2021/10/24(日) 08:23:20.00ID:l/N511if なるほどー
勉強になりました。ありがとう
勉強になりました。ありがとう
633デフォルトの名無しさん
2021/10/24(日) 08:28:32.82ID:9JgQl7FC つまり lengthなんてのが無くても 1は返る…と.
たしかに tabキーでの補完は出なかったけれど
でも 配列には lengthあるし、個人的にはrubyでもlength使えてたので…うっかり書きそうな気はするが、
…とりあえず勉強になりました
たしかに tabキーでの補完は出なかったけれど
でも 配列には lengthあるし、個人的にはrubyでもlength使えてたので…うっかり書きそうな気はするが、
…とりあえず勉強になりました
634デフォルトの名無しさん
2021/10/24(日) 08:29:58.92ID:l/N511if635デフォルトの名無しさん
2021/10/24(日) 08:35:16.11ID:l/N511if 自分もRuby使ってるから分かりますわー
powershellではプロパティを大文字始まりのCamelCaseで書く様にすると
慣れるの早くなると思います
powershellではプロパティを大文字始まりのCamelCaseで書く様にすると
慣れるの早くなると思います
636デフォルトの名無しさん
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
ができるの初めて知りました.これは便利
列挙可能なものかそうでないかの判定を行わずに済ませるためみたいです
確かにv2の頃は出力が一個だけだった時のために@()でくくってましたわ
それよりもForEach-Objectの省略記法で
(ls).FullName
ができるの初めて知りました.これは便利
638デフォルトの名無しさん
2021/10/24(日) 09:51:12.20ID:1SVJ9Wvp639デフォルトの名無しさん
2021/10/24(日) 10:47:06.59ID:l/N511if foreachできるかいちいち判定するより便利だし、よいと思うけどな
実際、自分で書くスクリプトはめっちゃ恩恵にあずかってる
実際、自分で書くスクリプトはめっちゃ恩恵にあずかってる
640デフォルトの名無しさん
2021/10/24(日) 11:21:20.50ID:7IRX6L2k 知ってれば便利だし、知らなくてもあまり害にならないからね
今回の質問のケースも調べる気がなく急いでたならCount使えばいい案件
シェル言語は厳格さより楽さ優先でいい
惜しむらくはPSがもっと普及していれば変な癖も含めて常識になるけど、そこまで至ってないところ
今回の質問のケースも調べる気がなく急いでたなら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つの値で同じコードで出来るのは個人的には楽でいいと思う
$x = dir
for ($i = 0; $i –lt $x.Count; $i++)
{
$x[$i] …
}
$x.gettype() で調べると値が1つならSystem.IO.FileSystemInfo
2つ以上ならSystem.Arrayで配列
配列と1つの値で同じコードで出来るのは個人的には楽でいいと思う
642デフォルトの名無しさん
2021/10/24(日) 15:45:25.76ID:dQwbGYLm jQuery Object も、0, 1, 2以上でも、配列として同じ書き方ができる。
0でもエラーにならず、単にループしないだけ
0, 1, 2以上で、表現・型を変えるものは、大変
0でもエラーにならず、単にループしないだけ
0, 1, 2以上で、表現・型を変えるものは、大変
643デフォルトの名無しさん
2021/10/24(日) 17:38:58.32ID:jz1DejpB >>641
配列を期待してるのに1要素が返る場合に配列で返らないのは階層データ構造を作る場合とても困る
gcはいつも$hagelist = [string[]](gc hage.txt)
ってやってるわら
ハゲが一人だと配列にならないしハゲがいないと$nullになるし
要素数0、1、2以上で型が変わる仕様はいつ見ても気持ち悪い
配列を期待してるのに1要素が返る場合に配列で返らないのは階層データ構造を作る場合とても困る
gcはいつも$hagelist = [string[]](gc hage.txt)
ってやってるわら
ハゲが一人だと配列にならないしハゲがいないと$nullになるし
要素数0、1、2以上で型が変わる仕様はいつ見ても気持ち悪い
644デフォルトの名無しさん
2021/10/24(日) 18:40:57.32ID:1SVJ9Wvp まあこの手の仕様はどっちが正解とかはないので結局は好き嫌いでしかないよね
個人的には単一の値と配列を同一に扱いたい時は@(…)で充分なような気がする
個人的には単一の値と配列を同一に扱いたい時は@(…)で充分なような気がする
645デフォルトの名無しさん
2021/10/25(月) 07:12:04.32ID:UuRFLqCB ForEach-Objectだと配列のネストをフラットにしてくれるけどforeachだとそうならないから
@()でくくるので全て解決ってことにはならないんじゃないかな
あと,エラー出してくれる動作の方が好みなら
Set-StrictMode -Version Latest
にするとエラーになりますよ
@()でくくるので全て解決ってことにはならないんじゃないかな
あと,エラー出してくれる動作の方が好みなら
Set-StrictMode -Version Latest
にするとエラーになりますよ
646デフォルトの名無しさん
2021/10/25(月) 23:46:47.63ID:ahXaOei7 countが使えるから何だって感じ
外部テキストファイル扱う時は0バイト、1行のみ、複数行のテスト必須だな
外部テキストファイル扱う時は0バイト、1行のみ、複数行のテスト必須だな
647デフォルトの名無しさん
2021/10/26(火) 00:05:31.73ID:lX9x28FW そうしたければそうすればいいんじゃないかな?
俺は必須だとは思わないけど
俺は必須だとは思わないけど
648デフォルトの名無しさん
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
)
)
%%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
}
}
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 半角スペースが消えちゃって見辛い(泣
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★4 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 外務省局長、よくわからないまま帰国へ [834922174]
