标题: [文本处理] 批处理如何将某个文件当中的字串符替换? [打印本页]
作者: hello70 时间: 2011-11-17 16:41 标题: 批处理如何将某个文件当中的字串符替换?
文件位置在:H:\多线程\操作平台\新建文件夹23
文件名称 :打印本期结果.cpp
怎样将文件打印本期结果中的一段代码::fstream out1("H:\\多线程\\多线程\\生成数组、统计、显示可删除数1\\删除\\可删除数.txt",ios::app);//输出的位置,替换成:::ofstream out1("H:\多线程\操作平台\新建文件夹23\\可删除数.txt",ios::app);//输出的位置?
作者: hello70 时间: 2011-11-17 16:42
请高手赐教!
作者: 冷玉公子 时间: 2011-11-17 19:47
本帖最后由 冷玉公子 于 2011-11-17 19:50 编辑
内容不具体,也没有办法具体回答啊。
Windows 的命令中替换字符是用 Set 命令的例如
-
- @Echo Off
- For /F %%A In (打印本期结果.cpp) Do (
- Set "Str=%%A"
- Set "Str=!Str:多线程=少线程!"
- Echo !Str!
- )
- Pause
复制代码
这样就可以将内容中的多线程替换成少线程,但是不能直接更改文件。
可以选择输出到新的文件中。
作者: hello70 时间: 2011-11-17 20:33
我按照上面的方法如下:
@Echo Off
For /F %%A In (H:\多线程\操作平台\新建文件夹23\打印本期结果.h) Do (
Set "Str=%%A"
Set "Str=!Str:H:\\多线程\\多线程\\生成数组、统计、显示可删除数1\\删除\\可删除数.txt=H:\多线程\操作平台\新建文件夹23\\可删除数.txt!"
Echo !Str!
可是也没有达到效果
)
Pause
作者: CrLf 时间: 2011-11-17 23:46
回复 3# 冷玉公子
setlocal enabledelayedexpansion 呢?
作者: hello70 时间: 2011-11-18 00:02
能否有具体代码
作者: awk 时间: 2011-11-18 08:42
- @echo off
- setlocal enabledelayedexpansion
- for /f %%a in (h:\多线程\操作平台\新建文件夹23\打印本期结果.h) do (
- set "str=%%a"
- echo !str!
- set "str=!str:h:\\多线程\\多线程\\生成数组、统计、显示可删除数1\\删除\\可删除数.txt=h:\多线程\操作平台\新建文件夹23\\可删除数.txt!"
- echo !str!
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |