2011-05-27 50 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 

作品對我來說,在一個命令行