用于编辑文件的批处理脚本

时间:2013-06-07 07:46:41

标签: batch-file

我有一个包含以下内容的文件 -

SF:D:\Saurabh\Work\WS\devicehowto.war\scripts\.\Greeter.js
DA:1,2
DA:4,2
DA:5,2
end_of_record
SF:D:\Saurabh\Work\WS\devicehowto.war\scripts\.\GreeterTest.js
DA:1,2
DA:3,2
DA:4,2
end_of_record

我需要一个批处理脚本来替换所有出现的带有空格字符的“D:\ Saurabh \ Work \ WS \ devicehowto.war \ scripts。\”。因此,在运行批处理脚本后,内容应该如下所示 -

SF:Greeter.js
    DA:1,2
    DA:4,2
    DA:5,2
    end_of_record
    SF:GreeterTest.js
    DA:1,2
    DA:3,2
    DA:4,2
    end_of_record

请帮忙。 感谢。

2 个答案:

答案 0 :(得分:2)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
(
FOR /f "delims=" %%i IN (saurabh.txt) DO (
 SET "line=%%i"
 SET "line=!line:D:\Saurabh\Work\WS\devicehowto.war\scripts\.\=!"
 ECHO(!line!
)
)>new.txt
TYPE new.txt
GOTO :eof

制作new.txt。

不确定为什么第二行和连续行都缩进。如果这是故意的,请说明标准。

答案 1 :(得分:1)

sed

的好工作
sed "/SF/s/:.*\\/:/" saurabh.txt