PowerShell -Part 6

■ このスレッドは過去ログ倉庫に格納されています
2022/02/13(日) 18:36:12.07ID:LaQ04ZoE
前スレ
PowerShell -Part 5
https://mevius.5ch.net/test/read.cgi/tech/1615994992/

次スレは>>980が立ててね!!
2022/03/17(木) 15:18:43.63ID:zTqRydhk
>>149
良く使うやつはaliasあるやん
2022/03/17(木) 21:22:30.00ID:KFCC0Q8d
長いから分かりやすくていいんだろ
wとか言われてもユーザーを笑いものにするコマンドか?としか思えんし
2022/03/19(土) 11:18:52.00ID:7PrXFgOi
構文はtclっぽいねえ
2022/03/19(土) 12:37:58.38ID:vJYdrJTe
配列の配列について

$array_of_array = @(
@(
'1-1'
'1-2'
'1-3'
),
@(
'2-1'
'2-2'
)
)
$array_of_array | foreach {
Write-Host 'L1' $_
$_ | foreach {
Write-Host ' L2' $_
}
}
結果は期待通り
L1 1-1 1-2 1-3
L2 1-1
L2 1-2
L2 1-3
L1 2-1 2-2
L2 2-1
L2 2-2
2022/03/19(土) 12:39:12.90ID:vJYdrJTe
だが、カンマを省略すると
$array_of_array = @(
@(
'1-1'
'1-2'
'1-3'
)
@(
'2-1'
'2-2'
)
)
結果は期待と違う。配列の配列じゃなくて、ただの配列になっている?
L1 1-1
L2 1-1
L1 1-2
L2 1-2
L1 1-3
L2 1-3
L1 2-1
L2 2-1
L1 2-2
L2 2-2
2022/03/19(土) 12:40:41.61ID:vJYdrJTe
改行してカンマをいれると
$array_of_array = @(
@(
'1-1'
'1-2'
'1-3'
)
,
@(
'2-1'
'2-2'
)
)
後半だけ、配列が要素になっている?
L1 1-1
L2 1-1
L1 1-2
L2 1-2
L1 1-3
L2 1-3
L1 2-1 2-2
L2 2-1
L2 2-2
どういうことなのか教えてよ。
2022/03/19(土) 14:10:16.88ID:advrh/I1
powershellで配列データ構造を扱ってはいけない
2022/03/19(土) 16:28:22.32ID:vJYdrJTe
https://docs.microsoft.com/ja-jp/powershell/scripting/learn/deep-dives/everything-about-arrays?view=powershell-7.2#nested-arrays
「これらの例では、コンマは非常に重要です。 以前に示した通常の複数行での配列の例では、コンマは省略可能でした。 多次元配列の場合はそうではありません。」
そうではありませんと言われても、エラーになるわけでもなく、どうなるのか誰か教えて
2022/03/19(土) 23:33:26.82ID:GptrjqcJ
>>153-155
あまり自信はないのですが、
・「単項の ,」と「配列要素区切りの ,」は別物です。
 (「-1」と「1 - 1」の「-」が別物、みたいな違い。)
・式の終端と見なせる箇所にある改行は「;」と概ね等価です。

>>153の「,」は「配列要素区切りの ,」です。
>>155の「,」は「単項の ,」です。
2022/03/19(土) 23:33:48.95ID:GptrjqcJ
ワンライナーにするとこんな違いがあります。
>>153
@( @('1-1'; '1-2'; '1-3';) ,@('2-1'; '2-2';); )
>>154
@( @('1-1'; '1-2'; '1-3';); @('2-1'; '2-2'); )
>>155
@( @('1-1'; '1-2'; '1-3';); ,@('2-1'; '2-2';); )
2022/03/20(日) 00:30:34.10ID:V8R16naX
追加。
Out-*やWrite-*で出力先が示されていない改行や「;」などは、
暗黙のWrite-Outputが動くと考えるとよいです。

