在Windows中从批处理脚本向txt文件添加逗号

时间:2013-10-19 01:58:46

标签: windows batch-file csv

我在.txt文件上有这种格式:

"Rosina Merola (rosina_merola@hotmail.com)" <rosina_merola@hotmail.com> 
"Sabina Morales (sabinamorales@gmail.com)" <sabinamorales@gmail.com> 
"Sorella Blanco (zoreblanco@hotmail.com)" <zoreblanco@hotmail.com> 
"Eduardo Schmilinsky Leal" <ejsl41@hotmail.com>
"Elba Rodríguez" <elbameister@gmail.com>
Ernesto Ramirez <ernestoramirezricca@hotmail.com>

有些名称有"",有些名称没有,正如您在此示例中所见。

但是,我需要在每个名称之后和电子邮件行<>

之前添加逗号','

我认为首先将""添加到每个名称,然后添加逗号会更容易,我有这样的代码:

@echo off
setLocal EnableDelayedExpansion

for /f "tokens=* delims= " %%a in (nombresemails.txt) do (
echo "%%a", >> nombresemailscomillas.txt
)

它有效,但它以这种格式添加""

"Adam Podlinski <apodlinski@cantv.net> ", 
"Adam Podlinski 2 <apodlinski@yahoo.com>", 
""Aldo Gonzalez " <aldodanielg@hotmail.com>", 
""Alejandr Rubin" <rubin4@cantv.net>", 
""Alfredo Huguett " <alfredohuguettc@hotmail.com>", 
""aainiguezf@gmail.com" <aainiguezf@gmail.com>", 

无论是什么字符,它都会添加"",即使它们已经拥有它,此外,它会将它们添加到所有行中,我只需将它们添加到每个名称,将电子邮件留在里面没有<>的{​​{1}}。

无论如何,这只是一种我认为可行的方法,基本上我只需要在每个名字之后和""

中的电子邮件之前添加一个逗号

实际上有一些方法可以在批处理代码上实现这一点吗?

提前致谢!

1 个答案:

答案 0 :(得分:3)

这可以在这里工作:

@echo off
setLocal EnableDelayedExpansion
   for /f "delims=" %%a in (nombresemails.txt) do (
      set "line=%%a"
      set "line=!line: <=,<!"
        >>nombresemailscomillas.txt echo !line!
)