【发布时间】:2014-10-15 21:40:57
【问题描述】:
我正在 Windows 中编写一个脚本,一个 .BAT 文件来替换:
请注意,这里有一个 ENTER,我的意思是字符串分两行。现在看起来更复杂了:在 2 个双引号之后有 2 个空格,然后是 "ENTER"
""
"2014
所以,类似:(双引号)(双引号)(空格)(空格)(换行)(双引号)2014
我遇到了这个问题。脚本如下所示:
@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=FILE_IN_CSV.csv
set OUTTEXTFILE=222.csv
set SEARCHTEXT=^"^"^"2014
set REPLACETEXT=^"^"^"4
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
有什么想法吗?
谢谢!
编辑:添加源文本示例。看到每行末尾有 3 个(不是 2 个!)黑色空格。
"2014091810000076";"Question about folder sizes";"2014-09-18 12:10:20";"2014-09-25 17:33:15";"Resolt Sistemes";"jbgsfnam";"Sistemes::Altres";"STFD";"peticions";""
"2014091910000109";"Error opening word files with office 2013";"2014-09-19 09:50:07";"2014-09-25 14:27:59";"Resolt TRO";"yerttom";"Qualitat::Altres";"STFD";"peticions";""
我只需要删除每行开头的 20,而不是行中间的其他 20。
【问题讨论】:
-
所以你有问题吗?需要详细说明吗?
-
嗨,我只是添加一些源文本作为示例。谢谢!
标签: batch-file replace