つまり「@(〜);」は「Write-Output @(〜);」となり、この時、配列が1段階分解(要素取出)されます。
ただし「単項 ,」の「,@(〜)」は「Write-Output -NoEnumerate (,@(〜))」となり、分解されません。

イメージ的にはこんな違い。(本当は他にもWrite-Outputが入ります)
>>153
@( (Write-Output @('1-1'; '1-2'; '1-3';), @('2-1'; '2-2';)); )
>>154
@( (Write-Output @('1-1'; '1-2'; '1-3';)); (Write-Output @('2-1'; '2-2';)); )
>>155
@( (Write-Output @('1-1'; '1-2'; '1-3';)); (Write-Output -NoEnumerate (,@('2-1'; '2-2';))); )
2022/03/20(日) 01:20:05.34ID:EnzWedk+
暗黙のWrite-Output
コマンドレットのような何某かの出力を持つものと、Powershellのスクリプト内で定義された関数や式の評価結果を
うまいこと混ぜることが出来るようにする仕掛けなのでしょうか
完全に理解しては居ませんがが、理解に努めます
文法知識は「Windows PowerShell実践システム管理ガイド 第3版(日経BP)」の第2章を読んだだけなのですが
これだけは全然足りないtのを痛感しました
何かお勧めはありませんか
2022/03/20(日) 01:39:27.35ID:KeTIMbSf
powershellは行志向寄りの言語だから改行はC/C++でいう暗黙の副作用完了点みたいな意味を持っている
何も考えず複数行にまたがる式を書くと思わぬ事故に繋がるから、C/C++の\やVBの_みたいに行継続を示す`を行末に付けるといいよ

$array_of_array = @( @('1-1', '1-2', '1-3') `
, @('2-1', '2-2'))
2022/03/20(日) 14:33:02.79ID:V8R16naX
>>161
今回の挙動の予想や理解は、構文のパース(式・文の区切り)、
独特なパイプラインの挙動、分かりづらい「単項 ,」の存在などがあり
わりと難易度の高いものです。

