前スレ
PowerShell -Part 5
https://mevius.5ch.net/test/read.cgi/tech/1615994992/
次スレは>>980が立ててね!!
探検
PowerShell -Part 6
■ このスレッドは過去ログ倉庫に格納されています
2022/02/13(日) 18:36:12.07ID:LaQ04ZoE
237デフォルトの名無しさん
2022/04/16(土) 15:57:59.43ID:9cJTCJfn あとはc言語とかrustのようなネイティブアプリからPowershellをホスト出来るようになっていたりする
https://github.com/awakecoding/pwsh-native-host
https://github.com/awakecoding/pwsh-native-host
238デフォルトの名無しさん
2022/04/16(土) 16:17:49.58ID:GtnKHoFP 元気もなにも開発してるのMSの社員だし、6以降は事実上Azure専用だよ
239デフォルトの名無しさん
2022/04/16(土) 16:24:09.56ID:nVJ4wCm0 >>237
コードちら見したけど普通にPSプロセス呼んでプロセス間通信した方がよくないってなった
コードちら見したけど普通にPSプロセス呼んでプロセス間通信した方がよくないってなった
240デフォルトの名無しさん
2022/04/16(土) 18:36:59.47ID:9cJTCJfn >>239
新たにプロセスを立ち上げることでコマンドライン等が生成されるのを回避したいらしい
新たにプロセスを立ち上げることでコマンドライン等が生成されるのを回避したいらしい
241デフォルトの名無しさん
2022/04/21(木) 00:00:35.45ID:9X1k5UGW Powershell使えたら小5と付き合えますか?
242デフォルトの名無しさん
2022/04/21(木) 00:43:18.15ID:KtzHzoax きみが小5か小6なら付き合えるかもしれないね!
243デフォルトの名無しさん
2022/04/21(木) 02:16:18.40ID:/A3pqg11 20年位前の30代前半の頃、小6と付き合ってた
powershellのお陰だと思うよたぶん
powershellのお陰だと思うよたぶん
244デフォルトの名無しさん
2022/04/21(木) 03:15:46.74ID:+OyHOy+D >>243
そのころpowershellは未だ無いだろ
おれの場合は30年位前に小6と付き合っていると噂されたが事実はそのようなことはなく
当時powershellがあれば付き合えたのは確実だったと思う
そのころpowershellは未だ無いだろ
おれの場合は30年位前に小6と付き合っていると噂されたが事実はそのようなことはなく
当時powershellがあれば付き合えたのは確実だったと思う
245デフォルトの名無しさん
2022/04/21(木) 15:56:01.36ID:6s2N7jdI ワイも小学生低学年のころ、かけっこで1位だった
PowerShellのおかげだろうなあ
PowerShellのおかげだろうなあ
246デフォルトの名無しさん
2022/04/29(金) 11:16:42.60ID:8kZAWy9o htmlの特定のID(例:<div id="XXX">)の中身を取得するにはどうすればいいでしょうか?
htmlのソース自体は$sourceに格納しています。
htmlのソース自体は$sourceに格納しています。
247デフォルトの名無しさん
2022/04/29(金) 11:18:43.54ID:RNDpr+pH 文字コードを文字に変換するコマンドはありますでしょうか。
PS > change-moji -code SJIS 0x41
A
PS >
こういうコマンドです。
PS > change-moji -code SJIS 0x41
A
PS >
こういうコマンドです。
248デフォルトの名無しさん
2022/04/29(金) 11:25:23.63ID:X7f5QGPR [char]0x41
249デフォルトの名無しさん
2022/04/29(金) 18:39:45.29ID:RNDpr+pH >>248
ありがとうございます。
ありがとうございます。
250デフォルトの名無しさん
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の定番の処理方法があるなら俺が聞きたい
$html = New-Object -ComObject "HTMLFile"
$html.IHTMLDocument2_write($source)
$html.getElementsByTagName("div") | ?{ $_.ID -like "特定のID" }
みたいにCOM使ってDOMで操作するか、正規表現で自力で解析するかしか思いつかない
powershellの定番の処理方法があるなら俺が聞きたい
251デフォルトの名無しさん
2022/04/30(土) 02:08:01.29ID:TTQ8Rhtz Ruby なら、Nokogiri, CSS Selector で、
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<div>あ</div>
<div id="xyz">い</div>
EOT
element = doc.at_css( '#xyz' )
puts element.content #=> い
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<div>あ</div>
<div id="xyz">い</div>
EOT
element = doc.at_css( '#xyz' )
puts element.content #=> い
252デフォルトの名無しさん
2022/04/30(土) 02:45:41.62ID:PTNoCeDZ getElementsByTagName 使うなら getElementById でいいんじゃない
253デフォルトの名無しさん
2022/04/30(土) 13:04:46.37ID:9f5J4pIa Windows11は、結構Powershellが主役の位置に躍り出てきて、コマンドプロンプトの影が薄くなってる。
254デフォルトの名無しさん
2022/04/30(土) 15:40:15.85ID:6Xk9b1VA255デフォルトの名無しさん
2022/04/30(土) 23:17:02.29ID:/67qPyiA xml形式ならselect-xmlというコマンドレットがあるんだけどね
256デフォルトの名無しさん
2022/05/01(日) 07:07:03.47ID:Rd1MW222 Invoke-WebRequest でパースできるんだから Web からだけじゃなく html を格納した変数とかもソースにできればいいのにね
257デフォルトの名無しさん
2022/05/01(日) 22:31:03.32ID:bsI6eYYg COMのやつってIEのパーサなんだよね
くやしいけどこの辺を高度にやりたいならスクレイピングに定評のあるスクリプトでやった方がいいと思う
くやしいけどこの辺を高度にやりたいならスクレイピングに定評のあるスクリプトでやった方がいいと思う
258デフォルトの名無しさん
2022/05/02(月) 03:17:08.47ID:GCJ++Ydj259デフォルトの名無しさん
2022/05/07(土) 22:39:06.01ID:A4G1I3Hd $idContents = $html.getElementById($idName).innerHTML
でinnerHTMLを取得して、$idContentsに格納してある「src」の値(src="https://〜〜.jpg)はどうやって取得するのでしょうか?
でinnerHTMLを取得して、$idContentsに格納してある「src」の値(src="https://〜〜.jpg)はどうやって取得するのでしょうか?
260デフォルトの名無しさん
2022/05/07(土) 23:18:18.03ID:aihC1Ap7 innerHTMLは使わない
getAttribute("src")を使う
getAttribute("src")を使う
261デフォルトの名無しさん
2022/05/08(日) 11:03:41.82ID:KUDJnBX7 $idContents = $html.getElementById($idName).getAttribute("src")
で試したのですが、$idContentsの中身は何もない状態です。
試しに、$idContents = $html.getElementById($idName)だけで実行すると、
$idContentsの中身に
innerHTML : <IMG id=img src="https://〜〜jpg/keystamp=〜〜;></A>
はあります。
で試したのですが、$idContentsの中身は何もない状態です。
試しに、$idContents = $html.getElementById($idName)だけで実行すると、
$idContentsの中身に
innerHTML : <IMG id=img src="https://〜〜jpg/keystamp=〜〜;></A>
はあります。
262デフォルトの名無しさん
2022/05/08(日) 12:11:23.98ID:q3KU1av3 $idNameは'img'なのか?
263デフォルトの名無しさん
2022/05/08(日) 12:17:10.62ID:KUDJnBX7 $idNameは'img'ではなく、'kr3'になります。
264デフォルトの名無しさん
2022/05/08(日) 12:25:56.66ID:q3KU1av3 だから取得したいのは、id=imgのIMGタグにあるsrc属性値じゃないのか?
$idNameを'img'にしろよ
$idNameを'img'にしろよ
265デフォルトの名無しさん
2022/05/08(日) 12:30:38.21ID:vSiZdN2k ID:KUDJnBX7はバカなんだろうね
266デフォルトの名無しさん
2022/05/08(日) 12:47:35.64ID:KUDJnBX7 >>264
なるほどです。ありがとうございました。
なるほどです。ありがとうございました。
267デフォルトの名無しさん
2022/05/09(月) 13:37:41.35ID:Plp0Diry 特定のフォルダの中にファイルが10個以上あったらタイムスタンプが一番古いファイルを削除する処理をPowerShellでどう書くかどなたか教えろください。。
スクリプトはタスクスケジューラで日次で走らせるイメージです。
スクリプトはタスクスケジューラで日次で走らせるイメージです。
268デフォルトの名無しさん
2022/05/09(月) 13:54:29.50ID:7AqNU3U0 一番古い一個だけを削除?それとも9個残して削除?
269デフォルトの名無しさん
2022/05/09(月) 14:11:58.68ID:I+mG682T270デフォルトの名無しさん
2022/05/09(月) 16:57:08.12ID:Plp0Diry >>268
一番古い一個だけを削除か、最新の9個を残してそれ以外を削除、の簡単な方でお願いしたいです。
一番古い一個だけを削除か、最新の9個を残してそれ以外を削除、の簡単な方でお願いしたいです。
271デフォルトの名無しさん
2022/05/09(月) 17:37:09.13ID:7AqNU3U0 >>270
269の30を9に変更するのが簡単だと思います
一番古い一個だけを消すのは Select-Object -Skip 9 | Select-Object -Last と二回もSelect-Object するのでとても難易度が高いです
269の30を9に変更するのが簡単だと思います
一番古い一個だけを消すのは Select-Object -Skip 9 | Select-Object -Last と二回もSelect-Object するのでとても難易度が高いです
272デフォルトの名無しさん
2022/05/09(月) 22:37:25.90ID:lywqA2G/ その質問バッチファイルスレで見たぞ
powershellの回答も貼ってある
powershellの回答も貼ってある
273デフォルトの名無しさん
2022/05/10(火) 00:05:58.23ID:aI8FHZ+3 【.cmd】 バッチファイルスクリプト %14 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1597442426/757-764
漏れが763 に、Ruby で書いた。
これをPower Shell(PS)用に書き直せばよい
764には誰かが、PSで書いている
https://mevius.5ch.net/test/read.cgi/tech/1597442426/757-764
漏れが763 に、Ruby で書いた。
これをPower Shell(PS)用に書き直せばよい
764には誰かが、PSで書いている
274デフォルトの名無しさん
2022/05/10(火) 01:07:57.29ID:0qiVBd6f Multicsだったのか
275デフォルトの名無しさん
2022/05/10(火) 23:04:11.60ID:gcxSlYEt フリーランスエンジニアになってからの年収推移を公開【現在年収1000万】
【実体験】仕事ができない新卒エンジニアでも月収70万フリーランスになれる理由
フリーランスエンジニアは年収900万円までは余裕!現役フリーランスエンジニアが徹底解説
フリーエンジニアの平均年収!未経験が年収1000万円を超える方法とは?
月額150万円以上も可能?ITフリーランスで高単価を獲得できる理由
在宅で年収1000万稼ぐフリーランスエンジニアの稼ぎ方【再現できる】
フリーランスのエンジニアやるなら45歳までに貯金5000万円作れないと死ぬ説
【実体験】仕事ができない新卒エンジニアでも月収70万フリーランスになれる理由
フリーランスエンジニアは年収900万円までは余裕!現役フリーランスエンジニアが徹底解説
フリーエンジニアの平均年収!未経験が年収1000万円を超える方法とは?
月額150万円以上も可能?ITフリーランスで高単価を獲得できる理由
在宅で年収1000万稼ぐフリーランスエンジニアの稼ぎ方【再現できる】
フリーランスのエンジニアやるなら45歳までに貯金5000万円作れないと死ぬ説
276デフォルトの名無しさん
2022/05/12(木) 17:12:26.22ID:QXSbgRzq フォルダA内にファイルを1つずつ個別に圧縮した上でフォルダBにそれぞれ出力するPowerShellってどう書けば良きでしょうか。
以下スクリプトを書いてみましたが、これだと1つずつの圧縮はできないようで。。。
//フォルダA内のファイル名(拡張子なし)を取得
$src = Get-ChildItem -Name C:\folderA
$file = [System.IO.Path]::GetFileNameWithoutExtension("$src")
//ファイル圧縮とフォルダ移動
Compress-Archive -Path C:\folderA\*.* -DestinationPath C:\folderB\$file
以下スクリプトを書いてみましたが、これだと1つずつの圧縮はできないようで。。。
//フォルダA内のファイル名(拡張子なし)を取得
$src = Get-ChildItem -Name C:\folderA
$file = [System.IO.Path]::GetFileNameWithoutExtension("$src")
//ファイル圧縮とフォルダ移動
Compress-Archive -Path C:\folderA\*.* -DestinationPath C:\folderB\$file
277デフォルトの名無しさん
2022/05/12(木) 18:00:29.84ID:J4rOXsT5 if やらforやらはBASICからやり直せ
278デフォルトの名無しさん
2022/05/12(木) 18:08:53.97ID:3e5cbbRq >>276
以下のサンプルみたいにForeach-objectとか使ってCompress-Archiveをファイル毎に実行すればいい
$SrcPath = "C:\folderA\*.*"
$DstPath = "C:\folderB\"
Get-ChildItem $SrcPath|
ForEach-Object {$DstFile = Join-Path $DstPath ($_.Name -replace '^(.+)\..+$','$1');$_}|
ForEach-Object {Compress-Archive -LiteralPath $_.FullName -DestinationPath $DstFile}
以下のサンプルみたいにForeach-objectとか使ってCompress-Archiveをファイル毎に実行すればいい
$SrcPath = "C:\folderA\*.*"
$DstPath = "C:\folderB\"
Get-ChildItem $SrcPath|
ForEach-Object {$DstFile = Join-Path $DstPath ($_.Name -replace '^(.+)\..+$','$1');$_}|
ForEach-Object {Compress-Archive -LiteralPath $_.FullName -DestinationPath $DstFile}
279デフォルトの名無しさん
2022/05/12(木) 18:27:26.96ID:ZUpAZ75N PowerShellで複数アイテムに同じ処理をする場合は、アイテムをリストアップした出力をパイプでForEach-Objectに渡して
ForEach-Object の中で、一個ずつ($_ という変数で参照できる)処理するのが定番と思うの。
get-childitem | foreach-object { write-output $_.fullname $_.name }
とりあえず、これをやってみると感じが分かると思うの。
ForEach-Object の中で、一個ずつ($_ という変数で参照できる)処理するのが定番と思うの。
get-childitem | foreach-object { write-output $_.fullname $_.name }
とりあえず、これをやってみると感じが分かると思うの。
280デフォルトの名無しさん
2022/05/12(木) 20:27:03.08ID:QXSbgRzq281デフォルトの名無しさん
2022/05/12(木) 22:15:13.98ID:3P57KS6y 何だその言い方
お前周りから嫌われてると思うぞ
お前周りから嫌われてると思うぞ
282デフォルトの名無しさん
2022/05/12(木) 23:17:43.20ID:TAn4nFm7 ここは労働の場じゃないからな
金のやり取りを伴ってる仕事とは違うのになんでお客様気分丸出しでいられるんだよ
金のやり取りを伴ってる仕事とは違うのになんでお客様気分丸出しでいられるんだよ
283デフォルトの名無しさん
2022/05/12(木) 23:26:53.76ID:C4APGYH2 誰かが持ち上げてくれるからじゃないの
284デフォルトの名無しさん
2022/05/12(木) 23:56:30.38ID:z9H8Cfuc >>280
Compress-Archive の使い方(パラメーターの指定方法)は分かってますか?
ファイル一個だけで試してみましたか?
それを調べてから
Get-ChildItem -path "C:\folderA" -File | ForEach-Object {
Compress-Archive -LiteralPath $_.FullName -DestinationPath ("C:\folderB\" + $_.Name + ".zip")
}
これの意味を考えてみてください。
Compress-Archive の使い方(パラメーターの指定方法)は分かってますか?
ファイル一個だけで試してみましたか?
それを調べてから
Get-ChildItem -path "C:\folderA" -File | ForEach-Object {
Compress-Archive -LiteralPath $_.FullName -DestinationPath ("C:\folderB\" + $_.Name + ".zip")
}
これの意味を考えてみてください。
285276
2022/05/13(金) 00:26:01.86ID:/s7ZcOSV 解決しました!ありがとうございます!
286デフォルトの名無しさん
2022/05/13(金) 03:41:22.40ID:tKRLPzFb Ruby で、7-zip なら、
a フォルダ以下を再帰的に圧縮して、a.zip アーカイブにする
圧縮
7z a (アーカイブ名) (圧縮したいフォルダ)
7z a sample.zip aaa_folder
archive = "C:/Users/Owner/Documents/test/a.zip"
src_dir = "C:/Users/Owner/Documents/test/a"
# Program Files には半角空白があるので、"〜" で囲む
puts %x("C:/Program Files/7-Zip/7z.exe" a #{ archive } #{ src_dir }) # 圧縮
a フォルダ以下を再帰的に圧縮して、a.zip アーカイブにする
圧縮
7z a (アーカイブ名) (圧縮したいフォルダ)
7z a sample.zip aaa_folder
archive = "C:/Users/Owner/Documents/test/a.zip"
src_dir = "C:/Users/Owner/Documents/test/a"
# Program Files には半角空白があるので、"〜" で囲む
puts %x("C:/Program Files/7-Zip/7z.exe" a #{ archive } #{ src_dir }) # 圧縮
287デフォルトの名無しさん
2022/05/13(金) 15:56:54.19ID:LpRC3aDE gciとかの-forceパラメータって必須だろうに
デフォでオフなのがなんだかな
デフォでオフなのがなんだかな
288デフォルトの名無しさん
2022/05/13(金) 19:23:39.98ID:Sc/EfT9l わざわざ隠し属性で隠してるのにディフォで表示しろとか頭おかしい
289デフォルトの名無しさん
2022/05/13(金) 22:56:09.66ID:uctr9r2r foreach中に最後の要素でないって判定どこかでできないですか
これができなくてforに書き直すはめになること何回もあるんですけど…
Foreach-Objectの場合もあったらお願いします
これができなくてforに書き直すはめになること何回もあるんですけど…
Foreach-Objectの場合もあったらお願いします
290デフォルトの名無しさん
2022/05/13(金) 23:28:29.60ID:dqCr6D+p 原理的に無理だろ...
291デフォルトの名無しさん
2022/05/14(土) 00:16:48.73ID:5a0Y4MKv 最後の要素でないってどういう目的で知りたいの?
本当に知りたいときもあるけど慣れてない人が書きがちなコードでもあるので気になった
カンマ区切りにするために最後ならカンマを付けない分岐を書くとかそういうの
本当に知りたいときもあるけど慣れてない人が書きがちなコードでもあるので気になった
カンマ区切りにするために最後ならカンマを付けない分岐を書くとかそういうの
292デフォルトの名無しさん
2022/05/14(土) 00:17:48.74ID:hb3+ANgg カウンタを用意してforeach対象のコンテナのlengthと都度比較する
これがモダンプログラミング()
これがモダンプログラミング()
293デフォルトの名無しさん
2022/05/14(土) 00:27:25.14ID:hb3+ANgg >>291
次の処理の前準備を現在の要素も使ってやってて最後だけ不要なとき
$i = 0
foreach ($item in $list) {
# $itemの処理
#
if (++$i -lt $list.length) {
# 前準備
}
}
これなら普通にforのが見やすい
次の処理の前準備を現在の要素も使ってやってて最後だけ不要なとき
$i = 0
foreach ($item in $list) {
# $itemの処理
#
if (++$i -lt $list.length) {
# 前準備
}
}
これなら普通にforのが見やすい
294デフォルトの名無しさん
2022/05/14(土) 05:45:14.69ID:NJOQ17Ts そういう最後だけ処理が違うってのは同じように処理しといて後から取り除く方が良くね?
二度手間で美しく無いように思えるけれどそれよりも
一々「最後かどうか」の判別に毎回if挿む方がバカらしく感じる
二度手間で美しく無いように思えるけれどそれよりも
一々「最後かどうか」の判別に毎回if挿む方がバカらしく感じる
295デフォルトの名無しさん
2022/05/14(土) 05:57:00.05ID:0bRjAEIy 前準備ってなにさ
296デフォルトの名無しさん
2022/05/14(土) 06:07:55.24ID:Wt4JCGPH297デフォルトの名無しさん
2022/05/14(土) 08:23:02.72ID:m7B1u9M5 カンマ区切りしたいだけなら $list -join ',' で十分だな
298デフォルトの名無しさん
2022/05/14(土) 09:47:46.73ID:R8RMhLQi そう、joinで済むんだよね
慣れてない人はフラグや分岐で処理しがち
だからまずは具体的にどんな処理をしようとしてるのか聞きたかったんだ
慣れてない人はフラグや分岐で処理しがち
だからまずは具体的にどんな処理をしようとしてるのか聞きたかったんだ
299デフォルトの名無しさん
2022/05/14(土) 10:32:45.51ID:kcOGS6gO カンマの話は>>291が勝手に言ってるだけなのにjoinですむとかあたおかかよw
300デフォルトの名無しさん
2022/05/14(土) 11:19:53.60ID:0bRjAEIy いや分からないから聞いてるのよ
301デフォルトの名無しさん
2022/05/14(土) 11:23:04.66ID:etUAy71A ID変わってるけど291=298な
判定する必要のない例としてカンマ区切りを挙げて、だから具体的な例を教えてくれと書いたのに、カンマ区切りのうまいやり方をレクチャーしてくれる人が出てきたから説明しただけよ
判定する必要のない例としてカンマ区切りを挙げて、だから具体的な例を教えてくれと書いたのに、カンマ区切りのうまいやり方をレクチャーしてくれる人が出てきたから説明しただけよ
302デフォルトの名無しさん
2022/05/14(土) 12:41:49.36ID:HwJxcgzF303デフォルトの名無しさん
2022/05/14(土) 13:05:47.91ID:Ws3jUYfQ 具体的な処理が分からんとどうしようもないだろ
準備じゃなくて、準備のための情報の保存にすることならできるんじゃないか
#itemの準備
#itemの処理
#次のitemの準備のための設定
として実際の準備は次のループの先頭で行うようにする
準備じゃなくて、準備のための情報の保存にすることならできるんじゃないか
#itemの準備
#itemの処理
#次のitemの準備のための設定
として実際の準備は次のループの先頭で行うようにする
304デフォルトの名無しさん
2022/05/14(土) 13:37:46.90ID:hb3+ANgg はあ…やっぱり論点ズラしで無いことを正当化する流れになったかw
無いなら無いでいいよ
無いなら無いでいいよ
305デフォルトの名無しさん
2022/05/14(土) 13:39:58.87ID:HwJxcgzF >>289
最初、最後、何番目などには別処理をする場合は、foreachは向いてないというか
もともと for があって、何番目かを気にせず全部の要素に同じ処理をすることが多いので、そういう場合用に foreach があると思ってます
最初、最後、何番目などには別処理をする場合は、foreachは向いてないというか
もともと for があって、何番目かを気にせず全部の要素に同じ処理をすることが多いので、そういう場合用に foreach があると思ってます
306デフォルトの名無しさん
2022/05/14(土) 14:20:17.76ID:lDPvxjtF >>304
無いことを正当化してる書き込みは見当たらないけどどのレスのこと?
無いことを正当化してる書き込みは見当たらないけどどのレスのこと?
307デフォルトの名無しさん
2022/05/14(土) 15:09:44.46ID:Y4vxLItZ だからforeachでは原理的に無理
foreach($item in $items){ ... }
はざっくり
$e = $items.GetEnumerator();
while ($e.MoveNext()) {
$item = $e.Current;
...
}
みたいなコードになるから$e.MoveNext()を呼ぶまで最後かどうかはわからない
極端な話、乱数で最後にするかを決めるような実装されたらどうしようもない
foreach($item in $items){ ... }
はざっくり
$e = $items.GetEnumerator();
while ($e.MoveNext()) {
$item = $e.Current;
...
}
みたいなコードになるから$e.MoveNext()を呼ぶまで最後かどうかはわからない
極端な話、乱数で最後にするかを決めるような実装されたらどうしようもない
308デフォルトの名無しさん
2022/05/14(土) 16:18:41.32ID:YaxyXfsS 最後の要素って$list[-1]でいいんじゃないの?
if($item -ne $list[-1]){前処理}でいけると思うけど
if($item -ne $list[-1]){前処理}でいけると思うけど
309デフォルトの名無しさん
2022/05/14(土) 18:19:29.97ID:POYL5zWo <section id="image-test">
<a href="https://www~BBB.jpg">
<img src = "https://www~AAA.jpg">
</a>
</section>
があって、AAAとBBBのURLをそれぞれ変数にかくのうしたいのですが、これであってます?
$AAA = $web_source_code.getElementById("image-test").getAttribute("src")
$BBB = $web_source_code.getElementById("image-test").getAttribute("href")
<a href="https://www~BBB.jpg">
<img src = "https://www~AAA.jpg">
</a>
</section>
があって、AAAとBBBのURLをそれぞれ変数にかくのうしたいのですが、これであってます?
$AAA = $web_source_code.getElementById("image-test").getAttribute("src")
$BBB = $web_source_code.getElementById("image-test").getAttribute("href")
310デフォルトの名無しさん
2022/05/14(土) 18:55:56.30ID:QtW6yb+i 合ってないよ
section要素にはsrcもhrefもないんだから取れない
子や孫の要素からイイ感じで取ってきてくれるような期待をしてるんだろうけど、内側がどんな構造でいくつのimg要素とかがあるのかわかんないんだから、そんなのでイイ感じに取られる曖昧な挙動は逆に困る
要素をid指定で取ったあと.ChildNodesで自分で辿ったりする必要がある
querySelectorが使えれば楽なんだけどね
何度も似たような質問を繰り返すよりもまずHTML DOMの基礎を多少でも勉強しないとずっとハマるだけだし応用もできないよ
section要素にはsrcもhrefもないんだから取れない
子や孫の要素からイイ感じで取ってきてくれるような期待をしてるんだろうけど、内側がどんな構造でいくつのimg要素とかがあるのかわかんないんだから、そんなのでイイ感じに取られる曖昧な挙動は逆に困る
要素をid指定で取ったあと.ChildNodesで自分で辿ったりする必要がある
querySelectorが使えれば楽なんだけどね
何度も似たような質問を繰り返すよりもまずHTML DOMの基礎を多少でも勉強しないとずっとハマるだけだし応用もできないよ
311デフォルトの名無しさん
2022/05/14(土) 19:43:46.46ID:POYL5zWo ありがとうございます。HTML DOMを勉強してみます。
312デフォルトの名無しさん
2022/05/17(火) 11:55:50.17ID:w1KKtOUX PowerShellである処理について、変数の値だけ変えてそれぞれに同じ処理を実行したい場合、以下のように変数の値の数だけ実処理を複数段書けば実行できました。
ただ、これだとスマートではないと思いますので、ループ処理?のような形で最初に全変数を定義する等して、実際の処理自体は1か所だけにしたいのですが、どなたか書き方教えろください。。
------------
$変数a1 = 1-a
$変数b1 = 1-b
~~処理~~
------------
$変数a2 = 2-a
$変数b2 = 2-b
~~処理~~
------------
$変数a3 = 3-a
$変数b3 = 3-b
~~処理~~
------------
ただ、これだとスマートではないと思いますので、ループ処理?のような形で最初に全変数を定義する等して、実際の処理自体は1か所だけにしたいのですが、どなたか書き方教えろください。。
------------
$変数a1 = 1-a
$変数b1 = 1-b
~~処理~~
------------
$変数a2 = 2-a
$変数b2 = 2-b
~~処理~~
------------
$変数a3 = 3-a
$変数b3 = 3-b
~~処理~~
------------
313デフォルトの名無しさん
2022/05/17(火) 15:36:54.01ID:VMMgADOG コンテナでググれ
314デフォルトの名無しさん
2022/05/17(火) 19:17:50.09ID:ZA1GChKV ググれとか言う奴はスレから出ていけ
315デフォルトの名無しさん
2022/05/17(火) 20:03:10.54ID:xbjGOtM1316デフォルトの名無しさん
2022/05/18(水) 03:24:17.13ID:CLYU5EG2 こんな初歩の初心者にpowershellの配列は難しい気がする
別の規格がちゃんとしてる言語を1つでも履修して出直してもらいたいな
プロの俺でもフィルタ関連とか関数から返した場合とかでしょっちゅう間違えるんで…
別の規格がちゃんとしてる言語を1つでも履修して出直してもらいたいな
プロの俺でもフィルタ関連とか関数から返した場合とかでしょっちゅう間違えるんで…
317デフォルトの名無しさん
2022/05/18(水) 09:11:28.21ID:b9KxG2vQ ベテランでも諳んじて一発正解するのは難しいかったりするけど、シェルなんだから試行錯誤で構造化プログラミングの感覚を摑めばいいと思うよ
固定長配列でハコとして使う分には落とし穴もそうないのでは
パイプは使うかもしれないし使わないかもしれない
せっかくの気付きなんだから試してみるチャンス
固定長配列でハコとして使う分には落とし穴もそうないのでは
パイプは使うかもしれないし使わないかもしれない
せっかくの気付きなんだから試してみるチャンス
318デフォルトの名無しさん
2022/05/18(水) 10:26:21.69ID:Q05gEBgM まずforeach文で作ってみればいい、そんな難しくはない
foreach-objectとかのコマンドレットにしたい、てのは次の段階にしてみよう
foreach-objectとかのコマンドレットにしたい、てのは次の段階にしてみよう
319デフォルトの名無しさん
2022/05/19(木) 01:52:14.72ID:r92G1leA .NETのジェネリックなコレクションを使う癖を付ければpsの変な仕様に振り回されないで済むかも
320デフォルトの名無しさん
2022/05/19(木) 10:22:09.77ID:hhrIPFsF そもそも配列やコレクションをループで回したりするのはPowerShell的な発想ではない
積極的にパイプを使うんだよ
それに馴染めないならもうインラインでC#書いたほうがいい
積極的にパイプを使うんだよ
それに馴染めないならもうインラインでC#書いたほうがいい
321デフォルトの名無しさん
2022/05/19(木) 11:54:46.82ID:AWcD8iuw 初学者がパイプの意味を理解するのはハードル高いと思う
コードが長くてもいいから自分のやりたいことをロジックにして組み立てる
それも出来ないうちからパイプでかくなんてさらに混乱するだけ
コマンドレットを見てすぐ処理を想像できるような慣れてる人ならいいと思うけどね
コードが長くてもいいから自分のやりたいことをロジックにして組み立てる
それも出来ないうちからパイプでかくなんてさらに混乱するだけ
コマンドレットを見てすぐ処理を想像できるような慣れてる人ならいいと思うけどね
322デフォルトの名無しさん
2022/05/19(木) 12:11:52.45ID:vDWzHeJO323デフォルトの名無しさん
2022/05/19(木) 12:19:41.05ID:HGJ493WX 初心者ですでにスクリプトも書いていてリファクタの相談なのに、パイプ使わないならC#でって…
原理主義なのか話を聞かない人なのか柔軟性が動脈硬化起こしてる人なのか
原理主義なのか話を聞かない人なのか柔軟性が動脈硬化起こしてる人なのか
324デフォルトの名無しさん
2022/05/19(木) 14:36:52.46ID:mIjloFOo パイプに拒絶反応してる奴らがわらわらとw
325デフォルトの名無しさん
2022/05/19(木) 15:37:07.78ID:i7u7qPJB PowerShellのパイプはクセあるからなあ
326デフォルトの名無しさん
2022/05/19(木) 15:57:51.90ID:K1O9Nfx2 だが、そこが良い
327デフォルトの名無しさん
2022/05/19(木) 16:21:27.92ID:vDWzHeJO ドトネトのコレクションはPS的には未知の参照型オブジェクトだから
PSのスコープの影響も受けないし、
配列みたいに勝手に構造を壊されたりもしないから積極的に使う事をお勧めしたい
PSのスコープの影響も受けないし、
配列みたいに勝手に構造を壊されたりもしないから積極的に使う事をお勧めしたい
328デフォルトの名無しさん
2022/05/19(木) 17:15:25.08ID:z1zzxM54329デフォルトの名無しさん
2022/05/19(木) 17:16:58.08ID:z1zzxM54 ID変わったけど323=328な
好きなものを無条件に全肯定しないと則敵認定ってまさに信者やん
好きなものを無条件に全肯定しないと則敵認定ってまさに信者やん
330デフォルトの名無しさん
2022/05/20(金) 15:12:12.74ID:rcI504Fo -pv/-ovで黒魔術できるのがpwshパイプの真骨頂、汚いけど…
パイプは一般にバッファ単位の目詰まりが難だけど、これは-obで自由に調節できる
-pv/-ov/-ovは共通パラメータだからいつでも使えるしpitfallsは大体これで解決できるからパイプ活用したいなら、最重要で覚えるべし
パイプは一般にバッファ単位の目詰まりが難だけど、これは-obで自由に調節できる
-pv/-ov/-ovは共通パラメータだからいつでも使えるしpitfallsは大体これで解決できるからパイプ活用したいなら、最重要で覚えるべし
331デフォルトの名無しさん
2022/05/20(金) 20:50:08.65ID:8qofalUL >>330
パイプで最重要で覚える事はさあ、パイプはめっちゃコストコが掛かる書き方だな!って理解することじゃないかなあ
1行ずつ読んでパイプに渡してたら日が暮れるし…ずっとパイプの中で暮らさないといけない程変な言語でもない…
あっこの処理、パイプで連携したら効率いいかも…なんてあんまないのでな
これがパイプの真骨頂!って例を見せてくれたら、まあ考えを改めてもいいが…君の発言は新しいもの好きの勇み足発言にしか見えなくて痛々しい…
パイプで最重要で覚える事はさあ、パイプはめっちゃコストコが掛かる書き方だな!って理解することじゃないかなあ
1行ずつ読んでパイプに渡してたら日が暮れるし…ずっとパイプの中で暮らさないといけない程変な言語でもない…
あっこの処理、パイプで連携したら効率いいかも…なんてあんまないのでな
これがパイプの真骨頂!って例を見せてくれたら、まあ考えを改めてもいいが…君の発言は新しいもの好きの勇み足発言にしか見えなくて痛々しい…
332デフォルトの名無しさん
2022/05/20(金) 20:56:56.50ID:zxJBX/+G PowetShell大好きパイプ大好き
可能な限りパイプを使うように努めてるよ
可能な限りパイプを使うように努めてるよ
333デフォルトの名無しさん
2022/05/20(金) 20:58:03.25ID:zxJBX/+G ちょっと間違えちゃった
334デフォルトの名無しさん
2022/05/20(金) 21:00:45.78ID:slL0jKxc アホらし
C#と同じように書きたいならAdd-TypeでC#書けばいいでしょ
C#と同じように書きたいならAdd-TypeでC#書けばいいでしょ
335デフォルトの名無しさん
2022/05/20(金) 21:52:53.66ID:XK9Y5vcV 俺はバイブの方が好き♡
336デフォルトの名無しさん
2022/05/21(土) 04:11:37.11ID:xI11xSxR 結局どんな言語や書き方であろうと慣れでしか無い
読み辛いとか言う奴の大半が適応力やワーキングメモリの低い低能
読み辛いとか言う奴の大半が適応力やワーキングメモリの低い低能
337デフォルトの名無しさん
2022/05/29(日) 14:10:16.59ID:KYl341LT 2つ以上のcsvをできる限り簡単に結合する方法ありますでしょうか。
a.csv
id,name,gender
以下データ
b.csv
address,phone
以下データ
$firstcsv = a.csv
$secondcsv. = b.csv
$ketugou = connect-csv -delimiter ',' firstcsv[0] + firstcsv[1] + $secondcsv[0] + $secondcsv[1] + firstcsv[2]
$ketugou
id,name,address,phone,gender
以下データ
という感じであれば最高です。
a.csv
id,name,gender
以下データ
b.csv
address,phone
以下データ
$firstcsv = a.csv
$secondcsv. = b.csv
$ketugou = connect-csv -delimiter ',' firstcsv[0] + firstcsv[1] + $secondcsv[0] + $secondcsv[1] + firstcsv[2]
$ketugou
id,name,address,phone,gender
以下データ
という感じであれば最高です。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- おっぱい! おっぱい! おっぱい! おっぱい! おっぱい! おっぱい! おっぱい! おっぱい!
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- サナエがトランプのチンポしゃぶったら日本は安泰
- 高市コイン、155円突破wwwwwwwwww [246620176]
- おじゃる丸をまったり待機するスレ🏡
- 高市早苗の中国問題、「オーバーツーリズムが解消されてウザい中国人が消えるから日本の勝ち」という風潮になってしまう [562983582]
