我正在嘗試創建一個快速的 .bat 來快速對卡片中的一些資料進行排序。但我的措辭是否可以獲取我正在收集的資料,并在 Excel 中自動排序。如果我可以用逗號分隔資料,那么只需將其轉換為 csv 即可。但 results.txt 檔案的排序如下:
FN: EXAMPLE A
FN: EXAMPLE B
TITLE: EXAM A
TITLE: EXAM B
ORG: EX A
ORG: EX A
我希望它看起來更像
FN: Example A, Example B
Title: EXAM A, EXAM B
ORG: EX A, EX B
對此有什么建議嗎?
@Echo off
cd /d %~dp0
copy/B *.vcf all_in_one.vcf
copy/B all_in_one.vcf master_list.txt
(
findstr /C:"FN:" master_list.txt
findstr /C:"TITLE:" master_list.txt
findstr /C:"ORG:" master_list.txt
findstr /C:"EMAIL;" master_list.txt
findstr /C:"TEL;TYPE=WORK:" master_list.txt
)>> results.txt
pause
編輯:有沒有辦法轉置資料?
如:
FN: Title: Org:
Example A Exam A Ex A
Example B Exam B Ex B
uj5u.com熱心網友回復:
FN: Example A, Example B? 我可以想象FN:, Example A, Example B更適合您的需求。
@echo off
setlocal
(for %%z in ("FN:" "TITLE:" "ORG:" "EMAIL;" "TEL;TYPE=WORK:") do (
<nul set /p ".=%%~z"
for /f "tokens=1,2 delims=:" %%a in ('type "master_list.txt"^|findstr /bc:"%%~z"') do (
<nul set /p ".=,%%b"
)
echo/
))>results.csv
偽代碼:
For each of your search-terms
write the term without linefeed
for each match
find the data and write <comma><matched data>, again without linefeed
next match
finish the line
next term
結果與您的示例輸入:
FN:, EXAMPLE A, EXAMPLE B
TITLE:, EXAM A, EXAM B
ORG:, EX A, EX A
EMAIL;
TEL;TYPE=WORK:
或者就像它在 EXCEL 中的樣子:
FN: EXAMPLE A EXAMPLE B
TITLE: EXAM A EXAM B
ORG: EX A EX A
EMAIL;
TEL;TYPE=WORK:
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/494652.html
上一篇:批量列印用戶全名