>>156>>162さんに同意で、配列の配列(ジャグ配列)を避け
行の継続を「`」で明示する事をお勧めします。

書籍では『Windows PowerShell イン アクション』がお勧めです。
ただv1の本なので今となっては内容が古く、紙だと新品の入手が難しいです。
※これのv5以上版が日本語で出て欲しい…。
https://www.sbcr.jp/product/4797337362/

あとは>>157のMSのサイト等。
about_*も有用な事が書かれてますが、日本語訳やサンプルコードの質が酷く、
多くの人がよく使う機能と一部の人が稀に使う機能が同じ扱いの記述なのが難点。
2022/03/20(日) 22:00:12.10ID:L+yKE55O
Powershellの洋書翻訳はもっと盛んになってほしい
オライリーのクックブックも原著は改定4版まで出てるのに日本語は初版のままだし
2022/03/21(月) 00:56:42.09ID:OI2SuuED
今時英語できないの日本人だけだからな
土人とか馬鹿にしてる韓国、中国、インド、ベトナム、フィリピンなんてネイティブレベルで英語できるからな
これで日本のレベルは低くないとかそれ以前の問題だよ
2022/03/21(月) 08:39:53.52ID:2Zu3Swq+
エリート層は英語できるだろうよ
馬鹿は海外だと底辺でも英語ペラペラだと思ってやがるが
2022/03/21(月) 09:24:20.27ID:JwhA0ika
日本ですら母国語での情報の鮮度が落ちるんだから
それらの国のプログラミング学習希望者は
必然的に英語の勉強からしないといけないだけの話じゃないかな?

日本のレベルが低いとか
英語できるのはエリート層だけとか
そういう問題じゃないと思いますよ

アニメ理解したいから日本語勉強しましたと
同じレベルの話な気がする
2022/03/21(月) 09:42:44.22ID:3OVxtXqz
まとめて挙がってるけど国によって差は大きい
インドとフィリピンは英語が公用語で世界でも有数の英語話者が多い国

日本の英語力が低すぎて世界に遅れを取っているというのは同意
学校教育も都度見直されてるしそのうち改善されるんじゃねーの、知らんけど
プログラマーなら英語を読むだけでもできるように少しずつ学ぶ気概は欲しい
ボク英語わからないんですと幼稚な変数名を付け続けるのはよくない
2022/03/21(月) 14:48:55.98ID:fHQFhWIP
日本は国内に金と仕事があるせいで海外でなくても稼げるからなあ
英語理解できなくても儲かる職業の筆頭が
マスコミと教育と役人政治家の時点で英語教育が変わるわけ無いじゃん
2022/03/21(月) 16:01:23.66ID:l99FVYBX
ITに限定すると英語は必要なんだけど英語に限らず日本のITエンジニアの多くは勉強しない
能力を伸ばしても給料が上がらず残業が増やされるだけと諦めるのが常態化している
2022/03/21(月) 16:10:09.00ID:l99FVYBX
国内に金があるというのは微妙な話になってきている
世界ワースト級の低成長による沈下を続けていて、本当に有能なエンジニアは海外に流出して残るのはIT土方ばかり
ノーベル賞受賞者が元日本人ばかりというのと同じような話が起こってる
GAFAのようなIT企業が伸びないから低成長から抜け出さない負のスパイラル
2022/03/21(月) 21:14:58.00ID:dTmdB0AV
海外ならGAFAみたいな企業がたくさんあるとでも思ってるのかこのゴミは
GAFAは世界中でも1つしか無いんだよ
2022/03/21(月) 21:25:38.84ID:vIzK+CHc
GAFAはひとつとな?
MARCHはひとつみたいな哲学かな?
のようなという日本語の意味はわかるのかな?
2022/03/21(月) 22:11:34.27ID:y82izW1t
脱線しとるな
2022/03/22(火) 00:10:37.43ID:KVIRUNm3
これ使って出来ることってフォルダ弄りファイル弄り設定弄りだけ?
他に出来ることないの?
2022/03/22(火) 00:21:42.31ID:kikOm2qa
あとは何かプログラムを走らせたり、せいぜいOSの機能を実行するくらいかな
リモートで出来たりするけど、しょせんはローカルに出来ることがリモートでも出来るってだけだな
まだ勉強をはじめたばっかりだけど、そのマシンで出来ないことは出来ないんだなって分かった
2022/03/22(火) 00:25:39.51ID:gjcW4Tfu
>>175
bashなんかのシェルとは違って.NETベースだからC#やVB.NETでできることは一通りできるよbashなんかと違ってね
メンテが楽だからあえてpowershellでGUIを作ったりする場合もある
2022/03/22(火) 00:37:38.83ID:aUdC0GfB
正規表現使えるしWindowsだとわざわざPythonセットアップして使うより楽だし利便性高い気がする
2022/03/23(水) 00:40:52.77ID:G2Twh9Sv
>>175
PowerShellは基本的にはWindowsサーバーの管理に使うもの
管理系のコマンドレットが非常に充実している
2022/03/23(水) 04:18:15.48ID:IVt1k3VA
>>177
出来るからって普通はやらんよまともな脳みそしてるならVSCode使う
お前みたいなのが秀丸やEMでコーディングしてるでぇー(ドヤッっイキリ散らかして周りが迷惑する馬鹿そのものだな
2022/03/23(水) 08:31:22.61ID:eqSZnoCQ
>>180
VSCodeを使うの意味が分からん
VSCodeでPSスクリプト組むならいいの?
なんで処理系の話でエディタの話になるの?
2022/03/23(水) 09:01:03.65ID:TpwnHNL9
分かってるくせに…
対面だと「何いってんだコイツ…」とか思いながらも愛想笑いしてそうだな
2022/03/23(水) 10:01:20.99ID:Jvnypl+E
釣りでしょ
面倒見いい人なら、オマエそれブーメランやんけーて言ってあげたら喜ぶよ
2022/03/23(水) 10:04:37.18ID:11NHOGIK
この煽り合いもPowershellスキルの一部なんですか?
2022/03/24(木) 03:56:01.53ID:cKyI7Sj4
write-sqltabledateで列名は指定できますか?
計算列のあるテーブルでその列を飛ばしたいのですがPsCustumObjectのプロパティ名が無視されて並び順で投入されてしまいます。
2022/03/24(木) 21:13:21.68ID:vudxrsxx
https://i.imgur.com/O3zZKes.jpeg
2022/03/25(金) 04:05:40.26ID:qE/8IX5m
>>186
すいません
Write-SqlTableData
でした…
よろしくお願いします
2022/03/26(土) 14:42:03.29ID:u+BPDoH4
そういう挙動ということはWrite-SqlTableDataはメタデータを考慮してなさそうだし
Invoke-Sqlcmdでやれば?
2022/03/26(土) 14:50:17.14ID:pYdvgAQA
コマンドレットの命名規則をケバブケースにしたMSの馬鹿を殺してやりたい
補完でタブ押して確定してまたタブ押して確定してってのがめちゃくちゃイライラする
2022/03/26(土) 14:56:08.98ID:VSlpRLnL
自分の思い通りじゃないとすぐにイライラしたり殺したくなったりする
2022/03/26(土) 18:44:07.02ID:MJID/KD0
ちんちんシュッ!シュッ!シュッ!
2022/03/26(土) 21:08:39.76ID:MzILs1Nj
>補完でタブ押して確定してまたタブ押して確定して

状況が分からん
2022/03/26(土) 21:42:22.31ID:M1Ul1dov
文字列をPowerShellの文字列リテラルとして出力したいのですが、どうやったら楽ちんに出来ますか?

例えば下記を実行すると
$s = "``i`'`""
function literally {
param ($t)
return $t
}
Write-Output (literally $s)
実行結果は
`i'"
こうなりますが、
"``i`'`""
こうなってくれる function literally は既存の関数にありますか?
2022/03/27(日) 06:15:33.62ID:LvwD4OI0
>>188
ありがとうございます
やっぱそれが無難ですかね
IDENTITYにしたオートインクリメントな列は空文字列の代入で飛ばせたので計算列も何か方法が無いかと思ったのですが…
2022/03/27(日) 13:30:01.63ID:mnGGi+fZ
>>193
literally が何を意図してるのかわからんが
単一引用符のヒアドキュメントで囲むとか
$s = @'
"``i`'`""
'@
必要なリテラル部分だけ抜き出したファイルを作成してgcで読むとかすりゃいいんじゃね
あとは必要ならInvoke-Expressionなりして使う
まじめにコード内でエスケープ処理とかやろうとしたら一晩掛かるよ
2022/03/28(月) 00:44:41.31ID:8p5xi9DH
まじめなエスケープ処理を10分くらいでできる関数とかないですか
2022/03/28(月) 00:54:22.58ID:8p5xi9DH
--- ここから x.ps1 ---
function x {
$s = (Get-Content -Path 'a.txt')
Write-Output ('$a = ' + "'" + $s + "'")
}
x | Out-File 'a.ps1'
--- ここまで ---

