PowerShell -Part 7
1 :デフォルトの名無しさん :2023/11/29(水) 16:07:49.46 ID:0g8RZ7sB.net 前スレ PowerShell -Part 6 https://mevius.5ch.net/test/read.cgi/tech/1644744972/ 次スレは>>980 が立ててね!!
2 :デフォルトの名無しさん :2023/11/29(水) 20:26:02.61 ID:aabs5txO.net ドライバのinfファイルに署名がない古いハードを使うために オレオレ証明書を作って勝手に署名する方法があるが ググって出る手順のままではダメでいまはWindows Design KitとWindows SDKが必要で SDKにあるmakecertコマンドはマイクロソフト公式に推奨されないとも… PowerShellでできるからということらしいがどう使ったら同じ結果になるかはわからなかった makecertのような非推奨コマンドと1対1のPowerShellでの使用例ってどこかにないだろうか 今後同じような事態に陥った時のため備えておきたい マイクロソフトのサイトにはオプションの説明はあるけど makecertとの対比表とかはない
3 :デフォルトの名無しさん :2023/11/30(木) 19:34:57.73 ID:4nwqW1NG.net powershell関係あるのかしら 古い環境そのものやP2V化して動作確認取れる環境を保存していくのが簡単だよ ドライバへの署名はあくまで1企業の都合という事をお忘れなく
4 :デフォルトの名無しさん :2023/12/01(金) 21:00:19.47 ID:0gNLMIqi.net 直下にあるファイルをgciの-Includeでフィルタリングしつつ取得する際に Get-ChildItem -Include *hoge*.txt はだめで Get-ChildItem -Recurse -Include *hoge*.txt -Recurseを入れると動くのはなぜですか? サブディレクトリを含まない直下のみのファイル検索なら-Recurseなしでもいける認識なんですが間違ってますか
5 :デフォルトの名無しさん :2023/12/01(金) 21:20:55.43 ID:Jz3SJDE5.net >>4 gciで-Includeを使う場合gciに与えるデフォルト引数としてアスタリスク「*」を含んだパス名が必要なんだよ特に書いてないけど つまり「Get-ChildItem -Include *hoge*.txt *」で意図通りになるはず というかね、-Includeなんか忘れていい。フィルタならwhere-objectでやった方が判りやすい gci | where Name -like "*hoge*.txt" コマンドレットは変な仕様が多いから妙だな…と思ったらそれ以上深入りする必要はない
6 :デフォルトの名無しさん :2023/12/01(金) 22:24:22.03 ID:nrjrox6C.net そもそもワイルドカードの単純なフィルタならデフォルトの-pathでできるから-includeとか基本使わないな learn見たら「-includeは-pathの末尾が*じゃないと動かない(-recurseなら省略可)」ってはっきり書いてたわ
7 :デフォルトの名無しさん :2023/12/01(金) 22:30:34.62 ID:S2lEQVa3.net ファイルシステム側に検索オプションを指定するのが-Filterで PowerShell自信でフィルタリングするのが-Includeだっけ、懐かしい話だ
8 :デフォルトの名無しさん :2023/12/02(土) 08:48:18.48 ID:Fkw0aBk3.net gciの表示が間延びしてるのを詰めたい ModeとLastWriteTimeにあんなに幅いらんやろ
9 :デフォルトの名無しさん :2023/12/02(土) 20:49:53.53 ID:CMdctbaC.net 4ですみなさんありがとうございます 当然質問する前にLearnで確認していたのですが、てっきりワイルドカードも使えるよ!ぐらいのニュアンスだと思っていました 大人しくwhere-object使います。すっきりしましたm(_ _)m
10 :デフォルトの名無しさん :2023/12/02(土) 21:42:01.24 ID:B4ObjCpy.net >>8 Format-Table -AutoSize
11 :デフォルトの名無しさん :2023/12/03(日) 07:28:03.75 ID:tKLbRUl7.net すまんコマンド追加で整形したいんじゃない デフォルトの形式をいじりたい
12 :デフォルトの名無しさん :2023/12/03(日) 09:12:08.68 ID:GWzH2m5A.net about_Format.ps1xml https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_format.ps1xml
13 :デフォルトの名無しさん :2023/12/03(日) 09:40:08.91 ID:tKLbRUl7.net 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 としてみたら全然違う結果になってしまった 出てきたものの数字を変えるだけじゃだめなのかな
14 :デフォルトの名無しさん :2023/12/03(日) 13:55:42.15 ID:tKLbRUl7.net なぜTable形式でなくList形式になるのでしょうか
15 :デフォルトの名無しさん :2023/12/03(日) 17:41:11.89 ID:tKLbRUl7.net ファイルとディレクトリが混ざってるからだった あとは日付と時刻を詰めたい
16 :デフォルトの名無しさん :2023/12/05(火) 09:46:48.52 ID:RGe8cD49.net 引数付きエイリアスの作り方を教えてください 'ABC' > file tar -c -f - file | tar -x -O -f - file の 「tar -x -O -f」 をエイリアス tarout にして tar -c -f - file | tarout - file として使うにはどうするのでしょうか
17 :デフォルトの名無しさん :2023/12/05(火) 14:36:11.77 ID:lXd0pnoy.net できない そういうのはfunctionとかfilter作ってやる
18 :デフォルトの名無しさん :2023/12/05(火) 14:53:09.61 ID:7QjuGoaz.net パラメーターを持つコマンドの代替名 https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_aliases#alternate-names-for-commands-with-parameters
19 :デフォルトの名無しさん :2023/12/05(火) 15:54:15.98 ID:RGe8cD49.net そこまではたどり着いたのですが苦戦しています 正直言って手も足も出ません どうすればよいのでしょうか
20 :デフォルトの名無しさん :2023/12/05(火) 21:04:00.28 ID:rxI6O073.net 何がしたいのか知らんけどpowershellのパイプはオブジェクトに変換しないとだからtarが期待する入出力にはならんだろうな ほれ function tarout { tar -x -O -f $args } tarout - file
21 :デフォルトの名無しさん :2023/12/05(火) 21:27:27.93 ID:7QjuGoaz.net >powershellのパイプはオブジェクトに変換しないとだからtarが期待する入出力にはならんだろうな PSNativeCommandPreserveBytePipe https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
22 :デフォルトの名無しさん :2023/12/05(火) 21:47:53.20 ID:RGe8cD49.net >>0020 それは最初に自分で試してだめだったやつですな パイプでなく標準入力を読もうとしてCtrl-Z待ちで止まるやつ Windows 10 から tar.exe あるんで試してから回答してもらえると嬉しい >>0021 PowerShellからネイティブは通る ネイティブからネイティブは通る ネイティブからPowerShellは通らない だからPowerShellでtaroutは書けないってこと? だとしたらPowerShellくそすぎる
23 :デフォルトの名無しさん :2023/12/06(水) 09:58:34.06 ID:pwwMUfVm.net 一応整理 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はくそ
24 :デフォルトの名無しさん :2023/12/07(木) 08:28:41.09 ID:c+XrIY2G.net beginブロックで$inputを使うとバイトストリームが出てくるようになって欲しい そしたらtaroutもこう書けるようになるのに function tarout { begin { $input | tar -x -O -f $args }} でもこれは難しいだろうな
25 :デフォルトの名無しさん :2023/12/07(木) 15:51:22.78 ID:X0+oSYJ4.net beginじゃない別のキーワード用意するレベルじゃないと難しいだろうなぁ
26 :デフォルトの名無しさん :2023/12/08(金) 08:18:26.16 ID:tWmRPca2.net いやbeginブロックで十分でしょ 今はbeginブロックの$inputは無意味なんだから有効活用 難しいと思うのは ・beginブロックに$inputがあったら、そのfunction,ScriptBlockにパイプでバイトよこせマークをつける ・バイトよこせマークがあったらパイプラインでネイティブコマンド扱いしてバイトを流す 処理が必要だからで・・・難しく・・・な・・・い、かも
27 :デフォルトの名無しさん :2023/12/08(金) 08:33:10.45 ID:xElvY7bj.net 本気で難しくないと思うならお前が実装してPR送れよ
28 :デフォルトの名無しさん :2023/12/08(金) 20:15:49.14 ID:8rS6bPls.net 公式で7.3にもなって直してないんじゃそんなのを気にしてるのは少数派なんだろ むしろお前が動くしかなかろうよ
29 :デフォルトの名無しさん :2023/12/09(土) 13:31:46.58 ID:F2smNVkX.net 個人的にはpythonのライブラリ群をそのままPSObjectにぶっこ抜きして動かせるようにして欲しい
30 :デフォルトの名無しさん :2023/12/09(土) 15:21:51.18 ID:NdJUV/GZ.net Python - Support · Issue #19418 https://github.com/PowerShell/PowerShell/issues/19418
31 :デフォルトの名無しさん :2023/12/09(土) 18:40:01.66 ID:F2smNVkX.net >>30 なんかそのスレッドはpython使いの声がでかいのかpython主導でpython起動すりゃいいだろ的な話がされてて俺の意図とは違うな 俺の考えはそれとは真逆でpythonの便利ライブラリだけpowereshellで拝借してキモいpython処理系自体を入れたくないのよね 俺の言いたいこと判るよね
32 :デフォルトの名無しさん :2023/12/09(土) 18:46:30.00 ID:iYG1bkmj.net キモいpython処理www キモいのはpowershellじゃぼけww
33 :デフォルトの名無しさん :2023/12/09(土) 19:18:53.30 ID:F2smNVkX.net >>32 たしかにpowershellもキモいと言えばそうだがpythonとはキモさのベクトルが違うんだよ >>30 にはいい事も書いてある >PowerShell チームに対して、これらの Python ライブラリをネイティブ PowerShell パッケージの一部として直接実装するよう求めているのであれば、私は同意しなければなりません。 いずれこういう俺と同じ考えを持つ輩がpythonライブラリのぶっこ抜きに成功し キモいpython処理系が駆除された明るい未来を創り上げてくれる事に期待している
34 :デフォルトの名無しさん :2023/12/09(土) 20:18:03.05 ID:P3Dp1Ib1.net $null | %{'hoge'+$_} これでなんでhogeが出力されるんですか? Nullになるかとおもったんですが
35 :デフォルトの名無しさん :2023/12/09(土) 21:01:47.88 ID:2orRcob9.net 型を合わせるために、NULLが空文字に変換されるから。 そこでNULLを期待するのはRDBとかの場合だね。(RDBにもよるけど。)
36 :デフォルトの名無しさん :2023/12/09(土) 21:38:52.15 ID:NdJUV/GZ.net https://learn.microsoft.com/ja-jp/powershell/scripting/lang-spec/chapter-06?view=powershell-7.3#68-conversion-to-string string 型に値を変換する規則は次のとおりです。 ・null 型の値は、空の文字列に変換されます。
37 :デフォルトの名無しさん :2023/12/09(土) 21:38:52.87 ID:P3Dp1Ib1.net >>35 なるほど ありがとうございます ためしに $null | %{$_+$hoge} にしたらNullになりました +演算子の左辺の型に合わせて右が型変換されるんですね …PowerShellは難しい
38 :デフォルトの名無しさん :2023/12/09(土) 21:42:29.77 ID:P3Dp1Ib1.net >>36 ありがとうございます
39 :デフォルトの名無しさん :2023/12/13(水) 09:57:50.32 ID:RVDAjcVA.net 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") これでできたんですけど プロパティの編集方法は色々調べてみたんですがわかりませんでした
40 :デフォルトの名無しさん :2023/12/13(水) 21:26:19.77 ID:SOLvnyCP.net https://www.powershellgallery.com/packages/PSSystemProperties/
41 :デフォルトの名無しさん :2023/12/13(水) 23:49:36.01 ID:RVDAjcVA.net >>40 インストールでちょっとつまづいちゃいましたが やりたいことができました ありがとうございます!
42 :デフォルトの名無しさん :2023/12/14(木) 03:02:02.55 ID:EBZTu/MN.net 中見たら7時代のWindows-API-Code-Packとやらを拾ってきて使うのか 本来シェル名前空間からやれそうな事なのにWritePropertyへ辿りつくまでかなり遠回りしたな
43 :デフォルトの名無しさん :2023/12/16(土) 07:36:27.61 ID:t4fIwjDl.net tiktok liteでPayPayやAmazon券などに交換可能な4000円分のポイントをプレゼント中! ※既存tiktokユーザーの方はtiktokからログアウトしてアンインストールすれば可能性あり 1.SIMの入ったスマホかタブレットを準備。 2.以下のtiktok liteのサイトからアプリをダウンロード(ダウンロードだけでまだ起動しない) https://lite.tiktok.com/t/ZSNfstbHc/ 3.ダウンロード完了後、もう一度上記アドレスのリンクからアプリへ 4.アプリ内でtiktokで使用してない電話番号かメールアドレスから登録 5.10日間連続のチェックイン(←重要!)で合計で4000円分のポイントゲット ポイントはPayPayやAmazon券に交換できます! 家族・友人に紹介したり、通常タスクをこなせば更にポイントを追加でゲットできます
44 :デフォルトの名無しさん :2023/12/16(土) 07:52:34.43 ID:fGCT2KhW.net ps1ファイルをユーザーに手軽に実行してもらう方法ってないですかね batだと単にダブルクリックするだけでいいところが、 ps1だとショートカット作って↓↓をくっつけてと、とても運用に耐えられないんですが 「powershell.exe -ExecutionPolicy Unrestricted 」
45 :デフォルトの名無しさん :2023/12/16(土) 08:42:06.64 ID:5tZpbEW3.net >>43 これならできそう
46 :デフォルトの名無しさん :2023/12/16(土) 09:34:51.52 ID:pgUnJUCg.net >>44 ググればバッチファイルにPowerShellスクリプトを埋め込む方法が見つかるよ
47 :デフォルトの名無しさん :2023/12/16(土) 10:07:55.43 ID:fGCT2KhW.net >>46 ps1単独で解決できないものか 将来性を考えて、ps1使ってみようと思ったが、 バッチやvbsの助けがないと使いにくいんじゃイマイチだな
48 :デフォルトの名無しさん :2023/12/16(土) 10:42:25.24 ID:nDmmdgrP.net ps1はコード署名して、グループポリシーで証明書配付しよう
49 :デフォルトの名無しさん :2023/12/16(土) 12:13:16.06 ID:fGCT2KhW.net >>48 そこまでするなら、スクリプトよりexe作った方が早・・・
50 :デフォルトの名無しさん :2023/12/16(土) 12:35:03.91 ID:K5lUjnCI.net >>43 やってみない手はない
51 :デフォルトの名無しさん :2023/12/16(土) 16:03:42.74 ID:XRhqtdk+.net 埋め込むやつって結局iex経由の特殊環境だから一部の変数とか使えなくて困る 無理に使わなくていいよ
52 :デフォルトの名無しさん :2023/12/16(土) 23:27:25.62 ID:yw6xDge+.net 横からすみません >>40 のインストールにチャレンジしたのですが、管理者権限のPowerShellでInstall-ModuleをしたのにImport-Moduleでdllが無いみたいなエラーが出て使えません どなたかアドバイス頂けないでしょうか
53 :デフォルトの名無しさん :2023/12/17(日) 00:21:34.60 ID:OHxpVvei.net >>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を取り出してカレントディレクトリに配置 でいけるんじゃないかな
54 :デフォルトの名無しさん :2023/12/22(金) 07:48:19.63 ID:wPcChJb5.net $PROFILE ってなんなのでしょうか $PROFILE.GetType() だと String のようですが $PROFILE | Select-Object * で AllUsersAllHosts などが出てくるのがわかりません $PROFILE | Select-Object * で何が起きているのでしょうか
55 :デフォルトの名無しさん :2023/12/22(金) 09:01:10.81 ID:FudXFPqY.net PowerShellはAdd-Memberでオブジェクトにプロパティやメソッドを追加できる https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/add-member $PROFILE | Get-Member を実行してみればわかるけど AllUsersAllHostsとかは$PROFILEに追加されたNotePropertyって種類のプロパティ
56 :デフォルトの名無しさん :2023/12/22(金) 09:10:30.60 ID:nFOKM4xK.net >>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
57 :デフォルトの名無しさん :2023/12/22(金) 09:51:40.03 ID:wPcChJb5.net ('str' | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao → Wao! (123 | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao → Wao! 理解した
58 :デフォルトの名無しさん :2023/12/23(土) 21:24:52.21 ID:xtnhDuDo.net >>56 Add-Member は変数ではなくオブジェクトにメンバーを追加する "aaa" と "bbb" は違うオブジェクトなんだから "aaa" に追加したメンバーが "bbb" に無いのは当たり前
59 :デフォルトの名無しさん :2023/12/25(月) 07:53:26.01 ID:5GC0Dj8P.net ネイティブコマンドの出力ってPowerShell界に入るとString列になるけど Stringのそれぞれにプロパティで元のバイナリ付けて欲しい
60 :デフォルトの名無しさん :2023/12/25(月) 08:58:53.82 ID:xlHQ3YOr.net >>59 PSNativeCommandPreserveBytePipe https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
61 :デフォルトの名無しさん :2023/12/25(月) 11:02:44.18 ID:5GC0Dj8P.net バイナリが通るようになったのは 「ネイティブからネイティブ」と「PowerShellからネイティブ」だけ 「ネイティブからPowerShell」に手軽にバイナリ通したい バイナリ出力ネイティブ | バイナリ入力ネイティブ として使うバイナリ入力ネイティブ用にラッパーが書きたいのに今は書けない
62 :デフォルトの名無しさん :2023/12/25(月) 12:37:48.60 ID:5GC0Dj8P.net 自分には必要ないから触れなかったけど バイナリ出力ネイティブのラッパーも書けない
63 :デフォルトの名無しさん :2023/12/25(月) 12:38:42.52 ID:5GC0Dj8P.net あ、手間をかければ書けるな
64 :デフォルトの名無しさん :2023/12/26(火) 07:36:13.49 ID:ghNGRT5G.net 引数に -i を複数回指定したいので param() を使わずに function を書いています get-help で SYNTAX に使い方を表示するにはどうすれば良いのでしょうか
65 :デフォルトの名無しさん :2023/12/26(火) 12:19:47.21 ID:hM6Ywi/0.net about_Comment_Based_Help ttps://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-7.4 このページの中の項目で スクリプト モジュールでのコメント ベースのヘルプの構文 コメントベースのヘルプ キーワード 関数のコメント ベースのヘルプ 関数構文でのパラメーターの説明 スクリプトのコメントベースのヘルプ あたりが参考になるかも
66 :デフォルトの名無しさん :2023/12/26(火) 16:47:47.85 ID:ghNGRT5G.net paramを使わずにSYNTAXを表示する方法を尋ねたのはそこを見たからでして 方法がありましたら具体的にご教示くださいませ
67 :デフォルトの名無しさん :2023/12/26(火) 19:16:46.24 ID:CTT8zMQ8.net nugetに上がってるモジュールのソースでも嫁
68 :デフォルトの名無しさん :2023/12/26(火) 21:29:18.59 ID:QC0ZGJu/.net そもそもなんで -i を複数回指定したいんだろう 引数$i の型を配列にするのとは違うの?
69 :0064 :2023/12/27(水) 12:51:53.61 ID:1jSqRJ5E.net 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. と怒られます
70 :デフォルトの名無しさん :2023/12/27(水) 13:02:29.78 ID:X+3+vX99.net 指定する対象はaudioとvideoと決まってるんだから -aiや-viにすりゃいい 変態的なffmpegのオナニーに付き合う必要はない
71 :0064 :2023/12/27(水) 13:12:15.16 ID:1jSqRJ5E.net いやaudioとvideoに限らんし個数も不定なのよ audioが言語別複数で、videoはチャプターごとに分かれて、字幕もあったり 結局ffmpegと同じ使い方ができるようにするのが面倒ない
72 :デフォルトの名無しさん :2023/12/27(水) 13:59:38.84 ID:Fe+mtIWC.net ffmpegはシーケンスが意味を持つ引数になってるのよね どういう順で記述するかによって適用される範囲が異なってくる
73 :デフォルトの名無しさん :2023/12/27(水) 20:51:25.44 ID:85uYBZGc.net なら引数は$argsで受け取って好きなように解釈したらええがな
74 :0064 :2023/12/27(水) 22:38:05.51 ID:1jSqRJ5E.net だからそうしてるのが理解できないのかな paramを使わないというのは $args を自分で解釈するということ その上でparamを使わない場合のget-helpの出力について相談したんだが 聞いた相手が想像を超えたバカだったたようだ 邪魔したな
75 :デフォルトの名無しさん :2023/12/28(木) 08:55:34.70 ID:xGxlWVWv.net PowerShellにはPowerShellの流儀があるわけで それに合わないことをやろうとすれば苦労するのは当たり前 C言語で関数型プログラミングをしたいって騒いでるのと同レベル
76 :デフォルトの名無しさん :2023/12/28(木) 09:27:10.14 ID:i2ZdA1S0.net ・質問者がget-helpのやり方をスレで質問 ・そもそもこうすればいいんじゃね?と別解について疑問があがる ・さほど適した別解はないことが判明 ・質問者に対して怒り出す 別に苦労したと文句たれてるわけでもないのに質問者がウザ絡みされて気の毒すぎる
77 :デフォルトの名無しさん :2023/12/28(木) 10:13:47.89 ID:DhrTF4+F.net 助言・回答者に対しキレ散らかすパターン多いな。同一人物か?
78 :デフォルトの名無しさん :2023/12/28(木) 10:20:56.59 ID:4ANODT1z.net よく見たら>>16 のtarと同じ奴か
79 :デフォルトの名無しさん :2023/12/29(金) 08:36:49.58 ID:KamNl0ts.net PowerShellよりdoskeyのマクロにしたほうが簡単そう
80 :デフォルトの名無しさん :2023/12/29(金) 11:07:50.54 ID:HpMDoHHU.net get-helpでヘルプを表示させる コメントベースのヘルプを記述する param()を使わない という条件だったら単純にスクリプトの先頭にコメントベースで .SYNOPSIS または .DESCRIPTION に「-iが複数使える」旨を書けばいいのでは もしくは param()を使わず$Argsを自前で解釈しなきゃいけないので 引数の解釈を構築するついでに $Args.Countがゼロもしくは -help -h -? /h /? あたりの引数で独自のヘルプを表示させちゃうとか まぁ普通に考えたらこうならね?
81 :デフォルトの名無しさん :2023/12/29(金) 15:57:16.18 ID:SsN2lKB9.net 質問して答えにキレ散らかすキチゲエきてるねw
82 :デフォルトの名無しさん :2023/12/29(金) 17:50:55.94 ID:6zkU+tYe.net >>73 がコントすぎてさすがに擁護できない
83 :デフォルトの名無しさん :2023/12/30(土) 20:28:29.74 ID:pfiAiXAK.net XMLヘルプファイル用意して参照させればParam()のないfunctionに対し「構文」部分を書ける。
84 :デフォルトの名無しさん :2023/12/30(土) 21:23:05.61 ID:pfiAiXAK.net PowerShell標準から外れた「引数に -i を複数回指定」みたいな内容を書けるかは知らん。
85 :デフォルトの名無しさん :2023/12/31(日) 16:06:42.19 ID:gGg0M1TZ.net 国内公式からLenovoのノートPC買ったら何故かISEが英語環境になって意味わからん。 どこに言語設定あるの?当然OSは日本語設定にしてるし、他のアプリも日本語になってる。 これまでLenovoのPCは5台くらい買ってきたのにISEだけ英語になるの初めてなんだが。 https://i.imgur.com/H4NVkKH.png
86 :デフォルトの名無しさん :2023/12/31(日) 17:55:15.89 ID:s/6k3+Yx.net そういうのsurfaceでもあったな OSセットアップ時の国設定が半端に適用された状態だから入れ直した方が早いかも
87 :デフォルトの名無しさん :2024/01/01(月) 01:36:45.15 ID:/rCM9JK/.net >>85 Windowsは英語版を日本語に切り替えると日本語にならないところがある だから日本語版でインストールした方がいい ちなみにいまどきISEを使っているのもよくわからない
88 :デフォルトの名無しさん :2024/01/01(月) 21:51:12.11 ID:uj2mjMNR.net Windows PowerShell ISEでPowerShell Coreを利用する https://dev.classmethod.jp/articles/using-powershell-core-in-the-windows-powershell-ise/ 勝手にアプリをインストールできない環境なら意味あるかもしれない
89 :デフォルトの名無しさん :2024/01/02(火) 12:27:48.68 ID:TDOOgc4U.net powershell iseってのを知らなかったけど起動したらUIシンプルで美しいな VSCodeもこれくらいシンプルになってくれんかな
90 :デフォルトの名無しさん :2024/01/02(火) 12:49:42.78 ID:ztgjURNX.net カスタマイズしてシンプルにすればいいと思うよ 俺はどちらかというとVSCodeのほうが機能美を感じる デフォルトで万人の感性にフィットするモノは存在しない カスタマイズも嫌なら自分で作るか作らせるか
91 :デフォルトの名無しさん :2024/01/02(火) 20:24:20.63 ID:G9bvfkvl.net >>88 ヤベーもの見てるんだなw
92 :デフォルトの名無しさん :2024/01/15(月) 23:56:13.49 ID:0fJNPgiU.net Class C { $a = '失敗' } function f { Param([ref]$r); $r.Value = '成功' } $o = [C]::new() f ([ref]$o.a) $o.a $t = '失敗' f ([ref]$t) $t こんなの聞いてないよ
93 :デフォルトの名無しさん :2024/01/16(火) 12:08:02.87 ID:YM90ubox.net 何が言いたいのかわからないw コードを実行した結果が書かれてないので 何を言いたいのか知るにはこのコードを実行しなきゃならない めんどくさいw
94 :デフォルトの名無しさん :2024/01/16(火) 18:55:49.27 ID:6T/+PhGk.net プロパティがgetterだから
95 :デフォルトの名無しさん :2024/01/17(水) 09:27:27.73 ID:HArby8R7.net $o | Get-Member を実行してみれば分かるけど$o.aはフィールドじゃなくてプロパティだからな $o.aのgetter( $o.get_a() )の戻り値を関数に渡しても$o.aの値は変わらない
96 :デフォルトの名無しさん :2024/02/11(日) 23:33:57.66 ID:Z05z2D4x.net パワーシェルすげえな 仕事がどんどん片付いていくよ
97 :デフォルトの名無しさん :2024/02/27(火) 14:14:12.56 ID:JyRut9xW.net 2つのCSV(どちらも同じヘッダー)で両方に一致するデータ行があった場合にその行を2つのCSVから取り除きたいんだけどどうしたらいいの? ヘッダーがDate,Shop,Sales だとしてユニークな項目がなく全く同じデータが1つ目のCSVに1行、2つ目のCSVに2行あった場合に2つ目のCSVは1行だけ消したい Where-object だと2行とも消えちゃう
98 :デフォルトの名無しさん :2024/02/27(火) 18:46:20.00 ID:hxHkafQb.net 2つのCSVをどうやってwhere-objectに渡してんだよ その2行が消える間抜けコード晒してみなよ
99 :デフォルトの名無しさん :2024/02/27(火) 19:14:40.76 ID:JyRut9xW.net chatgptに聞いたらそうなった
100 :デフォルトの名無しさん :2024/02/27(火) 22:08:44.15 ID:JyRut9xW.net # 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
101 :デフォルトの名無しさん :2024/02/27(火) 23:21:34.71 ID:j3BJYXF1.net わーいできたー $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.98 ID:IJ26J3uc.net $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}
103 :デフォルトの名無しさん :2024/02/28(水) 00:21:41.74 ID:JjFjLo/S.net 段階を踏まないのは謎だよな ファイルをコピーする概念もなさそう
104 :デフォルトの名無しさん :2024/02/28(水) 00:54:14.86 ID:hPdEXjNd.net これで良かったわ $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.70 ID:anWSvM2g.net CSVファイルに想定外のデータがあることを考慮しないのか
106 :デフォルトの名無しさん :2024/02/28(水) 02:17:43.88 ID:gh65zyvf.net わ仕事早い… csv1の方はDateがYYYY/MM/DDの10桁固定で csv2の方はDateがYYYY/M/Dで8〜10桁になってて 日付としてみれば同じなんですが1行を文字ででみると違う可能性があります… 後出しですいません またShopはだいたい一致してるのですが 「ローソン札幌店」と「ローソン札幌」や「ローソンサッポロ」みたいな内容が異なることがあってそこを必ず自前のfunctionの変換リストかましてから比較する予定でした 私の想定を超えるプログラムでfunctionを挟むこともできない
107 :デフォルトの名無しさん :2024/02/28(水) 02:24:06.13 ID:yYqm5P+g.net カラムの曖昧さとかは全く興味沸かないなあ自分でやんな
108 :デフォルトの名無しさん :2024/02/29(木) 08:30:06.44 ID:Qx0i34px.net ファイルのサイズが大きければ実装が変わる
109 :デフォルトの名無しさん :2024/02/29(木) 08:47:23.80 ID:8KhlEQjj.net チンコのサイズが大きければ実績が変わる
110 :デフォルトの名無しさん :2024/03/01(金) 15:53:36.57 ID:bh14ivY9.net 昨日の少し試しましたが $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.56 ID:XQV1Pqn6.net 目的よりも手段にこだわっていると思われる テキストファイルとPowerShellだけで、イレギュラーなデータがあるかもしれないデータを操作をするのは、かなり面倒なやり方だぞ。
112 :デフォルトの名無しさん :2024/03/02(土) 23:40:34.42 ID:XQV1Pqn6.net >>110 はキャラクタセットも気にしてなさそうなんだよな
113 :デフォルトの名無しさん :2024/03/03(日) 03:11:25.14 ID:CrVe/94r.net 行比較が出来るようになれば対象が何だろうが応用できるだろ 話はとっくに終わってんのよ >目的よりも手段にこだわっていると思われる これまんまお前のことじゃね?
114 :デフォルトの名無しさん :2024/03/05(火) 01:41:57.29 ID:Mm4X91cX.net そんなに複雑なら、シェルの範囲を超えている。 Ruby など動的言語の出番 >>106 RubyのCSV では、コンバーターで変換器を自作する
115 :デフォルトの名無しさん :2024/03/06(水) 05:34:48.47 ID:oDRlZbsC.net 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>] ]
116 :デフォルトの名無しさん :2024/03/06(水) 07:42:44.20 ID:wzhaiXwv.net PowerShellだと何も考えずにDateTime変換できるのに、Rubyだとそんなに手間かかるのか もうそんな言語使うの止めて大人しくPowerShell使ったら?
117 :デフォルトの名無しさん :2024/03/06(水) 17:02:39.85 ID:8FQ+1AZx.net すいません初心者でとんちんかんな質問だったらごめんなさい PowerShellからarduinoにデータを送ってOLEDで表示するセンサーモニターを作ってます CPU・GPUの使用率や温度は取り出せて表示できたのですが FPSってどこからか取り出す方法ってありますか? 使用率や温度と違うのでPresentMonやAfterburnerからGet-Counterで取得する? とか考えて調べてるのですが分からなくて とんちんかんなこと言ってたらすいません できるできない含めて教えてください
118 :115 :2024/03/07(木) 01:47:21.31 ID:Z/86eyX0.net 基本的に、Go でも、こういうのしかない 2024-01-01 2024-01-01 15:01:01 それか、RFC 3339, RFC 3339 Nano これら以外を使っているシステムは、バグるからダメ!
119 :デフォルトの名無しさん :2024/03/07(木) 01:55:49.10 ID:yhOhiWWp.net >>117 FPSて。要するにモニタのリフレッシュレートが欲しいんじゃろ? ほれ $RefreshRate = Get-WmiObject -Class:Win32_videocontroller | Select-Object -ExpandProperty CurrentRefreshRate
120 :デフォルトの名無しさん :2024/03/07(木) 10:15:46.32 ID:s2RGChkv.net >>119 返事ありがとうございます 言葉足らずですいません 頂いた情報は現在設定しているリフレッシュレートが表示されるようです 欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて 表示しているリアルタイムのFPSとして表示されている数値なんです FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
121 :デフォルトの名無しさん :2024/03/07(木) 10:15:52.25 ID:s2RGChkv.net >>119 返事ありがとうございます 言葉足らずですいません 頂いた情報は現在設定しているリフレッシュレートが表示されるようです 欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて 表示しているリアルタイムのFPSとして表示されている数値なんです FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
122 :デフォルトの名無しさん :2024/03/07(木) 10:51:01.07 ID:s2RGChkv.net 連投してましたすいません 引き続き皆さんの知恵を貸してください
123 :デフォルトの名無しさん :2024/03/07(木) 13:04:08.87 ID:9xBYf94s.net まずそれらがfps値返すようなAPI持ってるか調べなよ 無いなら値として取得は無理だろうね fps表示部分が単色ならそのエリアをキャプチャして数字認識でもした方が早そう
124 :デフォルトの名無しさん :2024/03/07(木) 14:35:34.66 ID:s2RGChkv.net >>123 ヒントありがとうございます APIを調べてみたらNVIDIAにNVAPIと言うのがありました ここからどうやって取り出すか調べてます もし良かったらもう少し何かヒントをください
125 :デフォルトの名無しさん :2024/03/07(木) 17:21:43.79 ID:9xBYf94s.net もうpowershell関係ないがPresentMon64に計測対象のPID渡せばfps取得できるみたいね
126 :デフォルトの名無しさん :2024/03/07(木) 17:56:53.13 ID:YZU0b9T9.net >>125 はいPresentMonでもFPSを取れるみたいなのは調べました ただ、今arduinoㇸpowarshellからCPUGPUのデータを 受け取ってたのでそこと一緒に入れる方法が見つけられなくて
127 :110 :2024/03/07(木) 22:55:03.61 ID:PPl+ScPv.net 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])
128 :110 :2024/03/07(木) 22:56:30.34 ID:PPl+ScPv.net # ファイル名から日付に変換する $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) }
129 :110 :2024/03/07(木) 22:57:21.99 ID:PPl+ScPv.net # 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 '=>' }
130 :110 :2024/03/07(木) 23:00:00.89 ID:PPl+ScPv.net 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() ----- とりあえず形にはなりました。ありがとうございました!
131 :デフォルトの名無しさん :2024/03/08(金) 02:02:18.05 ID:nneR3Lgu.net それだけプログラミングできるなら、 データベースもある、Ruby on Rails で稼げ PowerShell では稼げないだろ
132 :デフォルトの名無しさん :2024/03/08(金) 19:54:09.17 ID:kAti37wZ.net 無償のRDBに取り込んで操作すれば楽なのにな SQL Server ExpressもSQLもわからないのかもしれないが
133 :デフォルトの名無しさん :2024/03/08(金) 23:00:20.01 ID:swFfFcBY.net いや、それならSQLiteでええやん
134 :デフォルトの名無しさん :2024/03/09(土) 21:26:55.41 ID:HJGXBhOf.net >>133 それマイクロソフト製品じゃないぞ?
135 :デフォルトの名無しさん :2024/03/10(日) 01:11:42.47 ID:AxZkOQF1.net sqliteはnugetから落とせるだろ
136 :デフォルトの名無しさん :2024/03/10(日) 02:22:29.61 ID:dZzOrK8S.net マイクロソフト製品じゃないとダメな理由がよく分からない
137 :デフォルトの名無しさん :2024/03/10(日) 12:24:51.84 ID:2l3n+JcC.net >>136 マイクロソフトのサポートが対応を渋る
138 :デフォルトの名無しさん :2024/03/10(日) 12:25:36.50 ID:2l3n+JcC.net SQL Server Expressを嫌がる理由がわからない
139 :デフォルトの名無しさん :2024/03/13(水) 12:54:32.04 ID:dDXeoITb.net FPS値を取得したがっていた者です あれから色々調べてHWiNFOから取得する事ができました ご協力ありがとうございました
140 :デフォルトの名無しさん :2024/03/14(木) 01:25:06.87 ID:3xDTJGqn.net ウェブ開発では、Ruby on Rails 一択。 Railsは、PostgreSQL, MySQL, SQLite の3大データベースに対応している。 ただし本番用では、PostgreSQL一択。 SQLiteは開発用・個人用など AWS Aurora は、PostgreSQL, MySQLに対応している。 SQLiteはブラウザなど、多くのアプリに含まれて使われている
141 :デフォルトの名無しさん :2024/03/14(木) 04:08:32.14 ID:XOsoQn4t.net ORACLE「え?ワイは?」
142 :デフォルトの名無しさん :2024/03/14(木) 04:11:13.73 ID:MTVljuIS.net Rubyとかいう20年前の言語w
143 :デフォルトの名無しさん :2024/03/14(木) 14:26:49.02 ID:i9kIdifV.net デフォで存在してるところが良いんじゃないか わざわざインストールするのなら今更新規にRubyを入れるのは無いだろうな
144 :デフォルトの名無しさん :2024/03/14(木) 21:10:47.40 ID:xE50NtDY.net >>141 オラクル社とマイクロソフト社がクラウドの世界では提携しているのを知らないのか?
145 :デフォルトの名無しさん :2024/03/15(金) 03:50:52.94 ID:d5IiPK+0.net 「主なRDB」でググった結果 Microsoft SQL Server. Oracle Database PostgreSQL. MySQL Amazon Relational Database Service. IBM Db2 Database.
146 :デフォルトの名無しさん :2024/03/15(金) 08:13:53.75 ID:X0BgzxQ9.net まだ続くの?家計簿に適してるのはどれよ
147 :デフォルトの名無しさん :2024/03/15(金) 19:27:44.40 ID:Yppsp93L.net 家計簿レベルなら1ヶ月に多くても1000件ないでしょ csvをそのままOS標準で使える言語で処理するのがいいよ
148 :デフォルトの名無しさん :2024/03/16(土) 23:37:28.12 ID:5O1O3AvE.net >>147 複式簿記というものを知らないのがバレているぞ
149 :140 :2024/03/17(日) 01:43:19.61 ID:02imyFwJ.net 複式簿記の自作なんて無理。 テーブル数も、100 ぐらい行きそう 総勘定元帳とか、複数のテーブルを紐付けしないといけないから、 プログラムがめちゃめちゃ複雑。 これは有料の会計ソフトを使うべき 自作では、単純な単式簿記しかできない Ruby のCSV Table や、データベースを使うなら、Ruby on Rails とか。 Railsなら、3大データベースに対応している 参照、>>140
150 :デフォルトの名無しさん :2024/03/17(日) 10:50:03.64 ID:b6WSYS3s.net Rubyガイジってどこにでもわくんだな トコジラミ並み
151 :デフォルトの名無しさん :2024/03/19(火) 02:21:32.51 ID:ilfn8WqH.net >>97 Ruby のCSV.Table で作ってみた https://paiza.io/projects/7dyw8_lDWimUANwD5E5GSw?language=ruby
152 :デフォルトの名無しさん :2024/03/19(火) 13:20:31.92 ID:xCYlYIv4.net このスレは PowerShell -Part 7 です
153 :デフォルトの名無しさん :2024/04/05(金) 00:59:22.85 ID:VnIedoxP.net Set-ExecutionPolicyとSudoって何が違うん? とあるps1ファイルを実行する時にそのプロセスだけ実行ポリシーを変更するSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Processを実行後にxxx.ps1を実行してるんだが Sudoが実装されたし楽ちんになるなとSudo xxx.ps1を入力するとエラーになる どっちも一時的にパーミッションを変更してアクセス権限を付与するコマンドだと思うんだが何が違うんだ?
154 :デフォルトの名無しさん :2024/04/05(金) 01:03:46.96 ID:Lw8p7kTG.net 窓の杜のニュース記事だけど、ここの情報参考になる? https://forest.watch.impress.co.jp/docs/serial/yajiuma/1579041.html
155 :デフォルトの名無しさん :2024/04/05(金) 01:55:57.21 ID:3ECyzj96.net >>153 そもそもいつからあなたのなかでは、ps1ファイルが実行形式ファイルになったのか?
156 :デフォルトの名無しさん :2024/04/05(金) 20:13:09.22 ID:Uri/y4c1.net Powershell コンソールで、xxx.ps1 とするとエラーになる! パス付きで、./xxx.ps1, .\xxx.ps1 か、 powershell ./xxx.ps1, powershell .\xxx.ps1 なら実行できる
157 :デフォルトの名無しさん :2024/04/06(土) 01:56:00.53 ID:q9eV9Q7I.net だいたい間違って実行してしまわないような仕様にしたのがわからない世代がいるのか ダブルクリックのような感覚で簡単実行なんてUACすら邪魔だと思ってんのかな? 自分で作って自分かミスして自分だけの問題で終わるならかまわないが、そんな趣味でPowerShellを使っている人間なんてほとんどいないと思う。
158 :デフォルトの名無しさん :2024/04/06(土) 01:58:23.66 ID:q9eV9Q7I.net コマンドレベルまで作り込んでテストされつくされているものと、自作のスクリプトをPATHに設定してどこからでも実行できるものが同列とはおそろしいな
159 :デフォルトの名無しさん :2024/04/06(土) 02:15:20.68 ID:9cPJ1AnL.net vscodeのターミナルと、windowsターミナルで同じpowershellでも認識できるコマンドが違うのなんでだろ プロファイル見るとそれぞれ同じpowershellのexe参照してるのに
160 :デフォルトの名無しさん :2024/04/06(土) 02:50:42.29 ID:q9eV9Q7I.net >>159 VSCodeはWindowsの一部じゃないぞ? VSCodeアプリケーションは、同じような動きと結果をマネているだけで、エミュレーションのようなことをしているのだから、完全に同じようにするのは困難。
161 :デフォルトの名無しさん :2024/04/06(土) 02:58:46.88 ID:Zc90rRma.net 大体ps1の1って何なのとか vbsやcmdやらがそのまま実行できるのにps1だけ半端に縛るのもおかしな話だし >間違って実行してしまわないような仕様 こんなのいつ決まったんだ MSでポリシーが統一されてるようには全く思えないんだが
162 :デフォルトの名無しさん :2024/04/06(土) 07:02:00.61 ID:jPXaIytz.net 世を取り巻くセキュリティ事情が日々刻々と変わっているのにかなり先発のvbsやcmdと同じじゃないからおかしいとな 少なくともある程度シェアを占める見込みがあるのだし前例踏襲に固執して0か100か思考に陥るほうがまずい そういう脊髄反射的な他責や論点ずらしの癖は周囲を白眼視させるだけじゃよ
163 :デフォルトの名無しさん :2024/04/06(土) 07:25:25.77 ID:6zl9Uxmg.net >>161 >>間違って実行してしまわないような仕様 >こんなのいつ決まったんだ powershellが出たばかりの頃に中の人が言ってたよ
164 :デフォルトの名無しさん :2024/04/06(土) 08:19:52.54 ID:NGHFFTyQ.net >大体ps1の1って何なのとか バージョン1の事 元々の計画ではPowerShell2向けのスクリプトファイルは.ps2にするつもりだった
165 :デフォルトの名無しさん :2024/04/06(土) 15:04:28.66 ID:M3AJuz+l.net 拡張子にバージョン含めるアホは初めて見たかも Windowsの技術者の発想ではないね Powershellはこの拡張子含めて起動周りだけ残念
166 :デフォルトの名無しさん :2024/04/06(土) 20:16:29.68 ID:qfnATLfz.net まぁMSはOSも言語も開発環境も既に人気もなく寿命もつきようとしてるから Windows最後の砦だったゲームもValveがProtonとSteam OS作ったからLinuxでほぼすべてのゲームが動いてパフォーマンスもWindowsより良い場合もある ただしあくまでエミュレートだからカーネルモードで動くアンチチートだけは動かなくてフォトナやヴァロやApexなんかの人気FPSが動かなかったり永久BAN対象になる まぁこれも時間の問題でWindowsが必要とされなくなるのは間近だな
167 :デフォルトの名無しさん :2024/04/06(土) 20:56:33.00 ID:9cPJ1AnL.net いるよねこういう極論振り回す人 脳内で完結してるから聞く耳を持たない
168 :デフォルトの名無しさん :2024/04/07(日) 09:15:27.80 ID:nb2SxK5J.net プログラマに限らずIT界隈はMS批判するのがカッコいいと勘違いしてる人多いからね
169 :デフォルトの名無しさん :2024/04/07(日) 10:22:00.29 ID:K0Taf7XF.net >>165 まあ、マイクロソフトだから、拡張子を3文字にする慣習が伝統的にあるせいかな。
170 :デフォルトの名無しさん :2024/04/07(日) 10:23:05.93 ID:K0Taf7XF.net >>167 いまでもシェアのほとんどがWindowsなのにね
171 :デフォルトの名無しさん :2024/04/08(月) 21:40:31.39 ID:bL5gAXu8.net PowerShell の ps1 ファイルは 何故 1なのか https://tech.guitarrapc.com/entry/2013/09/06/220944
172 :デフォルトの名無しさん :2024/04/09(火) 00:15:02.63 ID:32z8iBj9.net powershell 7.xってどういう立ち位置なんだろ windows標準では入ってないから、開発者向けなのかな Rubookは7.2が標準だけど
173 :デフォルトの名無しさん :2024/04/09(火) 03:22:25.95 ID:Gy4/KbO3.net PowerShell Core(6.0以降) では ・.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.39 ID:ru6IFaGR.net >>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.
175 :デフォルトの名無しさん :2024/04/09(火) 21:52:45.57 ID:yR8KPsJp.net 用がないなら関わる必要ないんじゃね OSに標準で入ってる事しかメリット無いんだし
176 :デフォルトの名無しさん :2024/04/13(土) 22:49:21.10 ID:7ey9vG0h.net 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" に属していません。このセットの引数を指定して、コマンドを再度実行してください。
177 :デフォルトの名無しさん :2024/04/13(土) 22:51:19.83 ID:7ey9vG0h.net shift-jifになってますがjisでもちゃんとエラーになります
178 :デフォルトの名無しさん :2024/04/13(土) 22:52:54.00 ID:OrtqC7Lq.net コマンドレットの引数と.NETのそれを混同してるのでは -Encoding Defaultでしょ
179 :デフォルトの名無しさん :2024/04/14(日) 08:27:07.05 ID:JqEwLIX+.net なんでなんですかと言われても自分で貼ったエラーメッセージに書いてある通りでしょ 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.87 ID:PE3M1YJ/.net よく知らんけど、UTF8もSHIFT-JISもMS932 ASCIIも、全部半角英数文字なら、 完全に互換性あるよな❓ BOM付UTF8はダメだろうが ていうか、改行はLF CR LF+CR CR+LF のどれが正しいの❓
181 :デフォルトの名無しさん :2024/04/15(月) 15:02:21.24 ID:PE3M1YJ/.net ていうか、拡張子mp3は音楽で音なのに、 でもてか、拡張子mp4は動画で映像だし、ま、音声も含まれてるけど もしかして、拡張子mp5は匂いとかになるのかな❓ なんて訳ないよね
182 :デフォルトの名無しさん :2024/04/15(月) 15:11:13.01 ID:t9UnzSYj.net mp3: MPEG-1 Audio Layer-3 mp4: MPEG-4 Part 14
183 :デフォルトの名無しさん :2024/04/15(月) 22:02:24.55 ID:uMyBIzHs.net >>180 0x5Cと0x7Eが違うだろ 0x5CはASCIIやUTF-8だと逆スラッシュだけどShift-JISでは円記号 0x7EはASCIIやUTF-8ではチルダでShift-JISだとオーバーライン
184 :デフォルトの名無しさん :2024/04/29(月) 03:38:58.05 ID:xgq67JZI.net 糞言語晒しハゲ
185 :デフォルトの名無しさん :2024/04/29(月) 21:21:17.91 ID:+v7UeRZb.net 確かにPowerShellには糞な所はあるが UNIXシェルはもっと糞だからなぁ
186 :デフォルトの名無しさん :2024/04/30(火) 00:48:39.65 ID:DiJVRdjR.net bashはもっと高級言語っぽく書かせてくれ
187 :デフォルトの名無しさん :2024/04/30(火) 19:49:07.28 ID:C0uaYXPq.net プログラムスレ自体が スレ立ての荒らしにあってる?
58 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者