我在.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}}。
无论如何,这只是一种我认为可行的方法,基本上我只需要在每个名字之后和""
实际上有一些方法可以在批处理代码上实现这一点吗?
提前致谢!
答案 0 :(得分:3)
这可以在这里工作:
@echo off
setLocal EnableDelayedExpansion
for /f "delims=" %%a in (nombresemails.txt) do (
set "line=%%a"
set "line=!line: <=,<!"
>>nombresemailscomillas.txt echo !line!
)