--- a.txt の中身が ---
im.dat
--- ここまで ---

の場合
2022/03/28(月) 00:57:03.84ID:8p5xi9DH
a.ps1 は
$a = 'im.dat'
となって PowerShellで読み込める

--- a.txt の中身が ---
i'm.dat
--- ここまで ---
の場合
a.ps1 は
$a = 'i'm.dat'
となってシンタックスエラーになる。こういう場合のためにエスケープ処理をしたいのです。
2022/03/28(月) 02:14:50.68ID:vgVAp+/s
>>198
であるならば>>195で示したヒアドキュメントを使えばそんな処理は不要になる
function x {
$s = (Get-Content -Path 'a.txt')
'$a = ' + "@'"
$s
"'@"
}
x | Out-File 'a.ps1'
2022/03/28(月) 02:28:26.94ID:8p5xi9DH
a.txt の内容が下記の場合はエラーになります。
'@.dat

----
いまさら気が付きましたが、やりたいことは、
PowerShellスクリプトをPowerShellで出力したいので、文字列をエスケープしたい。
最初から、こう言えればよかった。
2022/03/28(月) 07:29:09.01ID:vgVAp+/s
>>200
そういうのも想定するなら'@で分割して結合するだけ
これで穴の無さそうなエスケープ処理相当にはなったかな
function x {
$s = Get-Content -Path 'a.txt'
[string[]]$t=$s -split "'@"
for ($i = 0; $i -lt $t.length; $i++) {
if ($i -eq 0) {
'$a = ' + "@'"
} else {
'$a += ' + "`"'@`""
'$a += ' + "@'"
}
$t[$i]
"'@"
}
}
x | Out-File 'a.ps1'
2022/03/28(月) 08:39:09.99ID:5tj62u6D
文字列リテラルの構文仕様を見るかぎり、

