2011-05-27 53 views
0

我想在文本文档中的每行之前插入一个空格为“sBody =”的字符串。我在其他论坛找到了这个答案,但它不起作用?我对这个脚本有几个问题,如果“myfile”是完整的文件路径?另外,这个脚本最初是为了在文件的末尾插入一个字符串,我需要取出什么来使它在开头只插入一个字符串?将字符串插入文本文档的everyline的开头?

谢谢你的所有答案!

@echo off > newfile & setLocal EnableDelayedExpansion 

for /f "tokens=* delims=" %%a in (myfile) do (
echo STRING %%a STRING >> newfile 
) 
+0

你需要你的字符串回声出到一个新的文件,然后将原来的文件附加到这个新的文件,然后替换原来的与这个新文件。 '>>'只能追加,不会预先设定。 – 2011-05-27 15:44:30

回答

0

脚本正在原始文件'myfile'中创建一个名为'newfile'的新文件。一旦完成,你可以删除'myfile',如果你愿意,可以将'newfile'重命名为'myfile'。此示例将文件中的每个<行>替换为STRING <行> STRING。

@echo off 
setLocal EnableDelayedExpansion 

for /f "tokens=* delims=" %%a in (myfile) do (
echo STRING %%a STRING >> newfile 
) 
+0

如何改变这种方式在每行的开头插入STRING而不删除行? myfile和newfile是完整的文件路径吗? 感谢您的帮助 – user773378 2011-06-01 15:46:19

+0

原始评论中吃过“线”的尖括号。 (现在进行编辑,以便它们显示正确。)只需在行的前面添加“echo STRING %% a >> newfile”即可。 – karmakaze 2011-06-02 01:48:00

+0

工作得很好。非常感谢你的帮助! – user773378 2011-06-02 12:50:03

0
sed 's/.*/pattern &/' yourfile.txt -i 

作品对我来说,在一个命令行