[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何用文本内容分别替换a.txt里面的指定符号?

如何用当前目录下的txt文本内容分别替换a.txt文本里面的指定符号

例如当前目录下有300个txt文本(文件名不固定),还有一个a.TXT文本(里面有300个。号也可能是其他符号,这个可以调),如何实现用当前目录下的除a.txt之外的txt文本内容分别替换a.txt里面的指定符号,替换后即删除300个文件中的那一个,防止重复。要替换的符号要可以自己指定,这个该怎么写呢?

例如300个txt文本里面的内容分别为1-300.
a.txt里面的内容如下:
行1=
行2=
行3=
行4=
行5=
行6=
行7=
行300=
=号一般都是固定的,应该不需要枚举吧。

我要用300个txt文本里面的内容分别替换a.txt里面的=号,替换后的效果如下:
行11
行22
行33
行44
行55
行66
行77
行300300

替换后即删除300个文件中的那一个,防止重复。

[ 本帖最后由 chuan31 于 2011-1-26 21:15 编辑 ]

自己顶起来啊! 希望大大们快快出手哈

TOP

1,是否存在英文标点符号?如果有,尽量枚举
2,楼主对问题描述不清楚,请尽量举例

[ 本帖最后由 hanyeguxing 于 2011-1-26 18:10 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

原帖由 hanyeguxing 于 2011-1-26 18:07 发表
1,是否存在英文标点符号?如果有,尽量枚举
2,楼主对问题描述不清楚,请尽量举例


版主 要被替换的符号一般都是固定的,有可能是*号 有可能是+号,我指定替换哪个符号就只需要判断哪个符号,用不到枚举。

例如300个txt文本里面的内容分别为1-300.

a.txt里面的内容如下:

行1=

行2=

行3=

行4=

行5=

行6=

行7=

行300=

=号一般都是固定的,应该不需要枚举吧。



我要用300个txt文本里面的内容分别替换a.txt里面的=号,替换后的效果如下:

行11

行22

行33

行44

行55

行66

行77

行300300

替换后即删除300个文件中的那一个,防止重复。

[ 本帖最后由 chuan31 于 2011-1-26 21:05 编辑 ]

TOP

原帖由 hanyeguxing 于 2011-1-26 18:07 发表
1,是否存在英文标点符号?如果有,尽量枚举
2,楼主对问题描述不清楚,请尽量举例


例如300个txt文本里面的内容分别为1-300.
a.txt里面的内容如下:
行1=
行2=
行3=
行4=
行5=
行6=
行7=
行300=
=号一般都是固定的,应该不需要枚举吧。

我要用300个txt文本里面的内容分别替换a.txt里面的=号,替换后的效果如下:
行11
行22
行33
行44
行55
行66
行77
行300300

替换后即删除300个文件中的那一个,防止重复。

TOP

自己顶起来啊 提前祝大家过年好 哈哈

TOP

大家都回家了吗 这个代码还没高手帮忙哦

TOP

  1. @echo off
  2. set char==
  3. set row=0
  4. for %%a in (*.txt) do (
  5.     if "%%a" neq "a.txt" (
  6.         set /p str=<"%%a"
  7.         set /a row+=1
  8.         call sed -i "%%row%%s/%char%/%%str%%/g" a.txt
  9.         del /f /q "%%a"
  10.     )
  11. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 Batcher 于 2011-1-30 21:14 发表
@echo off
set char==
set row=0
for %%a in (*.txt) do (
    if "%%a" neq "a.txt" (
        set /p str=


请问要替换的符号是在哪里定义呢? 我修改了set char==这里 修改为set char=。 运行后a.txt里面的句号没有被替换 set char==这样的 a.txt里面的=号也灭有被替换,不过替换源会自动删除 请问是不是我操作不当

TOP

顶起来啊!!!!!!!!!!!!!!!!!

TOP

回复 9楼 的帖子

去下载一个 sed.exe 吧:
http://bbs.bathome.net/thread-3981-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表