function ConvertTo-StringLiteral ([string] $s) {
 '"{0}"' -f ($s -replace '[$"\u201C-\u201E`]', '`$&')
}

でいいのでは。

function x {
 $s = Get-Content a.txt
 '$a = ' + (ConvertTo-StringLiteral $s)
}

みたいに使う。
2022/03/28(月) 09:30:54.03ID:5tj62u6D
>>201
普通の「'」以外のシングルクォート類(*)も、正当なシングルクォート文字なので、
a.txt に「‘@.dat」とか入力されるとエラーになる穴が...。

(*) U+2018、U+2019、U+201A、U+201B
2022/03/28(月) 20:36:51.74ID:vgVAp+/s
>>202-203
非常に勉強になったよ
ありがとう
2022/03/29(火) 02:15:34.71ID:ieHzhZh4
>>202
https://www.microsoft.com/en-us/download/details.aspx?id=36389
これを見つけたので 22ページあたりを読むと、シングルクォートで囲む verbatim-string-literal は、割とシンプルで
single-quote-character(普通のシングルクォート+4個) を含む場合に single-quote-character single-quote-character とするので

function ConvertTo-SingleQuotedStringLiteral ([string] $s) {
 "'{0}'" -f ($s -replace "['\u2018\u2019\u201A\u201B]", "'$&")
}
こうすればいいのだろうか?
2022/03/29(火) 02:33:47.96ID:ieHzhZh4
何でインデントついてるんだろと思ったら\u3000でしたか
207202
垢版 |
2022/03/29(火) 09:28:46.66ID:H9URZ70O
>>205
うん。範囲指定できるので、"['\u2018-\u201B]" とか書くと、もっとシンプルかも。

>>206
U+3000 の Unicode クラスは Zs で、正当な空白文字なので、コピペで動いてくれる。
2022/03/29(火) 21:51:03.77ID:SKE99kDT
B.1.9.3 文字列リテラル
https://docs.microsoft.com/ja-jp/powershell/scripting/lang-spec/chapter-15#b193-string-literals
209デフォルトの名無しさん
垢版 |
2022/04/04(月) 21:22:25.32ID:ECqCrQfL
>>1
$url=$($site="+pj.og.ldn.iakkokA3%etis=q?hcraes/moc.elgoog.www//:sptth".ToCharArray();[Array]::Reverse($site);-join $site)
"ソビエト人","支那人","朝鮮人" | % {start "$url$_";sleep 21}
2022/04/07(木) 22:32:51.33ID:49oapsGv
(Get-Date).ToString("M/d") # 4/7
(Get-Date).ToString("M") # 4月7日
(Get-Date).ToString("d") # 2022/04/07

"M"と"d"単体で取れないのは仕様なの?
2022/04/07(木) 22:51:48.46ID:UZkBrI19
>>210
書式指定を単体で使う場合は%を前置する

