現在、バッチ ファイルに取り組んでいますが、これがなかなかうまくいきません。ヘッダーと 2 つの列を含む、生成された .CSV ファイルがあります。このファイルは ASCII としてエンコードされています (これは本当に驚きでした!)。2 番目の列には、テキスト ファイルのリストが含まれており、これを読み取って、そこに含まれる各エントリに関数を適用する必要があります。
copy または type >> を使用してファイルを 1 つに結合し、解析しやすくすることを考えましたが、csv の内容を読み取ってその内容を使用するのが困難です...
今のところ私は
for /f "skip=1 usebackq tokens=1-2 delims=," %%a in ("%temp%\list.txt") do echo %%b>>"%temp%\newfile.txt"
しかし、うまくいきません...(空のファイルしか取得できません)。また、リストされているすべてのファイルに関数を適用して、それらの結合されたコンテンツを処理できるようにするには、次に何をすればよいのかわかりません。私はこれに 2 日間苦労してきましたが、単純なことのようで、理解できないことにイライラし始めています。
これが私のCSVファイルの内容です
顧客番号、顧客名
44456、ジェームズ ボンド
33356、ドクター イービル
そして、クライアント情報を含む James Bond.txt、Mister Rogers.txt、Chief Bob.txt、Doctor Evil.txt というファイルを含むフォルダーがあります。そこで、CSV ファイルで指定された必要な名前だけをまとめて、すべてを一度に完全なリストとして印刷したいと考えています。
これで物事が明確になれば幸いです(説明するのは難しいのは分かっています)
編集: 提案されたコードを試してみましたが、まだ機能しません... 取得するのは空のファイルだけです... しかし、何らかの理由で、有望であるように思われます。
答え1
Client name
列に拡張子が付いたフォルダー内に同じ名前のファイルがある場合は.txt
、次のバッチで実行できます。
:: Q:\TEST\2017-05\25\DEMO\SU_1212933.cmd
@Echo off
For %%A in (".\folder") Do Set "folder=%%~fA"
( for /f "skip=1 usebackq tokens=1* delims=," %%a in (
".\list.csv"
) do If Exist "%folder%\%%b.txt" Type "%folder%\%%b.txt"
) >".\Report.txt"
これは私のテスト環境です
> tree . /F
Q:\TEST\2017-05\25\DEMO
│ SU_1212933.cmd
│ list.csv
│ Report.txt
│
└───folder
James Bond.txt
Doctor Evil.txt
2つのtxtファイルの内容folder
> type folder\*.txt
folder\James Bond.txt
#################################################
## this is file "James Bond.txt" in folder ##
#################################################
folder\Doctor Evil.txt
#################################################
## this is file "Doctor Evil.txt" in folder ##
#################################################
バッチを実行すると、ファイル report.txt に次の内容が含まれます。
> type Report.txt
#################################################
## this is file "James Bond.txt" in folder ##
#################################################
#################################################
## this is file "Doctor Evil.txt" in folder ##
#################################################