前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/
次スレは>>980が立ててね!!
PowerShell -Part 7
1デフォルトの名無しさん
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB2023/12/22(金) 09:01:10.81ID:FudXFPqY
PowerShellはAdd-Memberでオブジェクトにプロパティやメソッドを追加できる
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/add-member
$PROFILE | Get-Member を実行してみればわかるけど
AllUsersAllHostsとかは$PROFILEに追加されたNotePropertyって種類のプロパティ
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/add-member
$PROFILE | Get-Member を実行してみればわかるけど
AllUsersAllHostsとかは$PROFILEに追加されたNotePropertyって種類のプロパティ
2023/12/22(金) 09:10:30.60ID:nFOKM4xK
>>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
中身が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
2023/12/22(金) 09:51:40.03ID:wPcChJb5
('str' | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao
→ Wao!
(123 | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao
→ Wao!
理解した
→ Wao!
(123 | Add-Member -type NoteProperty -Name 'wao' -Value 'Wao!' -passThru).wao
→ Wao!
理解した
2023/12/23(土) 21:24:52.21ID:xtnhDuDo
>>56
Add-Member は変数ではなくオブジェクトにメンバーを追加する
"aaa" と "bbb" は違うオブジェクトなんだから "aaa" に追加したメンバーが "bbb" に無いのは当たり前
Add-Member は変数ではなくオブジェクトにメンバーを追加する
"aaa" と "bbb" は違うオブジェクトなんだから "aaa" に追加したメンバーが "bbb" に無いのは当たり前
2023/12/25(月) 07:53:26.01ID:5GC0Dj8P
ネイティブコマンドの出力ってPowerShell界に入るとString列になるけど
Stringのそれぞれにプロパティで元のバイナリ付けて欲しい
Stringのそれぞれにプロパティで元のバイナリ付けて欲しい
2023/12/25(月) 08:58:53.82ID:xlHQ3YOr
>>59
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
2023/12/25(月) 11:02:44.18ID:5GC0Dj8P
バイナリが通るようになったのは
「ネイティブからネイティブ」と「PowerShellからネイティブ」だけ
「ネイティブからPowerShell」に手軽にバイナリ通したい
バイナリ出力ネイティブ | バイナリ入力ネイティブ
として使うバイナリ入力ネイティブ用にラッパーが書きたいのに今は書けない
「ネイティブからネイティブ」と「PowerShellからネイティブ」だけ
「ネイティブからPowerShell」に手軽にバイナリ通したい
バイナリ出力ネイティブ | バイナリ入力ネイティブ
として使うバイナリ入力ネイティブ用にラッパーが書きたいのに今は書けない
2023/12/25(月) 12:37:48.60ID:5GC0Dj8P
自分には必要ないから触れなかったけど
バイナリ出力ネイティブのラッパーも書けない
バイナリ出力ネイティブのラッパーも書けない
2023/12/25(月) 12:38:42.52ID:5GC0Dj8P
あ、手間をかければ書けるな
2023/12/26(火) 07:36:13.49ID:ghNGRT5G
引数に -i を複数回指定したいので param() を使わずに function を書いています
get-help で SYNTAX に使い方を表示するにはどうすれば良いのでしょうか
get-help で SYNTAX に使い方を表示するにはどうすれば良いのでしょうか
2023/12/26(火) 12:19:47.21ID:hM6Ywi/0
about_Comment_Based_Help
ttps://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-7.4
このページの中の項目で
スクリプト モジュールでのコメント ベースのヘルプの構文
コメントベースのヘルプ キーワード
関数のコメント ベースのヘルプ
関数構文でのパラメーターの説明
スクリプトのコメントベースのヘルプ
あたりが参考になるかも
ttps://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-7.4
このページの中の項目で
スクリプト モジュールでのコメント ベースのヘルプの構文
コメントベースのヘルプ キーワード
関数のコメント ベースのヘルプ
関数構文でのパラメーターの説明
スクリプトのコメントベースのヘルプ
あたりが参考になるかも
2023/12/26(火) 16:47:47.85ID:ghNGRT5G
paramを使わずにSYNTAXを表示する方法を尋ねたのはそこを見たからでして
方法がありましたら具体的にご教示くださいませ
方法がありましたら具体的にご教示くださいませ
2023/12/26(火) 19:16:46.24ID:CTT8zMQ8
nugetに上がってるモジュールのソースでも嫁
2023/12/26(火) 21:29:18.59ID:QC0ZGJu/
そもそもなんで -i を複数回指定したいんだろう
引数$i の型を配列にするのとは違うの?
引数$i の型を配列にするのとは違うの?
690064
2023/12/27(水) 12:51:53.61ID:1jSqRJ5E 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.
と怒られます
オプション付きエイリアス代わりの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.
と怒られます
2023/12/27(水) 13:02:29.78ID:X+3+vX99
指定する対象はaudioとvideoと決まってるんだから
-aiや-viにすりゃいい
変態的なffmpegのオナニーに付き合う必要はない
-aiや-viにすりゃいい
変態的なffmpegのオナニーに付き合う必要はない
710064
2023/12/27(水) 13:12:15.16ID:1jSqRJ5E いやaudioとvideoに限らんし個数も不定なのよ
audioが言語別複数で、videoはチャプターごとに分かれて、字幕もあったり
結局ffmpegと同じ使い方ができるようにするのが面倒ない
audioが言語別複数で、videoはチャプターごとに分かれて、字幕もあったり
結局ffmpegと同じ使い方ができるようにするのが面倒ない
2023/12/27(水) 13:59:38.84ID:Fe+mtIWC
ffmpegはシーケンスが意味を持つ引数になってるのよね
どういう順で記述するかによって適用される範囲が異なってくる
どういう順で記述するかによって適用される範囲が異なってくる
2023/12/27(水) 20:51:25.44ID:85uYBZGc
なら引数は$argsで受け取って好きなように解釈したらええがな
740064
2023/12/27(水) 22:38:05.51ID:1jSqRJ5E だからそうしてるのが理解できないのかな
paramを使わないというのは $args を自分で解釈するということ
その上でparamを使わない場合のget-helpの出力について相談したんだが
聞いた相手が想像を超えたバカだったたようだ
邪魔したな
paramを使わないというのは $args を自分で解釈するということ
その上でparamを使わない場合のget-helpの出力について相談したんだが
聞いた相手が想像を超えたバカだったたようだ
邪魔したな
2023/12/28(木) 08:55:34.70ID:xGxlWVWv
PowerShellにはPowerShellの流儀があるわけで
それに合わないことをやろうとすれば苦労するのは当たり前
C言語で関数型プログラミングをしたいって騒いでるのと同レベル
それに合わないことをやろうとすれば苦労するのは当たり前
C言語で関数型プログラミングをしたいって騒いでるのと同レベル
2023/12/28(木) 09:27:10.14ID:i2ZdA1S0
・質問者がget-helpのやり方をスレで質問
・そもそもこうすればいいんじゃね?と別解について疑問があがる
・さほど適した別解はないことが判明
・質問者に対して怒り出す
別に苦労したと文句たれてるわけでもないのに質問者がウザ絡みされて気の毒すぎる
・そもそもこうすればいいんじゃね?と別解について疑問があがる
・さほど適した別解はないことが判明
・質問者に対して怒り出す
別に苦労したと文句たれてるわけでもないのに質問者がウザ絡みされて気の毒すぎる
2023/12/28(木) 10:13:47.89ID:DhrTF4+F
助言・回答者に対しキレ散らかすパターン多いな。同一人物か?
2023/12/28(木) 10:20:56.59ID:4ANODT1z
よく見たら>>16のtarと同じ奴か
2023/12/29(金) 08:36:49.58ID:KamNl0ts
PowerShellよりdoskeyのマクロにしたほうが簡単そう
2023/12/29(金) 11:07:50.54ID:HpMDoHHU
get-helpでヘルプを表示させる
コメントベースのヘルプを記述する
param()を使わない
という条件だったら単純にスクリプトの先頭にコメントベースで
.SYNOPSIS または .DESCRIPTION に「-iが複数使える」旨を書けばいいのでは
もしくは
param()を使わず$Argsを自前で解釈しなきゃいけないので
引数の解釈を構築するついでに
$Args.Countがゼロもしくは -help -h -? /h /?
あたりの引数で独自のヘルプを表示させちゃうとか
まぁ普通に考えたらこうならね?
コメントベースのヘルプを記述する
param()を使わない
という条件だったら単純にスクリプトの先頭にコメントベースで
.SYNOPSIS または .DESCRIPTION に「-iが複数使える」旨を書けばいいのでは
もしくは
param()を使わず$Argsを自前で解釈しなきゃいけないので
引数の解釈を構築するついでに
$Args.Countがゼロもしくは -help -h -? /h /?
あたりの引数で独自のヘルプを表示させちゃうとか
まぁ普通に考えたらこうならね?
81デフォルトの名無しさん
2023/12/29(金) 15:57:16.18ID:SsN2lKB9 質問して答えにキレ散らかすキチゲエきてるねw
2023/12/29(金) 17:50:55.94ID:6zkU+tYe
>>73 がコントすぎてさすがに擁護できない
2023/12/30(土) 20:28:29.74ID:pfiAiXAK
XMLヘルプファイル用意して参照させればParam()のないfunctionに対し「構文」部分を書ける。
2023/12/30(土) 21:23:05.61ID:pfiAiXAK
PowerShell標準から外れた「引数に -i を複数回指定」みたいな内容を書けるかは知らん。
85デフォルトの名無しさん
2023/12/31(日) 16:06:42.19ID:gGg0M1TZ 国内公式からLenovoのノートPC買ったら何故かISEが英語環境になって意味わからん。
どこに言語設定あるの?当然OSは日本語設定にしてるし、他のアプリも日本語になってる。
これまでLenovoのPCは5台くらい買ってきたのにISEだけ英語になるの初めてなんだが。
https://i.imgur.com/H4NVkKH.png
どこに言語設定あるの?当然OSは日本語設定にしてるし、他のアプリも日本語になってる。
これまでLenovoのPCは5台くらい買ってきたのにISEだけ英語になるの初めてなんだが。
https://i.imgur.com/H4NVkKH.png
2023/12/31(日) 17:55:15.89ID:s/6k3+Yx
そういうのsurfaceでもあったな
OSセットアップ時の国設定が半端に適用された状態だから入れ直した方が早いかも
OSセットアップ時の国設定が半端に適用された状態だから入れ直した方が早いかも
87デフォルトの名無しさん
2024/01/01(月) 01:36:45.15ID:/rCM9JK/2024/01/01(月) 21:51:12.11ID:uj2mjMNR
Windows PowerShell ISEでPowerShell Coreを利用する
https://dev.classmethod.jp/articles/using-powershell-core-in-the-windows-powershell-ise/
勝手にアプリをインストールできない環境なら意味あるかもしれない
https://dev.classmethod.jp/articles/using-powershell-core-in-the-windows-powershell-ise/
勝手にアプリをインストールできない環境なら意味あるかもしれない
89デフォルトの名無しさん
2024/01/02(火) 12:27:48.68ID:TDOOgc4U powershell iseってのを知らなかったけど起動したらUIシンプルで美しいな
VSCodeもこれくらいシンプルになってくれんかな
VSCodeもこれくらいシンプルになってくれんかな
2024/01/02(火) 12:49:42.78ID:ztgjURNX
カスタマイズしてシンプルにすればいいと思うよ
俺はどちらかというとVSCodeのほうが機能美を感じる
デフォルトで万人の感性にフィットするモノは存在しない
カスタマイズも嫌なら自分で作るか作らせるか
俺はどちらかというとVSCodeのほうが機能美を感じる
デフォルトで万人の感性にフィットするモノは存在しない
カスタマイズも嫌なら自分で作るか作らせるか
91デフォルトの名無しさん
2024/01/02(火) 20:24:20.63ID:G9bvfkvl >>88
ヤベーもの見てるんだなw
ヤベーもの見てるんだなw
2024/01/15(月) 23:56:13.49ID:0fJNPgiU
Class C { $a = '失敗' }
function f { Param([ref]$r); $r.Value = '成功' }
$o = [C]::new()
f ([ref]$o.a)
$o.a
$t = '失敗'
f ([ref]$t)
$t
こんなの聞いてないよ
function f { Param([ref]$r); $r.Value = '成功' }
$o = [C]::new()
f ([ref]$o.a)
$o.a
$t = '失敗'
f ([ref]$t)
$t
こんなの聞いてないよ
2024/01/16(火) 12:08:02.87ID:YM90ubox
何が言いたいのかわからないw
コードを実行した結果が書かれてないので
何を言いたいのか知るにはこのコードを実行しなきゃならない
めんどくさいw
コードを実行した結果が書かれてないので
何を言いたいのか知るにはこのコードを実行しなきゃならない
めんどくさいw
2024/01/16(火) 18:55:49.27ID:6T/+PhGk
プロパティがgetterだから
2024/01/17(水) 09:27:27.73ID:HArby8R7
$o | Get-Member を実行してみれば分かるけど$o.aはフィールドじゃなくてプロパティだからな
$o.aのgetter( $o.get_a() )の戻り値を関数に渡しても$o.aの値は変わらない
$o.aのgetter( $o.get_a() )の戻り値を関数に渡しても$o.aの値は変わらない
2024/02/11(日) 23:33:57.66ID:Z05z2D4x
パワーシェルすげえな
仕事がどんどん片付いていくよ
仕事がどんどん片付いていくよ
2024/02/27(火) 14:14:12.56ID:JyRut9xW
2つのCSV(どちらも同じヘッダー)で両方に一致するデータ行があった場合にその行を2つのCSVから取り除きたいんだけどどうしたらいいの?
ヘッダーがDate,Shop,Sales だとしてユニークな項目がなく全く同じデータが1つ目のCSVに1行、2つ目のCSVに2行あった場合に2つ目のCSVは1行だけ消したい
Where-object だと2行とも消えちゃう
ヘッダーがDate,Shop,Sales だとしてユニークな項目がなく全く同じデータが1つ目のCSVに1行、2つ目のCSVに2行あった場合に2つ目のCSVは1行だけ消したい
Where-object だと2行とも消えちゃう
2024/02/27(火) 18:46:20.00ID:hxHkafQb
2つのCSVをどうやってwhere-objectに渡してんだよ
その2行が消える間抜けコード晒してみなよ
その2行が消える間抜けコード晒してみなよ
2024/02/27(火) 19:14:40.76ID:JyRut9xW
chatgptに聞いたらそうなった
100デフォルトの名無しさん
2024/02/27(火) 22:08:44.15ID:JyRut9xW # 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
$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.71ID:j3BJYXF1 わーいできたー
$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
$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.98ID:IJ26J3uc $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}
$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.74ID:JjFjLo/S 段階を踏まないのは謎だよな
ファイルをコピーする概念もなさそう
ファイルをコピーする概念もなさそう
104デフォルトの名無しさん
2024/02/28(水) 00:54:14.86ID:hPdEXjNd これで良かったわ
$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
$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.70ID:anWSvM2g CSVファイルに想定外のデータがあることを考慮しないのか
106デフォルトの名無しさん
2024/02/28(水) 02:17:43.88ID:gh65zyvf わ仕事早い…
csv1の方はDateがYYYY/MM/DDの10桁固定で
csv2の方はDateがYYYY/M/Dで8〜10桁になってて
日付としてみれば同じなんですが1行を文字ででみると違う可能性があります…
後出しですいません
またShopはだいたい一致してるのですが
「ローソン札幌店」と「ローソン札幌」や「ローソンサッポロ」みたいな内容が異なることがあってそこを必ず自前のfunctionの変換リストかましてから比較する予定でした
私の想定を超えるプログラムでfunctionを挟むこともできない
csv1の方はDateがYYYY/MM/DDの10桁固定で
csv2の方はDateがYYYY/M/Dで8〜10桁になってて
日付としてみれば同じなんですが1行を文字ででみると違う可能性があります…
後出しですいません
またShopはだいたい一致してるのですが
「ローソン札幌店」と「ローソン札幌」や「ローソンサッポロ」みたいな内容が異なることがあってそこを必ず自前のfunctionの変換リストかましてから比較する予定でした
私の想定を超えるプログラムでfunctionを挟むこともできない
107デフォルトの名無しさん
2024/02/28(水) 02:24:06.13ID:yYqm5P+g カラムの曖昧さとかは全く興味沸かないなあ自分でやんな
108デフォルトの名無しさん
2024/02/29(木) 08:30:06.44ID:Qx0i34px ファイルのサイズが大きければ実装が変わる
109デフォルトの名無しさん
2024/02/29(木) 08:47:23.80ID:8KhlEQjj チンコのサイズが大きければ実績が変わる
110デフォルトの名無しさん
2024/03/01(金) 15:53:36.57ID:bh14ivY9 昨日の少し試しましたが
$compare=compare $csv1 $csv2
$compare|?{$_.SideIndicator -eq "<="}|% InputObject|sc csv1.csv
$compare|?{$_.SideIndicator -eq "=>"}|% InputObject|sc csv2.csv
でうまくいきそうです
ありがとうございます
自分でつけてる家計簿からクレジットで相殺してる項目だけ出力したcsvと
三井住友のVpassの明細(ファイルの日付的には翌月)を突き合わせを自動でやって7割ぐらい減ってくれたらいいなと思って
AIにプログラム書かせたらすぐにできるかなと思ったけどAIもまだまだアホでした
土日に頑張ります
$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.56ID:XQV1Pqn6 目的よりも手段にこだわっていると思われる
テキストファイルとPowerShellだけで、イレギュラーなデータがあるかもしれないデータを操作をするのは、かなり面倒なやり方だぞ。
テキストファイルとPowerShellだけで、イレギュラーなデータがあるかもしれないデータを操作をするのは、かなり面倒なやり方だぞ。
112デフォルトの名無しさん
2024/03/02(土) 23:40:34.42ID:XQV1Pqn6 >>110 はキャラクタセットも気にしてなさそうなんだよな
113デフォルトの名無しさん
2024/03/03(日) 03:11:25.14ID:CrVe/94r 行比較が出来るようになれば対象が何だろうが応用できるだろ
話はとっくに終わってんのよ
>目的よりも手段にこだわっていると思われる
これまんまお前のことじゃね?
話はとっくに終わってんのよ
>目的よりも手段にこだわっていると思われる
これまんまお前のことじゃね?
114デフォルトの名無しさん
2024/03/05(火) 01:41:57.29ID:Mm4X91cX115デフォルトの名無しさん
2024/03/06(水) 05:34:48.47ID:oDRlZbsC 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>] ]
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.20ID:wzhaiXwv PowerShellだと何も考えずにDateTime変換できるのに、Rubyだとそんなに手間かかるのか
もうそんな言語使うの止めて大人しくPowerShell使ったら?
もうそんな言語使うの止めて大人しくPowerShell使ったら?
117デフォルトの名無しさん
2024/03/06(水) 17:02:39.85ID:8FQ+1AZx すいません初心者でとんちんかんな質問だったらごめんなさい
PowerShellからarduinoにデータを送ってOLEDで表示するセンサーモニターを作ってます
CPU・GPUの使用率や温度は取り出せて表示できたのですが
FPSってどこからか取り出す方法ってありますか?
使用率や温度と違うのでPresentMonやAfterburnerからGet-Counterで取得する?
とか考えて調べてるのですが分からなくて
とんちんかんなこと言ってたらすいません
できるできない含めて教えてください
PowerShellからarduinoにデータを送ってOLEDで表示するセンサーモニターを作ってます
CPU・GPUの使用率や温度は取り出せて表示できたのですが
FPSってどこからか取り出す方法ってありますか?
使用率や温度と違うのでPresentMonやAfterburnerからGet-Counterで取得する?
とか考えて調べてるのですが分からなくて
とんちんかんなこと言ってたらすいません
できるできない含めて教えてください
118115
2024/03/07(木) 01:47:21.31ID:Z/86eyX0 基本的に、Go でも、こういうのしかない
2024-01-01
2024-01-01 15:01:01
それか、RFC 3339, RFC 3339 Nano
これら以外を使っているシステムは、バグるからダメ!
2024-01-01
2024-01-01 15:01:01
それか、RFC 3339, RFC 3339 Nano
これら以外を使っているシステムは、バグるからダメ!
119デフォルトの名無しさん
2024/03/07(木) 01:55:49.10ID:yhOhiWWp >>117
FPSて。要するにモニタのリフレッシュレートが欲しいんじゃろ?
ほれ
$RefreshRate = Get-WmiObject -Class:Win32_videocontroller | Select-Object -ExpandProperty CurrentRefreshRate
FPSて。要するにモニタのリフレッシュレートが欲しいんじゃろ?
ほれ
$RefreshRate = Get-WmiObject -Class:Win32_videocontroller | Select-Object -ExpandProperty CurrentRefreshRate
120デフォルトの名無しさん
2024/03/07(木) 10:15:46.32ID:s2RGChkv >>119
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
121デフォルトの名無しさん
2024/03/07(木) 10:15:52.25ID:s2RGChkv >>119
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
返事ありがとうございます
言葉足らずですいません
頂いた情報は現在設定しているリフレッシュレートが表示されるようです
欲しいデータはGeForce ExperienceやMSI Afterburnerで画面上でオーバーレイさせて
表示しているリアルタイムのFPSとして表示されている数値なんです
FPSやフレームレートで検索してましたがリフレッシュレートでも探してみます
122デフォルトの名無しさん
2024/03/07(木) 10:51:01.07ID:s2RGChkv 連投してましたすいません
引き続き皆さんの知恵を貸してください
引き続き皆さんの知恵を貸してください
123デフォルトの名無しさん
2024/03/07(木) 13:04:08.87ID:9xBYf94s まずそれらがfps値返すようなAPI持ってるか調べなよ
無いなら値として取得は無理だろうね
fps表示部分が単色ならそのエリアをキャプチャして数字認識でもした方が早そう
無いなら値として取得は無理だろうね
fps表示部分が単色ならそのエリアをキャプチャして数字認識でもした方が早そう
124デフォルトの名無しさん
2024/03/07(木) 14:35:34.66ID:s2RGChkv125デフォルトの名無しさん
2024/03/07(木) 17:21:43.79ID:9xBYf94s もうpowershell関係ないがPresentMon64に計測対象のPID渡せばfps取得できるみたいね
126デフォルトの名無しさん
2024/03/07(木) 17:56:53.13ID:YZU0b9T9 >>125
はいPresentMonでもFPSを取れるみたいなのは調べました
ただ、今arduinoㇸpowarshellからCPUGPUのデータを
受け取ってたのでそこと一緒に入れる方法が見つけられなくて
はいPresentMonでもFPSを取れるみたいなのは調べました
ただ、今arduinoㇸpowarshellからCPUGPUのデータを
受け取ってたのでそこと一緒に入れる方法が見つけられなくて
127110
2024/03/07(木) 22:55:03.61ID:PPl+ScPv 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])
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])
128110
2024/03/07(木) 22:56:30.34ID:PPl+ScPv # ファイル名から日付に変換する
$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) }
$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) }
129110
2024/03/07(木) 22:57:21.99ID:PPl+ScPv # 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 '=>' }
$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 '=>' }
130110
2024/03/07(木) 23:00:00.89ID:PPl+ScPv 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()
-----
とりあえず形にはなりました。ありがとうございました!
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.05ID:nneR3Lgu それだけプログラミングできるなら、
データベースもある、Ruby on Rails で稼げ
PowerShell では稼げないだろ
データベースもある、Ruby on Rails で稼げ
PowerShell では稼げないだろ
132デフォルトの名無しさん
2024/03/08(金) 19:54:09.17ID:kAti37wZ 無償のRDBに取り込んで操作すれば楽なのにな
SQL Server ExpressもSQLもわからないのかもしれないが
SQL Server ExpressもSQLもわからないのかもしれないが
133デフォルトの名無しさん
2024/03/08(金) 23:00:20.01ID:swFfFcBY いや、それならSQLiteでええやん
134デフォルトの名無しさん
2024/03/09(土) 21:26:55.41ID:HJGXBhOf >>133
それマイクロソフト製品じゃないぞ?
それマイクロソフト製品じゃないぞ?
135デフォルトの名無しさん
2024/03/10(日) 01:11:42.47ID:AxZkOQF1 sqliteはnugetから落とせるだろ
136デフォルトの名無しさん
2024/03/10(日) 02:22:29.61ID:dZzOrK8S マイクロソフト製品じゃないとダメな理由がよく分からない
137デフォルトの名無しさん
2024/03/10(日) 12:24:51.84ID:2l3n+JcC >>136
マイクロソフトのサポートが対応を渋る
マイクロソフトのサポートが対応を渋る
138デフォルトの名無しさん
2024/03/10(日) 12:25:36.50ID:2l3n+JcC SQL Server Expressを嫌がる理由がわからない
139デフォルトの名無しさん
2024/03/13(水) 12:54:32.04ID:dDXeoITb FPS値を取得したがっていた者です
あれから色々調べてHWiNFOから取得する事ができました
ご協力ありがとうございました
あれから色々調べてHWiNFOから取得する事ができました
ご協力ありがとうございました
140デフォルトの名無しさん
2024/03/14(木) 01:25:06.87ID:3xDTJGqn ウェブ開発では、Ruby on Rails 一択。
Railsは、PostgreSQL, MySQL, SQLite の3大データベースに対応している。
ただし本番用では、PostgreSQL一択。
SQLiteは開発用・個人用など
AWS Aurora は、PostgreSQL, MySQLに対応している。
SQLiteはブラウザなど、多くのアプリに含まれて使われている
Railsは、PostgreSQL, MySQL, SQLite の3大データベースに対応している。
ただし本番用では、PostgreSQL一択。
SQLiteは開発用・個人用など
AWS Aurora は、PostgreSQL, MySQLに対応している。
SQLiteはブラウザなど、多くのアプリに含まれて使われている
141デフォルトの名無しさん
2024/03/14(木) 04:08:32.14ID:XOsoQn4t ORACLE「え?ワイは?」
142デフォルトの名無しさん
2024/03/14(木) 04:11:13.73ID:MTVljuIS Rubyとかいう20年前の言語w
143デフォルトの名無しさん
2024/03/14(木) 14:26:49.02ID:i9kIdifV デフォで存在してるところが良いんじゃないか
わざわざインストールするのなら今更新規にRubyを入れるのは無いだろうな
わざわざインストールするのなら今更新規にRubyを入れるのは無いだろうな
144デフォルトの名無しさん
2024/03/14(木) 21:10:47.40ID:xE50NtDY >>141
オラクル社とマイクロソフト社がクラウドの世界では提携しているのを知らないのか?
オラクル社とマイクロソフト社がクラウドの世界では提携しているのを知らないのか?
145デフォルトの名無しさん
2024/03/15(金) 03:50:52.94ID:d5IiPK+0 「主なRDB」でググった結果
Microsoft SQL Server.
Oracle Database
PostgreSQL.
MySQL
Amazon Relational Database Service.
IBM Db2 Database.
Microsoft SQL Server.
Oracle Database
PostgreSQL.
MySQL
Amazon Relational Database Service.
IBM Db2 Database.
146デフォルトの名無しさん
2024/03/15(金) 08:13:53.75ID:X0BgzxQ9 まだ続くの?家計簿に適してるのはどれよ
147デフォルトの名無しさん
2024/03/15(金) 19:27:44.40ID:Yppsp93L 家計簿レベルなら1ヶ月に多くても1000件ないでしょ
csvをそのままOS標準で使える言語で処理するのがいいよ
csvをそのままOS標準で使える言語で処理するのがいいよ
148デフォルトの名無しさん
2024/03/16(土) 23:37:28.12ID:5O1O3AvE >>147
複式簿記というものを知らないのがバレているぞ
複式簿記というものを知らないのがバレているぞ
149140
2024/03/17(日) 01:43:19.61ID:02imyFwJ 複式簿記の自作なんて無理。
テーブル数も、100 ぐらい行きそう
総勘定元帳とか、複数のテーブルを紐付けしないといけないから、
プログラムがめちゃめちゃ複雑。
これは有料の会計ソフトを使うべき
自作では、単純な単式簿記しかできない
Ruby のCSV Table や、データベースを使うなら、Ruby on Rails とか。
Railsなら、3大データベースに対応している
参照、>>140
テーブル数も、100 ぐらい行きそう
総勘定元帳とか、複数のテーブルを紐付けしないといけないから、
プログラムがめちゃめちゃ複雑。
これは有料の会計ソフトを使うべき
自作では、単純な単式簿記しかできない
Ruby のCSV Table や、データベースを使うなら、Ruby on Rails とか。
Railsなら、3大データベースに対応している
参照、>>140
150デフォルトの名無しさん
2024/03/17(日) 10:50:03.64ID:b6WSYS3s Rubyガイジってどこにでもわくんだな
トコジラミ並み
トコジラミ並み
151デフォルトの名無しさん
2024/03/19(火) 02:21:32.51ID:ilfn8WqH152デフォルトの名無しさん
2024/03/19(火) 13:20:31.92ID:xCYlYIv4 このスレは
PowerShell -Part 7
です
PowerShell -Part 7
です
153デフォルトの名無しさん
2024/04/05(金) 00:59:22.85ID:VnIedoxP Set-ExecutionPolicyとSudoって何が違うん?
とあるps1ファイルを実行する時にそのプロセスだけ実行ポリシーを変更するSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Processを実行後にxxx.ps1を実行してるんだが
Sudoが実装されたし楽ちんになるなとSudo xxx.ps1を入力するとエラーになる
どっちも一時的にパーミッションを変更してアクセス権限を付与するコマンドだと思うんだが何が違うんだ?
とあるps1ファイルを実行する時にそのプロセスだけ実行ポリシーを変更するSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Processを実行後にxxx.ps1を実行してるんだが
Sudoが実装されたし楽ちんになるなとSudo xxx.ps1を入力するとエラーになる
どっちも一時的にパーミッションを変更してアクセス権限を付与するコマンドだと思うんだが何が違うんだ?
154デフォルトの名無しさん
2024/04/05(金) 01:03:46.96ID:Lw8p7kTG 窓の杜のニュース記事だけど、ここの情報参考になる?
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1579041.html
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1579041.html
レスを投稿する
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- 両手でフレミングの法則やってくれ [577451214]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
