実現したいこと
以下のようなbatの出力結果をPowershellだけで得たい
bat
1rem "動画タイトルリスト.txt" "動画IDリスト.txt" は同じ行数ある要素 2rem PowerShellではどちらも変数として扱う 3rem 例えば動画タイトルと動画IDを横に並べて一つのファイルにしたい 4rem 以下はCSV形式にする例 5 6echo off 7chcp 65001 8setlocal enabledelayedexpansion 9 10set n=0 11set m=0 12for /f "delims=" %%A in (動画タイトルリスト.txt) do ( 13 for /f "delims=" %%a in (動画IDリスト.txt) do ( 14 if !n! equ !m! ( 15 echo "%%A","%%a">>動画タイトルと動画IDリスト.csv 16 ) 17 set /a m+=1 18 ) 19 set /a n+=1 20 set m=0 21) 22 23endlocal 24exit /b
質問した理由
バッチでは上のようにして2つの配列(一次元のリスト2つ)を一つのファイル(二次元のリスト)にまとめられるのだが、
PowerShellでテキストファイルを作らずに2つの変数を簡単に並列に加工する方法はないか?
foreachやforで同等の仕組みは作れるがオブジェクトを扱うPowerShellの利点を活かせていない
検索した中では PowerShellの多次元配列 や テーブル ビューを作成する などは敷居が高い
補足情報(ツールのバージョンなど)
cmd (Microsoft Windows [Version 10.0.18363.900])
powershell (7.0.2)
回答1件
あなたの回答
tips
プレビュー