前スレ
PowerShell -Part 4
https://mevius.5ch.net/test/read.cgi/tech/1577862511/
次スレは>>980が立ててね!!
探検
PowerShell -Part 5
■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 00:29:52.04ID:/MpReTiX
761デフォルトの名無しさん
2021/11/20(土) 14:19:09.90ID:brX6qPUI robocopyを使う
762デフォルトの名無しさん
2021/11/20(土) 14:29:08.15ID:foKEgqXu >>760
Get-ChildItemでファイル列挙して正規表現かなんかでコピー対象のファイルなのか一個ずつ判定して一個ずつCopy-Itemすりゃいいんじゃないの
Get-ChildItemでファイル列挙して正規表現かなんかでコピー対象のファイルなのか一個ずつ判定して一個ずつCopy-Itemすりゃいいんじゃないの
763デフォルトの名無しさん
2021/11/20(土) 14:39:59.37ID:ebQnhsZ6 除外より特定のに引っ掛ける方が楽じゃないか?
764デフォルトの名無しさん
2021/11/20(土) 16:27:45.77ID:7hjyIAPL765sage
2021/11/20(土) 17:01:16.86ID:KK9A6rpv >>760
以下みたいな感じでGet-ChildItemの出力にWhere-Objectに-notlikeでフィルタしてCopy-itemすればいい
-Recurse付けたがサブディレクトリ含めなければ外せばいい
Get-ChildItemとWhere-Objectを組み合わせてググれば他の活用も見つかるはず
Get-ChildItem -Recurse|
Where-Object {$_.Name -notlike "*foo*" -and $_.Name -notlike "*bar*"} |
ForEach-Object {Copy-Item $_.Fullname -Destination "出力先フォルダ" -Recurse}
以下みたいな感じでGet-ChildItemの出力にWhere-Objectに-notlikeでフィルタしてCopy-itemすればいい
-Recurse付けたがサブディレクトリ含めなければ外せばいい
Get-ChildItemとWhere-Objectを組み合わせてググれば他の活用も見つかるはず
Get-ChildItem -Recurse|
Where-Object {$_.Name -notlike "*foo*" -and $_.Name -notlike "*bar*"} |
ForEach-Object {Copy-Item $_.Fullname -Destination "出力先フォルダ" -Recurse}
766sage
2021/11/20(土) 17:24:30.70ID:KK9A6rpv767デフォルトの名無しさん
2021/11/20(土) 17:29:07.00ID:mhCLQeY0 皆様ありがとうございます。
頂いたアドバイスを受けて、正規表現を使ったりして試しているところです。
解決したら改めて報告します。
ちなみに要件としては、
「起点のフォルダを再起的に全てコピー(同じ階層構造)」となります。
頂いたアドバイスを受けて、正規表現を使ったりして試しているところです。
解決したら改めて報告します。
ちなみに要件としては、
「起点のフォルダを再起的に全てコピー(同じ階層構造)」となります。
768デフォルトの名無しさん
2021/11/20(土) 17:35:03.97ID:mhCLQeY0 すみません、「起点のフォルダ以下を再起的に」ですね。
769デフォルトの名無しさん
2021/11/20(土) 18:08:26.07ID:tZNHbLNh >「起点のフォルダを再起的に全てコピー(同じ階層構造)」
パイプを繋げていくとこの点が不安になってくる。
コピー元のフルパスを正規表現で整形すれば良いだけだけど、何だかなって気分になる。
powershellが管理用途を目指したなら何でrobocopy相当の機能を提供しなかったんだろうか。
パイプを繋げていくとこの点が不安になってくる。
コピー元のフルパスを正規表現で整形すれば良いだけだけど、何だかなって気分になる。
powershellが管理用途を目指したなら何でrobocopy相当の機能を提供しなかったんだろうか。
770sage
2021/11/20(土) 18:22:44.14ID:KK9A6rpv 起点のパスからパイプつなげて階層コピーとかやろうとすると大変なのね
Get-ChildItemだと起点パスからの相対パスが出てこないからこんな汚いコードしか作れなかったわ
Push-Location "コピー元パス"
Get-ChildItem -Recurse|
Where-Object {$_.Name -notlike "*foo*"} |
Where-Object {$_.Name -notlike "*bar*"} |
ForEach-Object {Copy-Item $_.FullName -Destination ("コピー先パス"+(Resolve-Path $_.FullName -Relative))}
Get-ChildItemだと起点パスからの相対パスが出てこないからこんな汚いコードしか作れなかったわ
Push-Location "コピー元パス"
Get-ChildItem -Recurse|
Where-Object {$_.Name -notlike "*foo*"} |
Where-Object {$_.Name -notlike "*bar*"} |
ForEach-Object {Copy-Item $_.FullName -Destination ("コピー先パス"+(Resolve-Path $_.FullName -Relative))}
771デフォルトの名無しさん
2021/11/20(土) 19:23:56.73ID:ytLaGTl4 robocopyで十分ならrobocopy使うべき
772デフォルトの名無しさん
2021/11/20(土) 19:24:28.43ID:ytLaGTl4 マルチスレッドで速いし
773デフォルトの名無しさん
2021/11/20(土) 19:29:39.45ID:7hjyIAPL https://stackoverflow.com/questions/32101358/copy-all-files-and-folders-except-few-in-ruby
Ruby では、Dir.glob("**/*") で再帰的に、起点フォルダ以下のすべてのファイルを配列に入れて、
そこから、コピーしないファイルを削除する
そして、再帰的にコピーする
FileUtils.cp_r( 配列, destination_folder )
Ruby では、Dir.glob("**/*") で再帰的に、起点フォルダ以下のすべてのファイルを配列に入れて、
そこから、コピーしないファイルを削除する
そして、再帰的にコピーする
FileUtils.cp_r( 配列, destination_folder )
774デフォルトの名無しさん
2021/11/20(土) 21:10:31.67ID:ytLaGTl4 powershellでやるなら、一旦、まるっとコピーして、コピー先から不要なファイル消すのが簡単
775デフォルトの名無しさん
2021/11/20(土) 22:41:40.55ID:foKEgqXu 面白そうだから作ってみた
.NETクラス使ったら負けというポリシーの人には受け入れられないかもしれんが
$SrcPath #コピー元
$DstPath #コピー先
[System.IO.Directory]::EnumerateFiles($SrcPath, "*", [System.IO.SearchOption]::AllDirectories) |
Where-Object { $_ -notlike "*foo*" } |
Where-Object { $_ -notlike "*bar*"} |
Select-Object @{Name = "FPath"; Expression = {$_} }, @{Name = "RPath"; Expression = {$_.SubString($SrcPath.Length)}} |
ForEach-Object { `
[System.IO.Directory]::CreateDirectory(([System.IO.Path]::GetDirectoryName($DstPath + $_.RPath))) | Out-Null; `
Copy-Item $_.FPath -Destination ($DstPath + $_.RPath) `
}
.NETクラス使ったら負けというポリシーの人には受け入れられないかもしれんが
$SrcPath #コピー元
$DstPath #コピー先
[System.IO.Directory]::EnumerateFiles($SrcPath, "*", [System.IO.SearchOption]::AllDirectories) |
Where-Object { $_ -notlike "*foo*" } |
Where-Object { $_ -notlike "*bar*"} |
Select-Object @{Name = "FPath"; Expression = {$_} }, @{Name = "RPath"; Expression = {$_.SubString($SrcPath.Length)}} |
ForEach-Object { `
[System.IO.Directory]::CreateDirectory(([System.IO.Path]::GetDirectoryName($DstPath + $_.RPath))) | Out-Null; `
Copy-Item $_.FPath -Destination ($DstPath + $_.RPath) `
}
776デフォルトの名無しさん
2021/11/21(日) 09:11:58.65ID:mz7l6eLz777デフォルトの名無しさん
2021/11/21(日) 10:22:51.55ID:GghqNAbU .NETクラス使える俺スゲー君なんだろ
まあ $DstPath + $_.RPath なんて書いてるから中途半端な知識しかなさそうだけど
まあ $DstPath + $_.RPath なんて書いてるから中途半端な知識しかなさそうだけど
778デフォルトの名無しさん
2021/11/21(日) 13:09:01.33ID:03fh42bF >>777
Path.Combine使ってほしかったってこと?
Path.Combine使ってほしかったってこと?
779デフォルトの名無しさん
2021/11/21(日) 13:14:19.30ID:03fh42bF >>776
コピー先のフォルダーがあらかじめ作成されなくてもエラーにならないこと
コピー先のフォルダーがあらかじめ作成されなくてもエラーにならないこと
780デフォルトの名無しさん
2021/11/21(日) 14:06:02.04ID:/SaMuAE1 フォルダ名のファイルがあったらエラーになると思うけど
781デフォルトの名無しさん
2021/11/21(日) 14:12:17.11ID:03fh42bF >>780
それはエラーで正しい
それはエラーで正しい
782デフォルトの名無しさん
2021/11/21(日) 15:37:22.85ID:rt6j8p0A どうでもいいけど -notmatch 'foo|bar' でよくね
783デフォルトの名無しさん
2021/11/21(日) 23:12:49.29ID:ny8+2EkL 先日の質問者です。
下記コードで、想定通りの動作を確認しました。
事前に展開するディレクトリを作成する必要はありますが、
正規表現で抽出して、「Join-Path $DstPath $_.FullName.Substring($SrcPath.Length)」で
展開先ディレクトリに取得した要素を展開する感じです。
色々とアドバイス頂きありがとうございました。
---------------------------------------------------------------------------------
#出力先ディレクトリ
$SrcPath = 任意のディレクトリ
#出力先ディレクトリ(スクリプトの置き場 + 展開するディレクトリ)
$DstPath = Join-Path (Split-Path $MyInvocation.MyCommand.path) ("\test")
#抽出&コピー
Get-ChildItem -Recurse $SrcPath | ?{ $_.FullName -match "^(?!.*file)"} | `
Copy-Item -Destination {Join-Path $DstPath $_.FullName.Substring($SrcPath.Length)}
下記コードで、想定通りの動作を確認しました。
事前に展開するディレクトリを作成する必要はありますが、
正規表現で抽出して、「Join-Path $DstPath $_.FullName.Substring($SrcPath.Length)」で
展開先ディレクトリに取得した要素を展開する感じです。
色々とアドバイス頂きありがとうございました。
---------------------------------------------------------------------------------
#出力先ディレクトリ
$SrcPath = 任意のディレクトリ
#出力先ディレクトリ(スクリプトの置き場 + 展開するディレクトリ)
$DstPath = Join-Path (Split-Path $MyInvocation.MyCommand.path) ("\test")
#抽出&コピー
Get-ChildItem -Recurse $SrcPath | ?{ $_.FullName -match "^(?!.*file)"} | `
Copy-Item -Destination {Join-Path $DstPath $_.FullName.Substring($SrcPath.Length)}
784デフォルトの名無しさん
2021/11/21(日) 23:14:57.70ID:ny8+2EkL 誤字が酷い・・・
以下の通り訂正します。
#コピー元ディレクトリ
$SrcPath = 任意のディレクトリ
以下の通り訂正します。
#コピー元ディレクトリ
$SrcPath = 任意のディレクトリ
785デフォルトの名無しさん
2021/11/22(月) 01:24:51.37ID:DJE+GLbt 除外するのがファイルなら、全部コピーしてから消す方が、考える時間ノータイムでできるから、自分ならそうしちゃうな
ディレクトリ除外するなら素直にrobocopy使っちゃう
ディレクトリ除外するなら素直にrobocopy使っちゃう
786デフォルトの名無しさん
2021/11/22(月) 02:13:30.35ID:l3U7Q7kM 除外する理由も不明で全部コピーとか機械オンチかな
ストレージは有限リソースだぞ
ストレージは有限リソースだぞ
787デフォルトの名無しさん
2021/11/22(月) 02:45:11.19ID:49bPrPzL Join-Pathのところ
$_.Fullname.replace($SrcPath,$DstPath)
でもよさそう
$_.Fullname.replace($SrcPath,$DstPath)
でもよさそう
788デフォルトの名無しさん
2021/11/22(月) 04:31:54.22ID:y2hovgGl 除外したいファイルが巨大ファイルかもしれないのに一旦コピーしてから削除とかアホやろ
789デフォルトの名無しさん
2021/11/22(月) 10:05:58.61ID:xI4p9npJ 巨大ファイルかもしれないし小さいファイルかもしれない
質問者がまだ開示してない範囲なのでアイデアは言うだけタダだし叩くいわれもないだろう
質問者がまだ開示してない範囲なのでアイデアは言うだけタダだし叩くいわれもないだろう
790デフォルトの名無しさん
2021/11/22(月) 10:12:16.38ID:xI4p9npJ せっかく何でも呼べるシェルなのにrobocopyを呼ばない理由があるのかは知らん
純PSを使いたいという拘りは遊びや向学の範囲ならありだと思うけど
純PSを使いたいという拘りは遊びや向学の範囲ならありだと思うけど
791デフォルトの名無しさん
2021/11/22(月) 10:58:52.55ID:ssU9K32s 流石にコピーしてから削除は素人くさくて人には見せられないコードだな
792デフォルトの名無しさん
2021/11/22(月) 11:21:13.08ID:JeDQJ1PF 対象のファイル存在判定判定を行いたいんだけど
get-childitemで「〜が存在しない為検出できません」と表示されてFalseが返ってくる時と、対象ファイルはないけど何も表示されずにTrueが返ってくる時の違いって何でしょうか?
正規表現で複数のファイルを探してる時と限定して一つを探してる時の差って認識で合ってますでしょうか
認識が合ってるのであれば、Falseが返ってくる際のファイル存在判定ってどうやって行ったらいいですかね
get-childitemで「〜が存在しない為検出できません」と表示されてFalseが返ってくる時と、対象ファイルはないけど何も表示されずにTrueが返ってくる時の違いって何でしょうか?
正規表現で複数のファイルを探してる時と限定して一つを探してる時の差って認識で合ってますでしょうか
認識が合ってるのであれば、Falseが返ってくる際のファイル存在判定ってどうやって行ったらいいですかね
793デフォルトの名無しさん
2021/11/22(月) 11:32:08.25ID:y2hovgGl >>792
Test-Path
Test-Path
794デフォルトの名無しさん
2021/11/22(月) 11:57:50.46ID:vpaN3qMO robocopyという既存で使えるコマンドがあることはわかりました。
しかし、それを承知の上で、純PowerShellのコマンドで実現できる方法を探していました。
ストレージにも容量があるため、抽出とコピーを同時に済ませたかった次第です。
しかし、それを承知の上で、純PowerShellのコマンドで実現できる方法を探していました。
ストレージにも容量があるため、抽出とコピーを同時に済ませたかった次第です。
795デフォルトの名無しさん
2021/11/22(月) 12:33:14.41ID:DJE+GLbt あ、やっぱスクリプト書くのが目的なんですね
それならそれでよいと思います
ぱぱっと仕事を済ませるために使えるものを使うのであれば
そういう考え方もあるってことで
もちろん、コピー不要なファイルのサイズが大きすぎたりしたときは使えませんが
ただ、エラー時のリトライとかマルチスレッドをpowershellで実装するのは面倒なのでrobocopyかrsync使うことをお勧めします
自分しかアクセスしない領域を扱うなら、ここに書かれていた例でも十分かと思います
それならそれでよいと思います
ぱぱっと仕事を済ませるために使えるものを使うのであれば
そういう考え方もあるってことで
もちろん、コピー不要なファイルのサイズが大きすぎたりしたときは使えませんが
ただ、エラー時のリトライとかマルチスレッドをpowershellで実装するのは面倒なのでrobocopyかrsync使うことをお勧めします
自分しかアクセスしない領域を扱うなら、ここに書かれていた例でも十分かと思います
796デフォルトの名無しさん
2021/11/22(月) 12:46:04.31ID:JeDQJ1PF >>793
test-pathって複数ファイル判定できるのか?
test-pathって複数ファイル判定できるのか?
797デフォルトの名無しさん
2021/11/22(月) 13:07:04.73ID:DJE+GLbt test-pathはstring[]を引数に取れて、それぞれの判定結果を返しますね
798デフォルトの名無しさん
2021/11/22(月) 13:52:50.70ID:jUHFyU9k >>791
SSDを殺すツールでも作るのかね?
SSDを殺すツールでも作るのかね?
799デフォルトの名無しさん
2021/11/22(月) 20:21:46.68ID:nGTeQ/fQ 仕事で使うならrobocopyだな
800デフォルトの名無しさん
2021/11/22(月) 22:15:42.91ID:EOO8UMxm 今回の目的だとRobocopyで良いんだが
Powershellなら複数の条件のandでフィルターしたり正規表現でのフィルターやらリネームしながらのコピーとか活用シーンはあるわ
Powershellなら複数の条件のandでフィルターしたり正規表現でのフィルターやらリネームしながらのコピーとか活用シーンはあるわ
801デフォルトの名無しさん
2021/11/23(火) 00:34:07.96ID:co/a4Nbp >>787
大文字小文字の差異が発生したときにちゃんと動かないと思う
大文字小文字の差異が発生したときにちゃんと動かないと思う
802デフォルトの名無しさん
2021/11/23(火) 17:04:45.84ID:d0x80b5K じゃあ -reprace 演算子で
803デフォルトの名無しさん
2021/11/23(火) 20:11:06.49ID:LL+Lkvmb せめて-creplaceと書いとけ
804デフォルトの名無しさん
2021/11/23(火) 21:13:38.28ID:td4eh3RA Copy-Itemって時刻や属性とかACLやらもコピーされるんかな
同じにしといてや
同じにしといてや
805デフォルトの名無しさん
2021/11/23(火) 21:15:13.83ID:d0x80b5K >>803
大文字と小文字の差を無視したいんじゃないの?
大文字と小文字の差を無視したいんじゃないの?
806デフォルトの名無しさん
2021/11/25(木) 06:55:00.80ID:wkKQrHcX 質問です / たとえば…
膨大にファイルがあるディレクトリ以下から 古いファイルを探そうと思って
ls -r |? lastwritetime -lt "2015/10/10"
などとしたら…思いがけなく 沢山のファイルが該当したとき、
「この結果…変数に入れとけばよかったなぁ…そうすれば後で絞り込んだりできるし」
と思うことが あるのですが
でも、あらかじめ
$list = ls -r |? lastwritetime -lt "2015/10/10"
などとすると、検索中は 表示が見えない.
…というわけで、変数に入れつつ 表示させる手段を 今、探していますが なんだか分からず.
今のところは、「ファイルにリダイレクトしながら tee」ってのが、近いけど
使うかどうかわからない結果について、いちいちファイル作りたく無い気持ち(笑)はあったり
膨大にファイルがあるディレクトリ以下から 古いファイルを探そうと思って
ls -r |? lastwritetime -lt "2015/10/10"
などとしたら…思いがけなく 沢山のファイルが該当したとき、
「この結果…変数に入れとけばよかったなぁ…そうすれば後で絞り込んだりできるし」
と思うことが あるのですが
でも、あらかじめ
$list = ls -r |? lastwritetime -lt "2015/10/10"
などとすると、検索中は 表示が見えない.
…というわけで、変数に入れつつ 表示させる手段を 今、探していますが なんだか分からず.
今のところは、「ファイルにリダイレクトしながら tee」ってのが、近いけど
使うかどうかわからない結果について、いちいちファイル作りたく無い気持ち(笑)はあったり
807デフォルトの名無しさん
2021/11/25(木) 07:19:34.90ID:wkKQrHcX (これも 検索でも分からなかったのですが)
昔unixを使ってた慣れから pushd と popd を使うことがあるのですが
スタックの中身って見れないのでしょうか (dirsみたいな)
昔unixを使ってた慣れから pushd と popd を使うことがあるのですが
スタックの中身って見れないのでしょうか (dirsみたいな)
808デフォルトの名無しさん
2021/11/25(木) 07:47:43.37ID:tyDWZMxk >>806
Where-Object -OutVariableとかでできなかったっけ
Where-Object -OutVariableとかでできなかったっけ
809デフォルトの名無しさん
2021/11/25(木) 09:20:52.19ID:e/X72gP4 >>808 ありがとうございました
ls -r |? lastwritetime -lt "2015/10/10" -OutVariable list
知らなかった…調べてみると すべてのコマンドレットに備わってるんですね
ls -r |? lastwritetime -lt "2015/10/10" -OutVariable list
知らなかった…調べてみると すべてのコマンドレットに備わってるんですね
810デフォルトの名無しさん
2021/11/25(木) 09:38:35.33ID:e/X72gP4811デフォルトの名無しさん
2021/11/26(金) 10:20:48.79ID:ncT7Zn6W >>807
gl -stack
gl -stack
812デフォルトの名無しさん
2021/11/26(金) 11:04:55.34ID:ncT7Zn6W 遅レスだけど>>583にも関連ありそうなのでアンカー付けとく、slじゃなくてpush/pop-locationだけど
CDPATH的なモノはsl -で参照できることから存在してるとおもうけど、もっと柔軟に数の引数取りたい、とかなら簡単なシェル関数書けば良いかと
function cd($bwd=1){iex "cd -;" * $bwd}
さらに
{iex "sl ..;" * $up},
{iex "sl +;" * $fwd}…等
(cdのremove-alias、引数を読んでディスパッチ等はよしなに)
まあ気が散るからlocationスタックに慣れた方がいいとは思う
CDPATH的なモノはsl -で参照できることから存在してるとおもうけど、もっと柔軟に数の引数取りたい、とかなら簡単なシェル関数書けば良いかと
function cd($bwd=1){iex "cd -;" * $bwd}
さらに
{iex "sl ..;" * $up},
{iex "sl +;" * $fwd}…等
(cdのremove-alias、引数を読んでディスパッチ等はよしなに)
まあ気が散るからlocationスタックに慣れた方がいいとは思う
813デフォルトの名無しさん
2021/11/29(月) 19:58:38.42ID:FW3KUWhD $hoge = Invoke-Command -ComputerName 192.168.0.1 -Credential $cred -ScriptBlock {C:\script\cpu.bat}
こんな感じでリモートPCのCPUの情報を取得したんだけど、
リモート側では返り値の型が Hashtable で連想配列なんだけど、実行する側のPCだと Object[] になって配列になるんだけど
これって仕様なの?
連想配列のまま$hogeで受け取る方法とかない?
こんな感じでリモートPCのCPUの情報を取得したんだけど、
リモート側では返り値の型が Hashtable で連想配列なんだけど、実行する側のPCだと Object[] になって配列になるんだけど
これって仕様なの?
連想配列のまま$hogeで受け取る方法とかない?
814デフォルトの名無しさん
2021/11/29(月) 20:04:41.43ID:xU0y2yzX 無い
815デフォルトの名無しさん
2021/11/29(月) 20:07:54.41ID:FW3KUWhD 無いのかw
PowerShell初めて触ってるんだけど、こいつ癖が強いなぁw
PowerShell初めて触ってるんだけど、こいつ癖が強いなぁw
816デフォルトの名無しさん
2021/12/04(土) 15:49:34.45ID:3yJp3Bv8 パイプのあくの強さに辟易してからが本番
817デフォルトの名無しさん
2021/12/04(土) 15:57:56.73ID:lpLqhZbS パイプの魅力に取り憑かれたらもう後には戻れない
818デフォルトの名無しさん
2021/12/04(土) 20:29:02.53ID:dom41WHA819デフォルトの名無しさん
2021/12/04(土) 20:33:23.88ID:12OWCJtV パイプラインが気に入らなかったら使わなきゃ良いんだけど
配列は気に入らなくても使わざるを得ないんだよな
配列は気に入らなくても使わざるを得ないんだよな
820デフォルトの名無しさん
2021/12/04(土) 20:59:45.48ID:NLsksufL 初代プレステみたいな拡張子以外ないの?
もうちょっとかっちょいい拡張子使いたい
もうちょっとかっちょいい拡張子使いたい
821デフォルトの名無しさん
2021/12/04(土) 21:10:22.01ID:jlXR6Mjx pwshも起動遅いよな
NGenも上手く行かんし。起動の遅さには目をつぶって使ってる感じ?
NGenも上手く行かんし。起動の遅さには目をつぶって使ってる感じ?
822デフォルトの名無しさん
2021/12/04(土) 22:01:12.10ID:3yJp3Bv8 毎回pwsh起動時に最新バージョンのpwshかWebサイトに確認しにいってる予感
823デフォルトの名無しさん
2021/12/05(日) 16:39:28.02ID:iTfrMGLj 24時間ごとに最初のセッションでバージョンチェックが走るので、テレメトリーを無効にすればちょっとだけ起動が速くなるかも
https://github.com/PowerShell/PowerShell/issues/16234
POWERSHELL_UPDATECHECKは通知の制御だけで、バージョンチェック(を含む通信)はテレメトリー自体を止めないとダメみたい
https://github.com/PowerShell/PowerShell/issues/16234
POWERSHELL_UPDATECHECKは通知の制御だけで、バージョンチェック(を含む通信)はテレメトリー自体を止めないとダメみたい
824デフォルトの名無しさん
2021/12/05(日) 21:30:10.95ID:4E92Wydv PowerShellを使っている人はWindows Terminalも使っていること多いでしょ
どっちも素のコマンドプロンプトに比べて起動に時間がかかる
どっちも素のコマンドプロンプトに比べて起動に時間がかかる
825デフォルトの名無しさん
2021/12/05(日) 22:44:22.34ID:MGzOS3+Z WSL2 で、Linux も使っている人は、Windows Terminal が便利。
ctrl + c でコピーできる
Linux の端末では、右クリックメニューからコピーしないといけない
ctrl + c でコピーできる
Linux の端末では、右クリックメニューからコピーしないといけない
826デフォルトの名無しさん
2021/12/05(日) 23:06:07.82ID:2W/PRbgG 無変換キーで@が入力されるの治ってほしい…
827デフォルトの名無しさん
2021/12/05(日) 23:08:46.06ID:EbpaPfY1 >>826
なにそれ
なにそれ
828デフォルトの名無しさん
2021/12/05(日) 23:17:25.58ID:2W/PRbgG Windows Terminal上でPowershellを使ってるとき、IME OFFに割り当てた無変換キーを空打ちすると@が入力されちゃう
829デフォルトの名無しさん
2021/12/05(日) 23:46:17.42ID:EbpaPfY1 >>828
再現せんなあ
再現せんなあ
830デフォルトの名無しさん
2021/12/06(月) 00:19:03.74ID:l+QuXC+3 これか
https://twitter.com/nejigami/status/1381587748260249601
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/nejigami/status/1381587748260249601
https://twitter.com/5chan_nel (5ch newer account)
831デフォルトの名無しさん
2021/12/06(月) 16:19:41.17ID:eOuwgSss psreadlineでバインドし直せばいいんでないの?
832デフォルトの名無しさん
2021/12/06(月) 16:45:47.86ID:RFIhcWIP >>828
Ahkで無変換をime off機能に割り当てて対策してる。
Ahkで無変換をime off機能に割り当てて対策してる。
833デフォルトの名無しさん
2021/12/06(月) 16:54:29.37ID:eOuwgSss psreadlineに渡る前にwtに吸われてるのなら無力だったな
めんご
めんご
834デフォルトの名無しさん
2021/12/08(水) 18:02:05.74ID:fwBoA4il >>832
AutoHotkeyで解決した、ありがとう
AutoHotkeyで解決した、ありがとう
835デフォルトの名無しさん
2021/12/11(土) 17:33:02.92ID:lpfa5wkz 今回リモートPCの使用状況をlog化して通知するシステムに利用したんだけど、
みんなは何にPowerShell使ってんの?やっぱり反復処理とか?イマイチ使いみちが思いつかないw
みんなは何にPowerShell使ってんの?やっぱり反復処理とか?イマイチ使いみちが思いつかないw
836デフォルトの名無しさん
2021/12/11(土) 18:31:42.90ID:l4zQKEWJ 分かってる人には当たり前のことなのかもしれないけど、 Set-PSReadLineOption -EditMode Emacs で
Emacs風味キーバインドにしたらCtrl+DでPowerShellが終了するね
Emacs風味キーバインドにしたらCtrl+DでPowerShellが終了するね
837デフォルトの名無しさん
2021/12/11(土) 19:33:39.75ID:Jze+N/0t Ctrl+Dでの終了はzshでも有効にしてるので、違和感なく使ってました
838デフォルトの名無しさん
2021/12/11(土) 19:42:02.74ID:Jze+N/0t 日常的に使ってるのは、VPN接続とリモート接続のログイン自動化スクリプトですね
839デフォルトの名無しさん
2021/12/11(土) 21:55:48.50ID:vdCi5/VF >>834
そんな大層なことしなくても
gci -pa HKLM:/system -rec -inc keyboard* -ea ignore
とかでキーマップが引っかかったと思うから、$profileにブチこんどけばいいんじゃないの、シェル閉じた時のリストア処理も書けるし
そんな大層なことしなくても
gci -pa HKLM:/system -rec -inc keyboard* -ea ignore
とかでキーマップが引っかかったと思うから、$profileにブチこんどけばいいんじゃないの、シェル閉じた時のリストア処理も書けるし
840デフォルトの名無しさん
2021/12/11(土) 21:58:38.54ID:vdCi5/VF ターミナル(wt.exe)の問題なら.jsonにキーマップ書けたはずで、それが一番礼儀正しいが
841デフォルトの名無しさん
2021/12/11(土) 22:11:14.55ID:T5tvegM+ レジストリはすぐどこ触ったか分からんくなるから$profileか、pwshの外ならuser\**\startupにコマンド書いて設定した方がいい
少なくとも何を触ったかは記録に残る
できれば初期値についてのコメントも
シェル/環境変数みたいにシャドウイングできるといいんだけど
少なくとも何を触ったかは記録に残る
できれば初期値についてのコメントも
シェル/環境変数みたいにシャドウイングできるといいんだけど
842デフォルトの名無しさん
2021/12/12(日) 00:04:01.85ID:kmuza9nw wsl --help の出力結果をパイプやファイルにリダイレクトすると、PowerShellとWSLが不?戴天の仇らしいことがよくわかる
843デフォルトの名無しさん
2021/12/12(日) 21:13:44.01ID:tlt3McAx Windows PowerShell Inventor Jeffrey Snover Interview
https://evrone.com/jeffrey-snover-interview
https://evrone.com/jeffrey-snover-interview
844デフォルトの名無しさん
2021/12/13(月) 13:52:11.42ID:MDj1w4qb >>842
とりあえず|out-file -enc 色々噛ませてみては
とりあえず|out-file -enc 色々噛ませてみては
845デフォルトの名無しさん
2021/12/14(火) 06:17:10.79ID:5jyEPH53 なんで不?戴天になってしまったのかと思ったら環境依存文字使ってたからか
不倶戴天 (環境依存文字なし)
不俱戴天 (環境依存文字あり)
不倶戴天 (環境依存文字なし)
不俱戴天 (環境依存文字あり)
846デフォルトの名無しさん
2021/12/14(火) 15:19:22.77ID:6iAGSMwm お前らlinuxマシンにpwsh入れてる?
847デフォルトの名無しさん
2021/12/14(火) 15:49:09.33ID:mpAOsF0a 入れるわけないだろ
こんなもんWindows以外では絶対使わん
こんなもんWindows以外では絶対使わん
848デフォルトの名無しさん
2021/12/14(火) 15:54:44.60ID:vLIDlmgW たぶん、PowerShell が、UTF-8 だからじゃないの?
コマンドプロンプトで、
wsl --help > a.txt
とすると、UTF-16LE になり、VSCode・サクラエディタでも見れる
でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
そのコマンドプロンプトでやったら、文字化けして見れない
WT は、UTF-8 だから文字化けするのかも
だから、アプリによる
コマンドプロンプトで、
wsl --help > a.txt
とすると、UTF-16LE になり、VSCode・サクラエディタでも見れる
でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
そのコマンドプロンプトでやったら、文字化けして見れない
WT は、UTF-8 だから文字化けするのかも
だから、アプリによる
849デフォルトの名無しさん
2021/12/14(火) 16:00:11.41ID:5jyEPH53850デフォルトの名無しさん
2021/12/14(火) 19:12:38.50ID:HCC7MYbd パワーー
851デフォルトの名無しさん
2021/12/14(火) 20:06:47.20ID:lHfIhTrg はい
852デフォルトの名無しさん
2021/12/15(水) 12:02:30.22ID:PaPmsmcA まあでもWindows上で使ってるぶんには安定してるな。
当たり前だけどw
当たり前だけどw
853デフォルトの名無しさん
2021/12/15(水) 20:55:34.12ID:zohMO0ui854デフォルトの名無しさん
2021/12/16(木) 03:32:22.22ID:V72yjyE9 PowerShell上で非ANSIコードページ文字列をパイプやリダイレクトするには以下のようにcmd /C を使うしかない
cmd /C 'wsl --help > aaa.txt'
「ねぇどんな気持ち?」のクマAAをPowerShell愛好家に贈りたい
cmd /C 'wsl --help > aaa.txt'
「ねぇどんな気持ち?」のクマAAをPowerShell愛好家に贈りたい
855848
2021/12/16(木) 12:30:02.79ID:pA5H+adw コマンドプロンプトを使わずに、PowerShell で、
wsl --help を文字化けせずに、ファイルへ保存する方法はないのか?
>>848
修正
>でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
>そのコマンドプロンプトでやったら、文字化けして見れない。
>WT は、UTF-8 だから文字化けするのかも
Windows Terminal(WT)のコマンドプロンプトで、
もう一度やってみたら、正常に表示された!
ちなみにコマンドプロンプトも、WTのコマンドプロンプトも、両方とも、CP932 でした
chcp
#=> 932
wsl --help を文字化けせずに、ファイルへ保存する方法はないのか?
>>848
修正
>でも、Windows Terminal(WT)では、PowerShell・コマンドプロンプト・WSL のLinux の3つが使えるけど、
>そのコマンドプロンプトでやったら、文字化けして見れない。
>WT は、UTF-8 だから文字化けするのかも
Windows Terminal(WT)のコマンドプロンプトで、
もう一度やってみたら、正常に表示された!
ちなみにコマンドプロンプトも、WTのコマンドプロンプトも、両方とも、CP932 でした
chcp
#=> 932
856デフォルトの名無しさん
2021/12/16(木) 14:46:23.47ID:fd1vO2kC Correct output in CMD, but incorrect output to a file in PowerShell #16012
https://github.com/PowerShell/PowerShell/issues/16012
https://github.com/PowerShell/PowerShell/issues/16012
857デフォルトの名無しさん
2021/12/16(木) 15:06:10.72ID:V72yjyE9 PowerShellの定番質問に知ったかぶりしてOutputEncodingを変えろと回答する人って自分で試さないんだろうか?
それとも質問を理解できるだけの国語力がないのか?
それとも質問を理解できるだけの国語力がないのか?
858デフォルトの名無しさん
2021/12/16(木) 15:11:12.80ID:ywwvfrpp 負けた気がするけどロケールはもう諦めてen_us、圧力掛けるのはおまいらに任せた
あえて真っ白linuxでは使わんけどwslは快適になるな
$profile |add-member -noteprop
で属性付けて
. $profile.common; .$profile.platform
とそーすしてる
あえて真っ白linuxでは使わんけどwslは快適になるな
$profile |add-member -noteprop
で属性付けて
. $profile.common; .$profile.platform
とそーすしてる
859デフォルトの名無しさん
2021/12/16(木) 15:23:47.31ID:9aNyIMSV そんなことより
左辺コレクションの-eqのフィルタの罠に見事に引っ掛かったわ
左辺コレクションの-eqのフィルタの罠に見事に引っ掛かったわ
860デフォルトの名無しさん
2021/12/16(木) 15:41:05.53ID:ywwvfrpp -eq(ual elements are...)と読み慣わしてる
861848
2021/12/16(木) 16:19:44.83ID:pA5H+adw OutputEncoding を変えるぐらいでは、出来ないだろ。
PowerShell(PS)は、迷走しまくっている
UTF-16LE とか、あるのか?
PS 6 では、BOM 無しUTF-8 も出来るらしいけど
PowerShell(PS)は、迷走しまくっている
UTF-16LE とか、あるのか?
PS 6 では、BOM 無しUTF-8 も出来るらしいけど
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★4 [BFU★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す [蚤の市★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 佳子さまがコロナ感染 [おっさん友の会★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【悲報】靖国参拝を批判する中国に内政干渉するなと騒ぐネトウヨが中国の内紛に干渉する理由、誰にもわからない🥺 [616817505]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【悲報】ネトウヨ「なんで高市が謝るんだよ!岡田が謝れ!😡」 [359965264]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- エッヂ逝った?
