找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24318|回复: 6

[文本处理] 批处理如何将某个文件当中的字串符替换?

[复制链接]
发表于 2011-11-17 16:41:20 | 显示全部楼层 |阅读模式
文件位置在:H:\多线程\操作平台\新建文件夹23
文件名称  :打印本期结果.cpp

怎样将文件打印本期结果中的一段代码::fstream out1("H:\\多线程\\多线程\\生成数组、统计、显示可删除数1\\删除\\可删除数.txt",ios::app);//输出的位置,替换成:::ofstream out1("H:\多线程\操作平台\新建文件夹23\\可删除数.txt",ios::app);//输出的位置?
 楼主| 发表于 2011-11-17 16:42:30 | 显示全部楼层
请高手赐教!
发表于 2011-11-17 19:47:39 | 显示全部楼层
本帖最后由 冷玉公子 于 2011-11-17 19:50 编辑

内容不具体,也没有办法具体回答啊。
Windows 的命令中替换字符是用 Set 命令的例如

  1. @Echo Off
  2. For /F %%A In (打印本期结果.cpp) Do (
  3. Set "Str=%%A"
  4. Set "Str=!Str:多线程=少线程!"
  5. Echo !Str!
  6. )
  7. Pause
复制代码

这样就可以将内容中的多线程替换成少线程,但是不能直接更改文件。
可以选择输出到新的文件中。
 楼主| 发表于 2011-11-17 20:33:46 | 显示全部楼层
我按照上面的方法如下:

@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
发表于 2011-11-17 23:46:37 | 显示全部楼层
回复 3# 冷玉公子


    setlocal enabledelayedexpansion 呢?
 楼主| 发表于 2011-11-18 00:02:24 | 显示全部楼层
能否有具体代码
发表于 2011-11-18 08:42:52 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%a in (h:\多线程\操作平台\新建文件夹23\打印本期结果.h) do (
  4.     set "str=%%a"
  5.     echo !str!
  6.     set "str=!str:h:\\多线程\\多线程\\生成数组、统计、显示可删除数1\\删除\\可删除数.txt=h:\多线程\操作平台\新建文件夹23\\可删除数.txt!"
  7.     echo !str!
  8. )
  9. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:50 , Processed in 0.009916 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表