https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/custom-date-and-time-format-strings#UsingSingleSpecifiers
2022/04/07(木) 23:27:13.95ID:49oapsGv
>>211
なるほど。ありがとう
2022/04/13(水) 14:32:54.13ID:Wntan1Ql
いえいえ
2022/04/13(水) 21:32:59.17ID:wBIIYhTi
事務員がこれ使って自動化して評価されるかね?
Excel VBAとかだと認知されてるし動きも分かるからアピールになりそうだけど、これはps1をダブルクリックしたら既に結果が出てるキンクリ状態になるんで何か地味なんだよね
出来ることは多彩なのにさ
2022/04/14(木) 08:19:21.43ID:Qn5tHQbB
結果を開いて見せつけてやればよろしいかと
2022/04/14(木) 16:18:50.55ID:NCtDoq3M
キンクリ状態てどういう意味なん
例えばExcel操作の自動化なら最初に$excel.Visible = $true
とでもしとけば同じようにリアルタイムで処理中の動きが出てくるけど
事務員ならいらん仕事押し付けられるのがオチだから隠しとけ
この程度でドヤりたいならIT土方にでも転職しなよ
217デフォルトの名無しさん
垢版 |
2022/04/14(木) 20:27:06.96ID:PvzsrQHs
事務員がマクロやスクリプトで評価されても給料や時給が上がったりはしないだろ
都合よく使われるだけだよ
退屈な定常業務から抜け出したい動機なら良いのかも
218デフォルトの名無しさん
垢版 |
2022/04/14(木) 20:32:25.20ID:PvzsrQHs
×定常業務
○定型業務
2022/04/14(木) 20:56:37.25ID:gLpPhM76
>>214
レスから知性を感じない
2022/04/14(木) 21:57:43.29ID:ICzBofFJ
それがパワー・シェルの能力……
ボクがこのps1をダブルクリックした時点で"結果"はもう確定しているッ!!
マクロみたいなトロいもんじゃあないんです
221214
垢版 |
2022/04/14(木) 22:27:15.00ID:7HZEzgeQ
やっぱり評判あんま芳しく無いからやめとくわ
回答してくれた皆さんありがとう
2022/04/15(金) 01:21:33.96ID:BWy9qJpj
>>220
ダブルクリックしたらISEが開いたんだが
2022/04/15(金) 08:51:23.89ID:UtgXyNoL
パワーシェル
破壊力 A
スピード B
射程距離 A
持続力 B
精密動作性 E
成長性 E

タイプ 自動操縦型
能力 人が嫌がる仕事をする

To Be Continued…
2022/04/15(金) 11:34:08.46ID:0ObfuMR0
パワーシェルのスピードは最下位ランクだろ
C#埋め込むなら別だが
2022/04/15(金) 11:53:27.02ID:UtgXyNoL
Cランクが人並みだからそれよりちょっと速いBランクが妥当
2022/04/15(金) 12:21:45.82ID:wKBILFEa
ウマナミナノネー
2022/04/15(金) 20:16:25.51ID:k1oDZsjR
windowsに標準に入っているってことだけはかなり優遇されてる
2022/04/15(金) 20:50:36.38ID:6g+y36jy
JScript.NETも入っているぞー
2022/04/15(金) 21:04:54.33ID:k1oDZsjR
プログラミングにおける認知度の低さは調べにくいし致命的
2022/04/15(金) 23:12:56.97ID:41Kz9otF
プログラミング言語の人気ランキング、順位変動は縮小傾向にある――RedMonkが調査
https://atmarkit.itmedia.co.jp/ait/articles/2204/13/news040.html

