前スレ
PowerShell -Part 4
https://mevius.5ch.net/test/read.cgi/tech/1577862511/
次スレは>>980が立ててね!!
探検
PowerShell -Part 5
■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 00:29:52.04ID:/MpReTiX
127デフォルトの名無しさん
2021/04/04(日) 20:54:21.66ID:7FHk/GbQ128デフォルトの名無しさん
2021/04/04(日) 20:57:30.83ID:7FHk/GbQ あと一行毎に読み込んで処理するような作業でなければ、-readcount を大きく取れば比例して速くなるかと
129デフォルトの名無しさん
2021/04/04(日) 21:53:57.59ID:BHN4NYpU 完全に同じ物かは分からんが、一般的なwcコマンドはファイル引数取るね
わざわざgcでメモリに読み込んで渡すという奇怪なことはしなくていいと思う
行じゃなくて単語を数えるなら-Delimiterでよしなに分割してCount 属性見るとか
ただ、生gcで全部メモリに載せて属性見るのはスケーラブルでない事に注意
わざわざgcでメモリに読み込んで渡すという奇怪なことはしなくていいと思う
行じゃなくて単語を数えるなら-Delimiterでよしなに分割してCount 属性見るとか
ただ、生gcで全部メモリに載せて属性見るのはスケーラブルでない事に注意
130デフォルトの名無しさん
2021/04/04(日) 22:07:08.65ID:BHN4NYpU -Delimiterに空白扱いしたい文字を渡すだけではちゃんと連続スペースを圧縮してくれるかとか怪しいので、やめといたほうがいいか
せっかくwc.exeがあるんだから任せるのが無難
せっかくwc.exeがあるんだから任せるのが無難
131デフォルトの名無しさん
2021/04/07(水) 05:39:22.19ID:vrmwo0xd オワコン利用者が宗教がかってくるのはどんな分野でも似た感じだね
132デフォルトの名無しさん
2021/04/07(水) 12:11:53.76ID:qt/+ncLt なんでや、perl関係ないやろ
133デフォルトの名無しさん
2021/04/07(水) 21:20:44.96ID:MHznIgE8 HTMLファイルを[xml]に変換して $obj.html.bodyとか参照したいんですが、
↓のサイトで紹介されてる方法
https://win.just4fun.biz/?PowerShell/HTMLのtableタグをスクレイピング
$obj = [xml](Get-Content ファイル名)
この方法ではタグが対応してないとエラーが出てしまいます。素のHTMLなので当然なのですが。
タグが対応してないHTML前提で何か良い方法ありますか。
↓のサイトで紹介されてる方法
https://win.just4fun.biz/?PowerShell/HTMLのtableタグをスクレイピング
$obj = [xml](Get-Content ファイル名)
この方法ではタグが対応してないとエラーが出てしまいます。素のHTMLなので当然なのですが。
タグが対応してないHTML前提で何か良い方法ありますか。
134デフォルトの名無しさん
2021/04/07(水) 23:40:53.08ID:Y4NtoFD8 Powershellで時間だけの計算の方法を教えてください。
$s=((New-TimeSpan -Hours 50 -Minutes 35) + (New-TimeSpan -Hours 1 -Minutes 25)).TotalSeconds
$ts =[timespan]::FromSeconds($s)
("{0:hh\:mm\:ss}" -f $ts)
ググった結果ここまではいきついたのですが、24時間を超えると、桁が日に上がってしまいます。
24時間を超えた場合でも、25:00や、123:35のようにする方法を教えてください。
また、もう少し楽な書き方Excelライクに、10:15 + 20:45 = 31:00、みたいな楽な書き方があったら教えて下さい。
$s=((New-TimeSpan -Hours 50 -Minutes 35) + (New-TimeSpan -Hours 1 -Minutes 25)).TotalSeconds
$ts =[timespan]::FromSeconds($s)
("{0:hh\:mm\:ss}" -f $ts)
ググった結果ここまではいきついたのですが、24時間を超えると、桁が日に上がってしまいます。
24時間を超えた場合でも、25:00や、123:35のようにする方法を教えてください。
また、もう少し楽な書き方Excelライクに、10:15 + 20:45 = 31:00、みたいな楽な書き方があったら教えて下さい。
135デフォルトの名無しさん
2021/04/08(木) 04:25:58.89ID:kPGnX96o >>129
7z -e -so 2021-04-01.log.zip | wc -l
みたいな事もやりたいのかも。わざわざパイプにしてるって事は
それにしてもPowerShellは数字で始まるコマンドはそのままじゃダメなのか
&7zだとイケるけど…癖のあるシェルですな
7z -e -so 2021-04-01.log.zip | wc -l
みたいな事もやりたいのかも。わざわざパイプにしてるって事は
それにしてもPowerShellは数字で始まるコマンドはそのままじゃダメなのか
&7zだとイケるけど…癖のあるシェルですな
136デフォルトの名無しさん
2021/04/11(日) 22:42:10.00ID:2GAqbccY137デフォルトの名無しさん
2021/04/11(日) 22:52:32.66ID:2GAqbccY $ts = [timespan]'10:15' + [timespan]'20:45'
'{0:00}:{1:00}' -f $ts.TotalHours, $ts.Minutes
こんな感じ
'{0:00}:{1:00}' -f $ts.TotalHours, $ts.Minutes
こんな感じ
138デフォルトの名無しさん
2021/04/12(月) 21:18:29.84ID:6c3X7Cef139デフォルトの名無しさん
2021/04/12(月) 22:12:38.04ID:zW+k7vD0 質問したいんだけど、だれか教えて下さい。
外部アプリによるリネームの追跡をしたいんです。
リネームをする外部アプリで、リネームされたファイル名を拾いたいんです。
詳細
https://qiita.com/mtujikawa/questions/a0b4b36bc91585388cf2
だれか教えて下さい。
外部アプリによるリネームの追跡をしたいんです。
リネームをする外部アプリで、リネームされたファイル名を拾いたいんです。
詳細
https://qiita.com/mtujikawa/questions/a0b4b36bc91585388cf2
だれか教えて下さい。
140デフォルトの名無しさん
2021/04/12(月) 23:31:54.87ID:rYIhIPBW141デフォルトの名無しさん
2021/04/13(火) 17:45:40.70ID:fWoCeTea vbs速いって言うけどUTF8扱うようになる(ADODBでゴニョゴニョ)と
powershellが逆転するね
powershellが逆転するね
142デフォルトの名無しさん
2021/04/13(火) 17:58:30.89ID:u1AIe1VJ >>141
そうなんですか
そうなんですか
143デフォルトの名無しさん
2021/04/13(火) 19:01:37.43ID:HcUSKQeT $ts = [timespan]'0:15' + [timespan]'0:40' ; '{0:00}:{1:00}' -f $ts.TotalHours, $ts.Minutes
01:55
01:55
144デフォルトの名無しさん
2021/04/18(日) 15:36:47.84ID:d2aF4PUW 数値を強制的に2桁にする方法ですが、
3桁以上は上位2桁、1桁の場合は右詰めで0追加
とするためにはどうすればいいでしょうか?
整数以外の入力は考えなくて大丈夫です
(例)
12345 → 12
67 → 67
8 → 80
3桁以上は上位2桁、1桁の場合は右詰めで0追加
とするためにはどうすればいいでしょうか?
整数以外の入力は考えなくて大丈夫です
(例)
12345 → 12
67 → 67
8 → 80
145デフォルトの名無しさん
2021/04/18(日) 16:03:54.38ID:NvNv7S6I if文で分岐して10をかけたり割ったりするだけじゃだめなんですか?
146デフォルトの名無しさん
2021/04/18(日) 16:34:37.11ID:Y0OFPTQB 12345,67,8|%{[math]::floor($_/[math]::pow(10,[math]::floor([math]::log10($_))-1))}
147デフォルトの名無しさん
2021/04/18(日) 17:19:19.04ID:yV0lWVbT すごいのう
148デフォルトの名無しさん
2021/04/18(日) 17:26:13.82ID:okYCh92Q 無条件に最後に0を付けて左から2桁取ればいいのでは
149デフォルトの名無しさん
2021/04/18(日) 17:57:57.50ID:ZsDsAuud そんなんで表示されても判らんけどな
150デフォルトの名無しさん
2021/04/18(日) 20:02:19.21ID:NvNv7S6I >>148
これだな
これだな
151デフォルトの名無しさん
2021/04/18(日) 21:04:21.53ID:Y0OFPTQB その方が簡単だな。146は数値計算で済ませる思いつき
152デフォルトの名無しさん
2021/04/18(日) 21:53:28.24ID:a2J8UULJ >>149
分かるだろ
分かるだろ
153デフォルトの名無しさん
2021/04/18(日) 21:59:30.04ID:qI95yZS9 #/bin/sh
result=21
result2=3.1415
echo "$result * 10" | bc | cut -c 1-2 # 実行結果:21
echo "scale=5; $result2 * 10" | bc | cut -c 1-2 # 実行結果:31
result=21
result2=3.1415
echo "$result * 10" | bc | cut -c 1-2 # 実行結果:21
echo "scale=5; $result2 * 10" | bc | cut -c 1-2 # 実行結果:31
154デフォルトの名無しさん
2021/04/19(月) 08:23:13.80ID:tyk9bMXM 中古シェルだとたかが数値計算すらbcなんてコマンドをわざわざ使わなきゃいけないのか
しかも結果が文字列ってアホすぎ
しかも結果が文字列ってアホすぎ
155デフォルトの名無しさん
2021/04/19(月) 08:49:51.52ID:Igt3l5xr bashって外部コマンド使わずに純粋にシェルの機能だけだとまともな事出来ないの?
156デフォルトの名無しさん
2021/04/19(月) 15:00:37.86ID:5FdprbjY 12345,67,8|% {($_ * 10).ToString().SubString(0,2).ToInt32($null)}
157デフォルトの名無しさん
2021/04/19(月) 15:52:01.50ID:HBn8astV 分かりやすい
158デフォルトの名無しさん
2021/04/19(月) 17:18:39.52ID:J8N2amqC テキストファイルを読み込んで置換したりしているのですが、改行コードがマッチしません
function test($file){
$content = Get-Content -Encoding UTF8 $file
$content = $content -replace "`n", "HOGE"
$content
}
これで改行をHOGEにしようとしてもできません
`n を `r`n や \n や \r\n にしてもだめです(テキストエディタで見るとエンコードはUTF8、改行はCR+LFとなっています)
タブ文字は `t でできています
どのような理由が考えられるでしょうか?
function test($file){
$content = Get-Content -Encoding UTF8 $file
$content = $content -replace "`n", "HOGE"
$content
}
これで改行をHOGEにしようとしてもできません
`n を `r`n や \n や \r\n にしてもだめです(テキストエディタで見るとエンコードはUTF8、改行はCR+LFとなっています)
タブ文字は `t でできています
どのような理由が考えられるでしょうか?
159デフォルトの名無しさん
2021/04/19(月) 17:22:33.20ID:UiFLtBUU 改行コードと文字コードは、もう一度地球をやり直すしか
160デフォルトの名無しさん
2021/04/19(月) 17:32:10.70ID:J8N2amqC ちなみに同じテキストファイルは
秀丸エディタだと普通に \n で検索、置換ができています
秀丸エディタだと普通に \n で検索、置換ができています
161デフォルトの名無しさん
2021/04/19(月) 18:06:13.50ID:yrdOfXex >>155
この程度はbashでできるけど外部コマンドの橋渡しが基本。プログラム言語じゃないしな
for i in 12345 67 8; do y=${i}0; y=${y:0:2}; echo $y; done
変数は$(())で数値計算できる
PowerShell
12345,67,8 | %{[int]([string]$_+0).substring(0,2)}
156は古いPowerShellだとエラーになる([System.String]にToInt32がない)
この程度はbashでできるけど外部コマンドの橋渡しが基本。プログラム言語じゃないしな
for i in 12345 67 8; do y=${i}0; y=${y:0:2}; echo $y; done
変数は$(())で数値計算できる
PowerShell
12345,67,8 | %{[int]([string]$_+0).substring(0,2)}
156は古いPowerShellだとエラーになる([System.String]にToInt32がない)
162デフォルトの名無しさん
2021/04/19(月) 18:32:19.33ID:nuzEjzy+ >>158
$content = Get-Content $file -Raw -Encoding UTF8
$content = Get-Content $file -Raw -Encoding UTF8
163デフォルトの名無しさん
2021/04/19(月) 18:34:53.66ID:nsBabrZy ワロタ
164デフォルトの名無しさん
2021/04/19(月) 18:47:03.91ID:qG+FkDTL >>158
> どのような理由が考えられるでしょうか?
Get-Contentは改行で区切られた行を配列にして返す
なので返された内容には改行は無いよ
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12183750652
> どのような理由が考えられるでしょうか?
Get-Contentは改行で区切られた行を配列にして返す
なので返された内容には改行は無いよ
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12183750652
165デフォルトの名無しさん
2021/04/19(月) 18:54:06.68ID:PAGvXSVw >>144は、結果の数値に応じて場合分けするのに
最初の2桁を使いたいからその方法を聞いてるの?
最初の2桁を使いたいからその方法を聞いてるの?
166デフォルトの名無しさん
2021/04/19(月) 19:31:30.77ID:d6EDPzDg 148が言ってるみたいに文字列で処理した方が簡単かなぁ
PS C:\> $x = 1..5 |% { Get-Random -min 1 -max 20 }
PS C:\> $x
4
10
6
17
12
PS C:\> $x |% { -join ('{0}0' -f $_)[0..1] }
40
10
60
17
12
PS C:\> $x = 1..5 |% { Get-Random -min 1 -max 20 }
PS C:\> $x
4
10
6
17
12
PS C:\> $x |% { -join ('{0}0' -f $_)[0..1] }
40
10
60
17
12
167デフォルトの名無しさん
2021/04/19(月) 19:31:51.71ID:J8N2amqC >>162 でできました!
168デフォルトの名無しさん
2021/04/22(木) 12:55:52.92ID:dQFy3Puj bash/linux使っててpwsh初めましただけど
env:とかalias:とか疑似ファイルシステムみたいに潜れるの楽しい
-からの補完でロングオプション(パラメータ?)出てヘルプすら見ずとも取り敢えず動くのが素敵
もちろんオンラインヘルプもman以上に充実で素晴らしい
困った方も挙げとく
折角両方のコマンド使えるのでcatだけ本物に置き換えてる、pwshのgcとwinのtypeはそのまま
ただcdはbashビルトインで実体が無いので困った
子bashでglobal宣言しても$env:CDPATHに反映されてない?
何かワークアラウンドはないでしょうか?ヘビーユーザなので寂しい
勉強も兼ねてcdをpwshで書くのもいいかもしれないけど
env:とかalias:とか疑似ファイルシステムみたいに潜れるの楽しい
-からの補完でロングオプション(パラメータ?)出てヘルプすら見ずとも取り敢えず動くのが素敵
もちろんオンラインヘルプもman以上に充実で素晴らしい
困った方も挙げとく
折角両方のコマンド使えるのでcatだけ本物に置き換えてる、pwshのgcとwinのtypeはそのまま
ただcdはbashビルトインで実体が無いので困った
子bashでglobal宣言しても$env:CDPATHに反映されてない?
何かワークアラウンドはないでしょうか?ヘビーユーザなので寂しい
勉強も兼ねてcdをpwshで書くのもいいかもしれないけど
169デフォルトの名無しさん
2021/04/22(木) 12:59:06.25ID:dQFy3Puj 行/列(オブジェクト/プロパティ)をピボットテーブルみたいにグリグリ出来るのも楽しいね
そういうインタラクティブデータ分析はpython/pandasでやってたけど、pwshの方が楽かもしれない
そういうインタラクティブデータ分析はpython/pandasでやってたけど、pwshの方が楽かもしれない
170デフォルトの名無しさん
2021/04/22(木) 13:13:23.93ID:fmuwQogZ 他の言語で書いたらかなりの分量になるところを、psだと異様に短くなる
というケースが楽しい
というケースが楽しい
171デフォルトの名無しさん
2021/04/22(木) 13:22:29.78ID:dQFy3Puj echoしなくていいとか、?、%、&(call operator)、$_とか使いたくなりますね
perl臭がしてくるけど
perl臭がしてくるけど
172デフォルトの名無しさん
2021/04/22(木) 13:30:39.34ID:dQFy3Puj かっちり書けばほぼC#なのもいいところ
前からネットでサンプルコードちらほら見かけてたけど、そういうのはエイリアス無し&キャメルケースの厳つい見た目なので敬遠してしまってた
小文字でも構わないし、標準エイリアス&短縮規約(Get-Verb)あるんだって入れるまで知らなかった
前からネットでサンプルコードちらほら見かけてたけど、そういうのはエイリアス無し&キャメルケースの厳つい見た目なので敬遠してしまってた
小文字でも構わないし、標準エイリアス&短縮規約(Get-Verb)あるんだって入れるまで知らなかった
173デフォルトの名無しさん
2021/04/23(金) 09:46:07.10ID:+Mo8SLKI pwsh慣れた後にbash勉強したら面倒なんだけどみんなどう思ってる?
174デフォルトの名無しさん
2021/04/23(金) 10:01:56.87ID:sYoV5rep175デフォルトの名無しさん
2021/04/23(金) 10:48:54.99ID:lAPyDVC2 >>173
bashから入ってPS勉強中の俺には
ログインシェルとしては面倒
スクリプトとしては便利
と思ってる。本気で使おうと思ってないから効率的な使い方知らんだけだと思うが、メンバ確認でgm叩くのが面倒lessがないのも辛い
この時点でかなり億劫
スクリプトはどーせvscode使うからあまり気にならないんだが…
bashから入ってPS勉強中の俺には
ログインシェルとしては面倒
スクリプトとしては便利
と思ってる。本気で使おうと思ってないから効率的な使い方知らんだけだと思うが、メンバ確認でgm叩くのが面倒lessがないのも辛い
この時点でかなり億劫
スクリプトはどーせvscode使うからあまり気にならないんだが…
176デフォルトの名無しさん
2021/04/23(金) 11:06:13.19ID:sgIhdz3d 何でもpsでやろう、という気にはならないかな
psが向いてる用途にぴったりはまると気持ちいい
psが向いてる用途にぴったりはまると気持ちいい
177デフォルトの名無しさん
2021/04/23(金) 12:01:02.99ID:tWGuVFO6 非表示オプションにしてもコンソールが一瞬表示される問題さえ解決すればそのまま納品物にできるんだがなあ
今はPS2EXEでEXEにして納品してる
今はPS2EXEでEXEにして納品してる
178デフォルトの名無しさん
2021/04/23(金) 13:14:07.27ID:qwQTUI3N >>175
lessはbashの一部ではなくてコマンドではあるけど気持ちは分かるかな
自分はlinux環境でもbatやfd-find、ripgrepに切り替えててwindowsでもchocolateyで導入してるんで、同じ環境になってきました
lessはbashの一部ではなくてコマンドではあるけど気持ちは分かるかな
自分はlinux環境でもbatやfd-find、ripgrepに切り替えててwindowsでもchocolateyで導入してるんで、同じ環境になってきました
179デフォルトの名無しさん
2021/04/23(金) 15:21:26.04ID:cVnO9LUt Powershell(でなくてもいいがwindowsで)で「tail -f」したい。。
180デフォルトの名無しさん
2021/04/23(金) 15:43:23.54ID:qwQTUI3N181デフォルトの名無しさん
2021/04/23(金) 15:49:10.77ID:qwQTUI3N あとはget-contentにwaitオプションつけるとか
baretailは大きなサイズのファイルでもサクサク開けるのでビュワーとしても使える
baretailは大きなサイズのファイルでもサクサク開けるのでビュワーとしても使える
182デフォルトの名無しさん
2021/04/23(金) 16:04:17.49ID:S2TaYi95 Unixツールのtail.exeを入れてるけど
183デフォルトの名無しさん
2021/04/23(金) 17:48:18.62ID:V+AIjWKb ちょっと昔まではバッチとの比較がほとんどだったのに
時代の流れを感じる
時代の流れを感じる
184デフォルトの名無しさん
2021/04/23(金) 18:49:11.49ID:dmQwGyWy Git for Windows入れたらtail.exeとかも使えるようになる
185デフォルトの名無しさん
2021/04/23(金) 21:13:11.15ID:X1KZalWz param()と書くだけで
自分で書いたスクリプトもちゃんとパラメータ補完してくれるの偉い
自分の書いたの程覚えられない()
先頭複数行コメントがget-helpできるのも便利そう、思うだけでやってないが
bash/readlineもコマンド補完に力入れてる方だけど、コマンド毎のデータは誰かが手打ちしなきゃならないし、ちょっと仕様が複雑すぎる
まあpwshもpsとcmdlet以外はそうだけど、#!/usr/bin/pwsh、param、startするだけのラッパ書けばよい
ところでwslの人はポータブルにps1書けるの?シバンを認識するかとか、認識にps1拡張子必要かとか
まだ配布できる完成度じゃないけど、折角ならポータブルなスクリプトを書きたい
自分で書いたスクリプトもちゃんとパラメータ補完してくれるの偉い
自分の書いたの程覚えられない()
先頭複数行コメントがget-helpできるのも便利そう、思うだけでやってないが
bash/readlineもコマンド補完に力入れてる方だけど、コマンド毎のデータは誰かが手打ちしなきゃならないし、ちょっと仕様が複雑すぎる
まあpwshもpsとcmdlet以外はそうだけど、#!/usr/bin/pwsh、param、startするだけのラッパ書けばよい
ところでwslの人はポータブルにps1書けるの?シバンを認識するかとか、認識にps1拡張子必要かとか
まだ配布できる完成度じゃないけど、折角ならポータブルなスクリプトを書きたい
186デフォルトの名無しさん
2021/04/24(土) 00:07:18.71ID:zsZadCrK187デフォルトの名無しさん
2021/04/24(土) 16:21:27.70ID:eHVgMjKX188デフォルトの名無しさん
2021/04/24(土) 16:42:22.65ID:w/nYR7g5 windowsの内臓に手を突っ込むようなのが向いてる
189デフォルトの名無しさん
2021/04/24(土) 17:03:59.31ID:BpMFGApW windowsにプリインストールされてる対話環境もあるスクリプト言語っていう意味では向いてる、のかな???
190デフォルトの名無しさん
2021/04/24(土) 19:56:10.43ID:t2qu3ovB 正直wikdows周りの事には使ってない唐突にcosとか呼べるので(i)pythonから移行した
オブジェクトを置き去りにするとテーブル表示になって、ピボットテーブルみたいにグリグリできるのでデータ分析にもオッケー、パイプで書けるのも素直
csv, json, xmlもそのまま読み書きできる
高度な関数や重い行列計算はさすがにOctaveとかに投げるが
学習コスト下げたい人はR, Python, Octaveで自己完結した方がいいかも
オブジェクトを置き去りにするとテーブル表示になって、ピボットテーブルみたいにグリグリできるのでデータ分析にもオッケー、パイプで書けるのも素直
csv, json, xmlもそのまま読み書きできる
高度な関数や重い行列計算はさすがにOctaveとかに投げるが
学習コスト下げたい人はR, Python, Octaveで自己完結した方がいいかも
191デフォルトの名無しさん
2021/04/24(土) 19:59:04.19ID:t2qu3ovB Out-GridView(ogv)が個人的にキラーcmdlet
あとシェルとしても使える()
あとシェルとしても使える()
192デフォルトの名無しさん
2021/04/24(土) 20:01:35.65ID:t2qu3ovB 偏った見方なのは承知してるけど、インタラクティブにエクセル職人的な事やりたいなら、現状で最適なソフトかなと
193デフォルトの名無しさん
2021/04/24(土) 20:12:31.38ID:w/nYR7g5 PC起動したら、起動時刻と前回立ち下げ時刻をサーバのエクセルに追記させる
みたいなことを、他の言語でやろうとしたら大変
みたいなことを、他の言語でやろうとしたら大変
194デフォルトの名無しさん
2021/04/24(土) 22:11:52.14ID:zsZadCrK >>191
たしかにogvはお手軽に結果一覧するには超便利ですね
たしかにogvはお手軽に結果一覧するには超便利ですね
195187
2021/04/24(土) 23:12:45.35ID:eHVgMjKX 皆さんありがとうございます
196デフォルトの名無しさん
2021/04/25(日) 05:08:51.91ID:Xjg3V2+s お知恵をお貸し頂きたく…。
Excnange Online に接続して Get で出力したんですが、
波括弧{}でくくられた情報が wrap しても out-file してもどうしても省略されます。
これを全部表示する方法をどなたかご存じでしょうか…。
Excnange Online に接続して Get で出力したんですが、
波括弧{}でくくられた情報が wrap しても out-file してもどうしても省略されます。
これを全部表示する方法をどなたかご存じでしょうか…。
197196
2021/04/25(日) 05:11:37.83ID:Xjg3V2+s 言葉足らずでした。
{192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,...}
みたいに途中で切れてしまうアレです…。
{192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,...}
みたいに途中で切れてしまうアレです…。
198デフォルトの名無しさん
2021/04/25(日) 05:32:42.88ID:2+KF94a+ Out-GridVewもいいけどfzfをPowerShellで使えるようにしたほうが一貫性があっていいと思うけど
199デフォルトの名無しさん
2021/04/25(日) 14:29:14.34ID:Jy5Y44+Q200デフォルトの名無しさん
2021/04/25(日) 18:02:45.39ID:Vn29MKgq >>197
exchange onlineを触ったことが無いのでお困りの内容が正確にはわかってないのですが、対象のコレクションに対してforeach-objectするのはうまくいかないんでしょうか?
cmdletを記載してくれればもう少し分かるかも
exchange onlineを触ったことが無いのでお困りの内容が正確にはわかってないのですが、対象のコレクションに対してforeach-objectするのはうまくいかないんでしょうか?
cmdletを記載してくれればもう少し分かるかも
201デフォルトの名無しさん
2021/04/25(日) 18:53:01.63ID:s++hWM3P テキストファイルの空白行を連番で
[1]
[2]
のように置換するにはどうするといいでしょうか???
[1]
[2]
のように置換するにはどうするといいでしょうか???
202デフォルトの名無しさん
2021/04/25(日) 19:15:47.03ID:byqvN0Ft >>201
$i=1
foreach ($l in Get-Content test.txt) {
if ($l.Length -eq 0){
Write-Output ("[" + $i.ToString() + "]")
$i=$i+1
}else{
$l
}
}
こういう感じでいかがでしょうか。
あんまりうまくないと思いますが・・・。
$i=1
foreach ($l in Get-Content test.txt) {
if ($l.Length -eq 0){
Write-Output ("[" + $i.ToString() + "]")
$i=$i+1
}else{
$l
}
}
こういう感じでいかがでしょうか。
あんまりうまくないと思いますが・・・。
203デフォルトの名無しさん
2021/04/25(日) 19:22:08.51ID:/7sF+uPH >>201
下手だけどワンライナーだとこんな感じ
$i=0;Get-Content test.txt|ForEach-Object {if($_ -eq ""){$i++;"[$i]"}else{$_}}
下手だけどワンライナーだとこんな感じ
$i=0;Get-Content test.txt|ForEach-Object {if($_ -eq ""){$i++;"[$i]"}else{$_}}
204デフォルトの名無しさん
2021/04/25(日) 20:28:53.03ID:s++hWM3P なるほど
205デフォルトの名無しさん
2021/04/26(月) 01:03:37.54ID:BYmi+i0r >>196
Exchenge Online使ってないから入力や出力したい形式が分からないけど
$var | Out-File var.txt
だと表形式で長い値は省略されて
$var | Format-Table -Wrap | Out-File var.txt
だと省略されずに保存される
Exchenge Online使ってないから入力や出力したい形式が分からないけど
$var | Out-File var.txt
だと表形式で長い値は省略されて
$var | Format-Table -Wrap | Out-File var.txt
だと省略されずに保存される
206デフォルトの名無しさん
2021/04/26(月) 17:17:59.89ID:iZOPqzuA Get-Contetは何で標準入力を受け取らないんだろう?
wshはできたのにな
wshはできたのにな
207デフォルトの名無しさん
2021/04/26(月) 22:25:20.75ID:a3SG/c+a 開発側がそんな機能使ってないからだろう
208デフォルトの名無しさん
2021/04/26(月) 23:42:37.65ID:oRZNh3Qz >>206
イメージ湧かないんですが、どういった使い方を想定されてるんでしょう?
イメージ湧かないんですが、どういった使い方を想定されてるんでしょう?
209デフォルトの名無しさん
2021/04/26(月) 23:57:32.20ID:3GJ+33uE たし蟹
210デフォルトの名無しさん
2021/04/27(火) 00:21:38.16ID:UNWScvKY catみたいに標準入力の結果を吐いてほしいんじゃないの
PowerShellはシェルとしての使いやすさよりも直行性を重視してるところがあるので、単に設計思想の違いだろう
PowerShellはシェルとしての使いやすさよりも直行性を重視してるところがあるので、単に設計思想の違いだろう
211デフォルトの名無しさん
2021/04/27(火) 03:10:21.87ID:SJKbfdaZ 標準入力を受け取らない理由なんてないし、実際受け取るんだけども…
get-contentという名前から、何を入力として期待しているのか考えてみなよ
get-contentという名前から、何を入力として期待しているのか考えてみなよ
212デフォルトの名無しさん
2021/04/27(火) 06:30:59.80ID:Q96mKs6z PoweShellはWSLが普及したらオワコン化するってホント?
213デフォルトの名無しさん
2021/04/27(火) 08:35:24.00ID:5DBHgWrV >>211
「内容を取得せよ」という名前なんだからcatみたいに標準入力があれば標準入力の内容も出力してくれても別におかしくはないでしょ
PowerShellのget-contentに同様の機能があれば君も普通に使ってると思うぞ
とはいえ、あれば便利だからといって何でも入れたら神コマンド化するから、そこは直行性とのバランスで取捨選択した結果なんだろう
「内容を取得せよ」という名前なんだからcatみたいに標準入力があれば標準入力の内容も出力してくれても別におかしくはないでしょ
PowerShellのget-contentに同様の機能があれば君も普通に使ってると思うぞ
とはいえ、あれば便利だからといって何でも入れたら神コマンド化するから、そこは直行性とのバランスで取捨選択した結果なんだろう
214デフォルトの名無しさん
2021/04/27(火) 09:10:46.77ID:x4iH29Y2 その反応はアドバイスに対して論理が微妙じゃね
「『内容を取得せよ』という名前なんだから標準入力から受け取ったファイル名を元に内容を取り出す仕様でも別におかしくはないでしょ」っていうのもまんま成り立つよな
二通りの仕様が考えられるときにcatと同じじゃないのはおかしいというのは先入観に引きずられすぎ
ゼロベースで考えたらGet-Contentの今の仕様は妥当だと思う
Poweshellで標準入力を標準出力にパイプしたいときにcatじゃなきゃいけない理由ってあるの?
「『内容を取得せよ』という名前なんだから標準入力から受け取ったファイル名を元に内容を取り出す仕様でも別におかしくはないでしょ」っていうのもまんま成り立つよな
二通りの仕様が考えられるときにcatと同じじゃないのはおかしいというのは先入観に引きずられすぎ
ゼロベースで考えたらGet-Contentの今の仕様は妥当だと思う
Poweshellで標準入力を標準出力にパイプしたいときにcatじゃなきゃいけない理由ってあるの?
215デフォルトの名無しさん
2021/04/27(火) 10:03:00.94ID:5DBHgWrV catは echo abc | cat x.txt - y.txt で x.txt と文字列 "abc" と y.txt を順に結合できる
同じことをpwshでやろうとすると少し頭使うだろう
pwshにはエイリアスにlsとかあったりするのに、MSがget-contentを設計する際にcatを全く意識せずゼロベースで考えたというのはさすがに普通に考えてありえない
意思を持ってcatと同じにしなかったのだろうし、別にそれが間違っているとは思わない
同じことをpwshでやろうとすると少し頭使うだろう
pwshにはエイリアスにlsとかあったりするのに、MSがget-contentを設計する際にcatを全く意識せずゼロベースで考えたというのはさすがに普通に考えてありえない
意思を持ってcatと同じにしなかったのだろうし、別にそれが間違っているとは思わない
216デフォルトの名無しさん
2021/04/27(火) 11:22:55.90ID:VpxSAxjv あー、concatinateとして使いたいってことか
普通のcatもその使い方しないから全然気づけなかった
普通のcatもその使い方しないから全然気づけなかった
217デフォルトの名無しさん
2021/04/27(火) 12:44:35.43ID:a/NQjOQm なるほどね、208の質問にそう答えてくれてればスムーズに話が進んでたと思うよ
直行性という意味ではjoinなどの結合操作だね
書き方に悩むのはどっちに慣れてるかってことでしかないと思う
歴史的経緯でこんがらがった過去のシェル環境達を負の遺産ごと継承するよりも改めて再整理したいって話と、わかりやすいエイリアスを付けてあげたいってのもまた別の話
直行性という意味ではjoinなどの結合操作だね
書き方に悩むのはどっちに慣れてるかってことでしかないと思う
歴史的経緯でこんがらがった過去のシェル環境達を負の遺産ごと継承するよりも改めて再整理したいって話と、わかりやすいエイリアスを付けてあげたいってのもまた別の話
218デフォルトの名無しさん
2021/04/27(火) 13:21:29.99ID:LEUYIDaT wshはできるの意味がさっぱり分からん
219デフォルトの名無しさん
2021/04/27(火) 13:45:18.43ID:P9G7ihch >>166
単項の-join -splitあるなんて知らなかった…
単項の-join -splitあるなんて知らなかった…
220デフォルトの名無しさん
2021/04/27(火) 14:42:03.79ID:y9F4OEgN get-contentで検索文字列をテキストから取得し変数に入れているのですが、
*検索文字1*,*検索文字2*
と変数に入れると何も返ってこなくなります。検索文字列が一つだけなら問題なにのですが…
変数 = テキストファイル
get-content パス $変数
です。カンマをエスケープさせるのかアスタリスクをエスケープさせるのかこんがらがってきました…
知見を下さい…
*検索文字1*,*検索文字2*
と変数に入れると何も返ってこなくなります。検索文字列が一つだけなら問題なにのですが…
変数 = テキストファイル
get-content パス $変数
です。カンマをエスケープさせるのかアスタリスクをエスケープさせるのかこんがらがってきました…
知見を下さい…
221デフォルトの名無しさん
2021/04/27(火) 14:55:56.07ID:y9F4OEgN >>220
変数使う所はget-childitemでした。
変数使う所はget-childitemでした。
222デフォルトの名無しさん
2021/04/27(火) 15:14:13.72ID:y9F4OEgN223デフォルトの名無しさん
2021/04/27(火) 20:30:55.10ID:8D7txu9u テキストの中身をカンマじゃなくて改行で区切ればそんな苦労しなくて済むぞ
あと余計なお世話だけどGet-ChildItemが手打ちで動くことは確認した?
パラメーターがちょい怪しい気がするんだが…
あと余計なお世話だけどGet-ChildItemが手打ちで動くことは確認した?
パラメーターがちょい怪しい気がするんだが…
224デフォルトの名無しさん
2021/04/27(火) 20:51:05.42ID:P9G7ihch >>220
リテラルではカンマで渡してるから配列にしないとダメみたいね
test.txtの内容:
*.jpg,*.png
$r = gc test.txt
gci パス\* -Include ($r -split ",")
パスがカレントフォルダなら
gci ($r -split ",")
または
gci .\* -Include ($r -split ",")
または
gci * -Include ($r -split ",")
リテラルではカンマで渡してるから配列にしないとダメみたいね
test.txtの内容:
*.jpg,*.png
$r = gc test.txt
gci パス\* -Include ($r -split ",")
パスがカレントフォルダなら
gci ($r -split ",")
または
gci .\* -Include ($r -split ",")
または
gci * -Include ($r -split ",")
225デフォルトの名無しさん
2021/04/28(水) 09:11:25.07ID:BmPpt58I なんかテキストベースの志向してる人多くない?
テキストベースのデータは最低限配列化して扱うもんじゃないの?
テキストベースのデータは最低限配列化して扱うもんじゃないの?
226デフォルトの名無しさん
2021/04/28(水) 10:37:10.61ID:mkVGlKi3 PowerShellで配列を明示的に使うのはダサいしハマりやすいよ
パイプに任せた方がいい
パイプに任せた方がいい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 偏差値35大臣「すぐに経済的威圧するところへの依存はリスク」 [834922174]
- 【朗報】高市、中国からの日本行き空路49万件キャンセルを達成🤩オーバーツーリズム対策の手腕が光る [359965264]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【スパイト行動】俺のコ,ードを入れれば1500円貰えるのに、俺に1500円をやりたくないからやらない ⇐これが日本人ってやつか… [201193242]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
