前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/
次スレは>>980が立ててね!!
探検
PowerShell -Part 7
1デフォルトの名無しさん
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB123デフォルトの名無しさん
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
155デフォルトの名無しさん
2024/04/05(金) 01:55:57.21ID:3ECyzj96 >>153
そもそもいつからあなたのなかでは、ps1ファイルが実行形式ファイルになったのか?
そもそもいつからあなたのなかでは、ps1ファイルが実行形式ファイルになったのか?
156デフォルトの名無しさん
2024/04/05(金) 20:13:09.22ID:Uri/y4c1 Powershell コンソールで、xxx.ps1 とするとエラーになる!
パス付きで、./xxx.ps1, .\xxx.ps1 か、
powershell ./xxx.ps1, powershell .\xxx.ps1 なら実行できる
パス付きで、./xxx.ps1, .\xxx.ps1 か、
powershell ./xxx.ps1, powershell .\xxx.ps1 なら実行できる
157デフォルトの名無しさん
2024/04/06(土) 01:56:00.53ID:q9eV9Q7I だいたい間違って実行してしまわないような仕様にしたのがわからない世代がいるのか
ダブルクリックのような感覚で簡単実行なんてUACすら邪魔だと思ってんのかな?
自分で作って自分かミスして自分だけの問題で終わるならかまわないが、そんな趣味でPowerShellを使っている人間なんてほとんどいないと思う。
ダブルクリックのような感覚で簡単実行なんてUACすら邪魔だと思ってんのかな?
自分で作って自分かミスして自分だけの問題で終わるならかまわないが、そんな趣味でPowerShellを使っている人間なんてほとんどいないと思う。
158デフォルトの名無しさん
2024/04/06(土) 01:58:23.66ID:q9eV9Q7I コマンドレベルまで作り込んでテストされつくされているものと、自作のスクリプトをPATHに設定してどこからでも実行できるものが同列とはおそろしいな
159デフォルトの名無しさん
2024/04/06(土) 02:15:20.68ID:9cPJ1AnL vscodeのターミナルと、windowsターミナルで同じpowershellでも認識できるコマンドが違うのなんでだろ
プロファイル見るとそれぞれ同じpowershellのexe参照してるのに
プロファイル見るとそれぞれ同じpowershellのexe参照してるのに
160デフォルトの名無しさん
2024/04/06(土) 02:50:42.29ID:q9eV9Q7I >>159
VSCodeはWindowsの一部じゃないぞ?
VSCodeアプリケーションは、同じような動きと結果をマネているだけで、エミュレーションのようなことをしているのだから、完全に同じようにするのは困難。
VSCodeはWindowsの一部じゃないぞ?
VSCodeアプリケーションは、同じような動きと結果をマネているだけで、エミュレーションのようなことをしているのだから、完全に同じようにするのは困難。
161デフォルトの名無しさん
2024/04/06(土) 02:58:46.88ID:Zc90rRma 大体ps1の1って何なのとか
vbsやcmdやらがそのまま実行できるのにps1だけ半端に縛るのもおかしな話だし
>間違って実行してしまわないような仕様
こんなのいつ決まったんだ
MSでポリシーが統一されてるようには全く思えないんだが
vbsやcmdやらがそのまま実行できるのにps1だけ半端に縛るのもおかしな話だし
>間違って実行してしまわないような仕様
こんなのいつ決まったんだ
MSでポリシーが統一されてるようには全く思えないんだが
162デフォルトの名無しさん
2024/04/06(土) 07:02:00.61ID:jPXaIytz 世を取り巻くセキュリティ事情が日々刻々と変わっているのにかなり先発のvbsやcmdと同じじゃないからおかしいとな
少なくともある程度シェアを占める見込みがあるのだし前例踏襲に固執して0か100か思考に陥るほうがまずい
そういう脊髄反射的な他責や論点ずらしの癖は周囲を白眼視させるだけじゃよ
少なくともある程度シェアを占める見込みがあるのだし前例踏襲に固執して0か100か思考に陥るほうがまずい
そういう脊髄反射的な他責や論点ずらしの癖は周囲を白眼視させるだけじゃよ
163デフォルトの名無しさん
2024/04/06(土) 07:25:25.77ID:6zl9Uxmg164デフォルトの名無しさん
2024/04/06(土) 08:19:52.54ID:NGHFFTyQ >大体ps1の1って何なのとか
バージョン1の事
元々の計画ではPowerShell2向けのスクリプトファイルは.ps2にするつもりだった
バージョン1の事
元々の計画ではPowerShell2向けのスクリプトファイルは.ps2にするつもりだった
165デフォルトの名無しさん
2024/04/06(土) 15:04:28.66ID:M3AJuz+l 拡張子にバージョン含めるアホは初めて見たかも
Windowsの技術者の発想ではないね
Powershellはこの拡張子含めて起動周りだけ残念
Windowsの技術者の発想ではないね
Powershellはこの拡張子含めて起動周りだけ残念
166デフォルトの名無しさん
2024/04/06(土) 20:16:29.68ID:qfnATLfz まぁMSはOSも言語も開発環境も既に人気もなく寿命もつきようとしてるから
Windows最後の砦だったゲームもValveがProtonとSteam OS作ったからLinuxでほぼすべてのゲームが動いてパフォーマンスもWindowsより良い場合もある
ただしあくまでエミュレートだからカーネルモードで動くアンチチートだけは動かなくてフォトナやヴァロやApexなんかの人気FPSが動かなかったり永久BAN対象になる
まぁこれも時間の問題でWindowsが必要とされなくなるのは間近だな
Windows最後の砦だったゲームもValveがProtonとSteam OS作ったからLinuxでほぼすべてのゲームが動いてパフォーマンスもWindowsより良い場合もある
ただしあくまでエミュレートだからカーネルモードで動くアンチチートだけは動かなくてフォトナやヴァロやApexなんかの人気FPSが動かなかったり永久BAN対象になる
まぁこれも時間の問題でWindowsが必要とされなくなるのは間近だな
167デフォルトの名無しさん
2024/04/06(土) 20:56:33.00ID:9cPJ1AnL いるよねこういう極論振り回す人
脳内で完結してるから聞く耳を持たない
脳内で完結してるから聞く耳を持たない
168デフォルトの名無しさん
2024/04/07(日) 09:15:27.80ID:nb2SxK5J プログラマに限らずIT界隈はMS批判するのがカッコいいと勘違いしてる人多いからね
169デフォルトの名無しさん
2024/04/07(日) 10:22:00.29ID:K0Taf7XF >>165
まあ、マイクロソフトだから、拡張子を3文字にする慣習が伝統的にあるせいかな。
まあ、マイクロソフトだから、拡張子を3文字にする慣習が伝統的にあるせいかな。
170デフォルトの名無しさん
2024/04/07(日) 10:23:05.93ID:K0Taf7XF >>167
いまでもシェアのほとんどがWindowsなのにね
いまでもシェアのほとんどがWindowsなのにね
171デフォルトの名無しさん
2024/04/08(月) 21:40:31.39ID:bL5gAXu8 PowerShell の ps1 ファイルは 何故 1なのか
https://tech.guitarrapc.com/entry/2013/09/06/220944
https://tech.guitarrapc.com/entry/2013/09/06/220944
172デフォルトの名無しさん
2024/04/09(火) 00:15:02.63ID:32z8iBj9 powershell 7.xってどういう立ち位置なんだろ
windows標準では入ってないから、開発者向けなのかな
Rubookは7.2が標準だけど
windows標準では入ってないから、開発者向けなのかな
Rubookは7.2が標準だけど
173デフォルトの名無しさん
2024/04/09(火) 03:22:25.95ID:Gy4/KbO3 PowerShell Core(6.0以降) では
・.NET Coreインストール可能なWindows以外のOSでも実行可能
・デフォルト文字コードがUTF8(BOMなし)、改行がLF
・WorkFlowなど機能の一部は使用不可
あと
WindowsPowerShell → PowerShell Coreで破壊的変更あり(PowerShell Core 破壊的変更でBingってください)
C#のソースを流用する場合ジェネリックが使える7.3が便利かなと思います
自分は未だPowerShell Coreに移行出来ていません
・.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.39ID:ru6IFaGR >>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.
解釈はまかせるけど技術ブログでは以下の記載がある
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.57ID:yR8KPsJp 用がないなら関わる必要ないんじゃね
OSに標準で入ってる事しかメリット無いんだし
OSに標準で入ってる事しかメリット無いんだし
176デフォルトの名無しさん
2024/04/13(土) 22:49:21.10ID:7ey9vG0h 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" に属していません。このセットの引数を指定して、コマンドを再度実行してください。
仕方がないので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.83ID:7ey9vG0h shift-jifになってますがjisでもちゃんとエラーになります
178デフォルトの名無しさん
2024/04/13(土) 22:52:54.00ID:OrtqC7Lq コマンドレットの引数と.NETのそれを混同してるのでは
-Encoding Defaultでしょ
-Encoding Defaultでしょ
179デフォルトの名無しさん
2024/04/14(日) 08:27:07.05ID:JqEwLIX+ なんでなんですかと言われても自分で貼ったエラーメッセージに書いてある通りでしょ
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
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.87ID:PE3M1YJ/ よく知らんけど、UTF8もSHIFT-JISもMS932
ASCIIも、全部半角英数文字なら、
完全に互換性あるよな❓
BOM付UTF8はダメだろうが
ていうか、改行はLF CR LF+CR CR+LF
のどれが正しいの❓
ASCIIも、全部半角英数文字なら、
完全に互換性あるよな❓
BOM付UTF8はダメだろうが
ていうか、改行はLF CR LF+CR CR+LF
のどれが正しいの❓
181デフォルトの名無しさん
2024/04/15(月) 15:02:21.24ID:PE3M1YJ/ ていうか、拡張子mp3は音楽で音なのに、
でもてか、拡張子mp4は動画で映像だし、ま、音声も含まれてるけど
もしかして、拡張子mp5は匂いとかになるのかな❓ なんて訳ないよね
でもてか、拡張子mp4は動画で映像だし、ま、音声も含まれてるけど
もしかして、拡張子mp5は匂いとかになるのかな❓ なんて訳ないよね
182デフォルトの名無しさん
2024/04/15(月) 15:11:13.01ID:t9UnzSYj mp3: MPEG-1 Audio Layer-3
mp4: MPEG-4 Part 14
mp4: MPEG-4 Part 14
183デフォルトの名無しさん
2024/04/15(月) 22:02:24.55ID:uMyBIzHs >>180
0x5Cと0x7Eが違うだろ
0x5CはASCIIやUTF-8だと逆スラッシュだけどShift-JISでは円記号
0x7EはASCIIやUTF-8ではチルダでShift-JISだとオーバーライン
0x5Cと0x7Eが違うだろ
0x5CはASCIIやUTF-8だと逆スラッシュだけどShift-JISでは円記号
0x7EはASCIIやUTF-8ではチルダでShift-JISだとオーバーライン
184デフォルトの名無しさん
2024/04/29(月) 03:38:58.05ID:xgq67JZI 糞言語晒しハゲ
185デフォルトの名無しさん
2024/04/29(月) 21:21:17.91ID:+v7UeRZb 確かにPowerShellには糞な所はあるが
UNIXシェルはもっと糞だからなぁ
UNIXシェルはもっと糞だからなぁ
186デフォルトの名無しさん
2024/04/30(火) 00:48:39.65ID:DiJVRdjR bashはもっと高級言語っぽく書かせてくれ
187デフォルトの名無しさん
2024/04/30(火) 19:49:07.28ID:C0uaYXPq プログラムスレ自体が
スレ立ての荒らしにあってる?
スレ立ての荒らしにあってる?
188デフォルトの名無しさん
2024/05/12(日) 19:06:56.30ID:vKcD+EjR 入力された値(小数点以下の桁数は不明)をそのままの値でコンソールに表示させる方法ありますでしょうか?
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
189デフォルトの名無しさん
2024/05/12(日) 19:07:09.73ID:vKcD+EjR 入力された値(小数点以下の桁数は不明)をそのままの値でコンソールに表示させる方法ありますでしょうか?
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
例
入力値 $nyuryoku = 0.0000001
出力 0.0000001
現状
1E-07
190デフォルトの名無しさん
2024/05/12(日) 19:36:08.58ID:09MtL+BO 最初から文字列にしとけばOK
191デフォルトの名無しさん
2024/05/12(日) 20:58:46.50ID:XuEaHJPQ そうだね。逆にE表記の入力も受けるならそっちの対応も必要になる
$nyuryoku = "0.0000001"
[double]$nyuryoku_d = 0
if ([Double]::TryParse($nyuryoku, [ref]$nyuryoku_d)) { # 入力文字列をdouble値に変換できるか確認
$dotpos = $nyuryoku_s.IndexOf(".")
if ($dotpos -ge 0) { # ドット表記
$nyuryoku_d += 0.0000001
$nyuryoku_d.ToString("N" + $nyuryoku_s.substring($dotpos + 1).length) | Write-Host #double値を計算して同桁出力する場合
}
}
$nyuryoku = "0.0000001"
[double]$nyuryoku_d = 0
if ([Double]::TryParse($nyuryoku, [ref]$nyuryoku_d)) { # 入力文字列をdouble値に変換できるか確認
$dotpos = $nyuryoku_s.IndexOf(".")
if ($dotpos -ge 0) { # ドット表記
$nyuryoku_d += 0.0000001
$nyuryoku_d.ToString("N" + $nyuryoku_s.substring($dotpos + 1).length) | Write-Host #double値を計算して同桁出力する場合
}
}
192デフォルトの名無しさん
2024/05/12(日) 21:52:36.80ID:i2A3IV7D "{0:f7}" -f $nyuryoku
193デフォルトの名無しさん
2024/05/13(月) 11:39:01.69ID:/Hf+00qw .NetのBigDecimal型を使えば演算も有効数字も期待通りにコントロールできて望むものに合致するかもしれない
194デフォルトの名無しさん
2024/05/14(火) 06:07:17.63ID:91RzY7pD >>0190
確かにそうですね
>>0191
ありがとうございます。
>>0192
小数点以下桁数が計算できれば行けそうです
>>0193
ありがとうございます。試してみます
確かにそうですね
>>0191
ありがとうございます。
>>0192
小数点以下桁数が計算できれば行けそうです
>>0193
ありがとうございます。試してみます
195デフォルトの名無しさん
2024/05/15(水) 12:16:52.10ID:NKO3JxQw [System.Covert]::ToDecimal($nyuryoku)
196デフォルトの名無しさん
2024/05/15(水) 21:14:15.32ID:dKr+esCZ [decimal]$nyuryoku
197デフォルトの名無しさん
2024/05/15(水) 23:59:01.94ID:thm7xdMe > $x = "1.00"
> [decimal]$x
1
> [decimal]$y = "1.00"
> $y
1
簡潔でいいなと思ったけど v7.4.2 ではダメだったわ
v5 なら通る
なんでや
> [decimal]::Parse("1.00")
1.00
これならどっちもいける
> [decimal]$x
1
> [decimal]$y = "1.00"
> $y
1
簡潔でいいなと思ったけど v7.4.2 ではダメだったわ
v5 なら通る
なんでや
> [decimal]::Parse("1.00")
1.00
これならどっちもいける
198デフォルトの名無しさん
2024/05/19(日) 09:37:50.88ID:CqmosUS1 1.00.ToString("0.00")
199デフォルトの名無しさん
2024/05/28(火) 21:30:03.57ID:3YD/oRc3 https://www.itmedia.co.jp/news/articles/2405/28/news172.html
こういうのがあるからPowerShellはスクリプト実行禁止がデフォルトになっている
こういうのがあるからPowerShellはスクリプト実行禁止がデフォルトになっている
200デフォルトの名無しさん
2024/05/29(水) 13:49:53.60ID:uKjwQH9U いやいやいや…ちょっと調べればPowerShellを禁止設定のまま実行なんて簡単なんですけお^^
俺はバッチファイル経由で実行するようにしてる
同じフォルダ内のps1ファイルを全て羅列して、どれを実行しますか?みたいな感じのバッチファイル
同じフォルダ内のps1ファイルを全て羅列して、どれを実行しますか?みたいな感じのバッチファイル
202デフォルトの名無しさん
2024/05/29(水) 21:41:38.25ID:02Fq4mGE それ意味あんの
204デフォルトの名無しさん
2024/05/30(木) 00:25:29.21ID:U4JaIgka205デフォルトの名無しさん
2024/05/30(木) 09:38:23.19ID:BwsQkw0g >ウインドウ非表示実行
conhost.exe --headless powershell.exe -file foo.ps1
では駄目?
conhost.exe --headless powershell.exe -file foo.ps1
では駄目?
207デフォルトの名無しさん
2024/05/30(木) 12:56:45.30ID:T4GqjJ/d vbs廃止は神国だわw
208デフォルトの名無しさん
2024/05/30(木) 17:48:39.42ID:U4JaIgka209デフォルトの名無しさん
2024/05/30(木) 22:14:09.65ID:5L9b56Kn https://github.com/microsoft/terminal/issues/17178
conhost.exe --headlessは終了コードを得られない致命的なバグがあるらしいな
Hiddenで起動する適当なexe作った方が早そう
conhost.exe --headlessは終了コードを得られない致命的なバグがあるらしいな
Hiddenで起動する適当なexe作った方が早そう
210デフォルトの名無しさん
2024/06/01(土) 09:49:39.74ID:GcLNDseM >>154
なんじゃこりゃ、どんだけエアプが書いてんだ?
そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
権限の昇格の概念の無いOS用のsudoと意味論が異なる事を示す為にせめてsudo以外の名前を使えよ
以下win/pwsh環境での突っ込み
>runasはパスワードの入力が必要になる
saps に-cred $me渡せ
>別ウィンドウでターミナルが起動する
-nonew渡せ
>別ターミナル再度コマンドを実行する必要
それはsu相当の動作であってsaps pwshで代替できる
全部やりたいならsaps $prog -runas -cred $me -nonewだろ?
win上のpwsh環境ではsaps上で直交するオプションとして設計された4機能が全部斜交した邪悪の極みみたいなコマンドと化してるぞ
ついでに言うとrunas.exeも若干邪悪…
テストはしてないからなんか俺もエアプしてたら突っ込んでね?
なんじゃこりゃ、どんだけエアプが書いてんだ?
そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
権限の昇格の概念の無いOS用のsudoと意味論が異なる事を示す為にせめてsudo以外の名前を使えよ
以下win/pwsh環境での突っ込み
>runasはパスワードの入力が必要になる
saps に-cred $me渡せ
>別ウィンドウでターミナルが起動する
-nonew渡せ
>別ターミナル再度コマンドを実行する必要
それはsu相当の動作であってsaps pwshで代替できる
全部やりたいならsaps $prog -runas -cred $me -nonewだろ?
win上のpwsh環境ではsaps上で直交するオプションとして設計された4機能が全部斜交した邪悪の極みみたいなコマンドと化してるぞ
ついでに言うとrunas.exeも若干邪悪…
テストはしてないからなんか俺もエアプしてたら突っ込んでね?
211デフォルトの名無しさん
2024/06/01(土) 10:15:49.38ID:rqyUs55u $progと-args @argsをfunction sudoに包んで渡せばとりあえず望みの挙動を得られるはず
212デフォルトの名無しさん
2024/06/01(土) 22:09:53.18ID:olGfUeGO 俺の環境だと-NoNewWindowと-Credential両方指定すると新しいウインドウが開いちゃうんだが
213デフォルトの名無しさん
2024/06/04(火) 22:16:09.49ID:GNPHSdGp >>208
https://www.keyence.co.jp/ss/general/iot-glossary/headless.jsp
ヘッドレスとは、組み込み機器やサーバなど、本来対面で人が操作するためのものではない(または、その必要がない)システムで見られる運用形態のひとつです。コンピュータの場合、キーボード、マウス、タッチパネルなどの入出力機器を接続しない状態で運用すること、また、その状態で運用を行う機器などがあります。
https://www.keyence.co.jp/ss/general/iot-glossary/headless.jsp
ヘッドレスとは、組み込み機器やサーバなど、本来対面で人が操作するためのものではない(または、その必要がない)システムで見られる運用形態のひとつです。コンピュータの場合、キーボード、マウス、タッチパネルなどの入出力機器を接続しない状態で運用すること、また、その状態で運用を行う機器などがあります。
214デフォルトの名無しさん
2024/06/05(水) 00:12:03.26ID:nLwXXU6Y https://eow.alc.co.jp/search?q=headless
例文、怖えぇ〜
【headless】
1. 頭部のない、首を切られた
・ I saw a headless dog lying beside the road on my way to school. :
学校へ行く途中、道端に首のない犬が転がっているのを見た。
2. 指導者がいない
・ The terrorist group is a headless organization. :
そのテロリスト集団は指導者がいない組織である。
3. ・・
例文、怖えぇ〜
【headless】
1. 頭部のない、首を切られた
・ I saw a headless dog lying beside the road on my way to school. :
学校へ行く途中、道端に首のない犬が転がっているのを見た。
2. 指導者がいない
・ The terrorist group is a headless organization. :
そのテロリスト集団は指導者がいない組織である。
3. ・・
215デフォルトの名無しさん
2024/06/10(月) 08:02:22.79ID:KfgQc11A ヘッドレスってCPUをなくすべきでは
216デフォルトの名無しさん
2024/06/12(水) 21:40:45.55ID:68xFIGJf >>210
>そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
今のSudo for Windowsは同一じゃない
https://learn.microsoft.com/ja-jp/windows/sudo/#how-is-sudo-for-windows-different-from-the-existing-runas-command
>現時点で Windows 上の sudo コマンドは、他のユーザーとしてのプログラムの実行をサポートしていません。
>そもそもrunas.exeとsudoの意味論はユーザ切り替えで同一だろ
今のSudo for Windowsは同一じゃない
https://learn.microsoft.com/ja-jp/windows/sudo/#how-is-sudo-for-windows-different-from-the-existing-runas-command
>現時点で Windows 上の sudo コマンドは、他のユーザーとしてのプログラムの実行をサポートしていません。
217デフォルトの名無しさん
2024/06/13(木) 01:51:19.96ID:I2CUi2vW218デフォルトの名無しさん
2024/06/19(水) 22:42:22.27ID:pSP80P6j 古い業務システムでデータ入力する時に自動化しようと思ったんだが、
Enterがカーソル位置以降の文字消してフォーカス移動、NumpadEnter(テンキーのEnter)がEnter、
左CtrlがCtrl、右CtrlがEnterという機能になっている。
powershellのSendkeysだとどうやってNumpadEnterか右Ctrlを選択すればいいのでしょうか?
Enterがカーソル位置以降の文字消してフォーカス移動、NumpadEnter(テンキーのEnter)がEnter、
左CtrlがCtrl、右CtrlがEnterという機能になっている。
powershellのSendkeysだとどうやってNumpadEnterか右Ctrlを選択すればいいのでしょうか?
219デフォルトの名無しさん
2024/06/19(水) 22:46:04.00ID:rsgeG4yq VBのSendKeysと変わらないと思う
220デフォルトの名無しさん
2024/06/21(金) 17:49:04.98ID:LwqdtCE6 >>218
無料のRPAでやる方法もあるよ
無料のRPAでやる方法もあるよ
221デフォルトの名無しさん
2024/06/22(土) 01:38:41.92ID:uvHlEJ4P powershellってlinuxでも使えますっけ?
222デフォルトの名無しさん
2024/06/22(土) 05:23:03.55ID:dw6Bjmix 使えます
レスを投稿する
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★2 [ぐれ★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★7 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… [BFU★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 「高市人気」どこに? 自民候補が福島市長選で大敗、葛飾区議選でも苦戦 衆院早期解散論に冷や水 [1ゲットロボ★]
- 【ホタテ】中国が水産物輸入停止を伝達「ビクビクしながら…」北海道の水産業者からは落胆の声 [おっさん友の会★]
- 【号外】中国外務省、高市首相が台湾関連の発言を撤回しなければ「断固たる対抗措置」を取らざるを得ないと述べた [115996789]
- 日本人、ついに気づく「あれ、日本が対中国で取れる対抗措置ってなくない…?」 [931948549]
- 【画像】外務省局長のあの写真、日本側に無許可で撮影されたものだったwwwwwwwww [834922174]
- 中国「次に禁止してほしいものを教えて」 [358382861]
- 【速報】中国、水産物輸入停止★3 [989870298]
- どなたかpaypay5000円貸してくれませんか?25日に6000円にして返します