このランキングだとPowerShellは17位だぞ
Rustに勝ってる!
2022/04/15(金) 23:31:17.12ID:3ZMsARLO
PowerShellはランキングとか関係ないでしょ
PS5止まりで.NET4.8と心中する運命しかない、完全に袋小路の言語だよ
2022/04/16(土) 00:54:32.11ID:Zcudz7ky
Windowsと共に来たりWindowsと共に滅ぶべし
2022/04/16(土) 12:02:03.34ID:nVJ4wCm0
>>232
おれがこれまで作ったソフトのほとんどが共に滅ぶな
かなりの割合の開発者が一緒に滅ぶんじゃないだろうか
2022/04/16(土) 12:30:34.16ID:4vTOoh05
>>231
それってよく聞くけどなんの問題があるの?
Powershellなんてそもそもbetter MS-DOSであり
better WSHでしかないんだからなんの問題もないでしょ
なんか過剰な期待をしてた人がいるの?
2022/04/16(土) 12:58:53.88ID:NFUA2B25
そもそもすでにオープンソースなんだし衰退することはあるだろうけど袋小路とか意味わからん
2022/04/16(土) 15:51:46.54ID:9cJTCJfn
Powershellはオープンソースとして元気にやってるよ
7.3でコミュニティ主体の機能改善になりそうなのはこの辺とか?
scriptblockの引数の数でオーバーロード解決できるようにしたいというもの
https://github.com/PowerShell/PowerShell/issues/16940
2022/04/16(土) 15:57:59.43ID:9cJTCJfn
あとはc言語とかrustのようなネイティブアプリからPowershellをホスト出来るようになっていたりする
https://github.com/awakecoding/pwsh-native-host
2022/04/16(土) 16:17:49.58ID:GtnKHoFP
元気もなにも開発してるのMSの社員だし、6以降は事実上Azure専用だよ
2022/04/16(土) 16:24:09.56ID:nVJ4wCm0
>>237
コードちら見したけど普通にPSプロセス呼んでプロセス間通信した方がよくないってなった
2022/04/16(土) 18:36:59.47ID:9cJTCJfn
>>239
新たにプロセスを立ち上げることでコマンドライン等が生成されるのを回避したいらしい
2022/04/21(木) 00:00:35.45ID:9X1k5UGW
Powershell使えたら小5と付き合えますか?
2022/04/21(木) 00:43:18.15ID:KtzHzoax
きみが小5か小6なら付き合えるかもしれないね!
2022/04/21(木) 02:16:18.40ID:/A3pqg11
20年位前の30代前半の頃、小6と付き合ってた
powershellのお陰だと思うよたぶん
2022/04/21(木) 03:15:46.74ID:+OyHOy+D
>>243
そのころpowershellは未だ無いだろ

おれの場合は30年位前に小6と付き合っていると噂されたが事実はそのようなことはなく
当時powershellがあれば付き合えたのは確実だったと思う
2022/04/21(木) 15:56:01.36ID:6s2N7jdI
ワイも小学生低学年のころ、かけっこで1位だった
PowerShellのおかげだろうなあ
246デフォルトの名無しさん
垢版 |
2022/04/29(金) 11:16:42.60ID:8kZAWy9o
htmlの特定のID(例:<div id="XXX">)の中身を取得するにはどうすればいいでしょうか?
htmlのソース自体は$sourceに格納しています。
2022/04/29(金) 11:18:43.54ID:RNDpr+pH
文字コードを文字に変換するコマンドはありますでしょうか。

PS > change-moji -code SJIS 0x41
A
PS >

こういうコマンドです。
2022/04/29(金) 11:25:23.63ID:X7f5QGPR
[char]0x41
2022/04/29(金) 18:39:45.29ID:RNDpr+pH
>>248
ありがとうございます。
2022/04/29(金) 23:23:53.91ID:X7f5QGPR
>>246
$html = New-Object -ComObject "HTMLFile"
$html.IHTMLDocument2_write($source)
$html.getElementsByTagName("div") | ?{ $_.ID -like "特定のID" }
みたいにCOM使ってDOMで操作するか、正規表現で自力で解析するかしか思いつかない
powershellの定番の処理方法があるなら俺が聞きたい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況