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

[文本处理] [已解决]批处理如何替换txt文件中的字符?

本帖最后由 mjjwzp 于 2013-12-19 10:11 编辑

如a.txt文件内容:
mjj,123,456
478,dgds,8565,
qaf,asfwq,fq,
把“,”替换成“;”重新保存成b.txt

请教一下,谢谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 battab 于 2013-12-18 00:12 编辑
  1. @echo off
  2. for /f %%i in (a.txt) do echo %%%i:,=;%>>b.txt
复制代码
学习中

TOP

好像不行。
返回:
'%' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'%' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'%' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
请按任意键继续. . .

TOP

打开记事本,把,替换成;不就行了
或者论坛上搜索下for 和set的用法
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (set a=%%i&echo !a:,=;!>>b.txt)
复制代码
开启延迟环境变量扩展

TOP

还是不行!
返回的结果:
!a:,=;!
!a:,=;!
!a:,=;!

TOP

还是不行!
返回的结果:
!a:,=;!
!a:,=;!
!a:,=;!
mjjwzp 发表于 2013-12-18 10:10
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (set a=%%i&echo !a:,=;!>>b.txt)
复制代码
1

评分人数

TOP

7楼真厉害!谢谢。终于解决了。

TOP

为什么加了“@echo off&setlocal enabledelayedexpansion”这一行就行,请多指教!

TOP

setlocal enabledelayedexpansion 开启变量延迟,再把变量用!!括起来。
学习中

TOP

哦,知道了,谢谢!

TOP

[已解决]批处理如何替换txt文件中的字符?

TOP

  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (set a=%%i&call echo %%a:,=;%%>>b.txt)
  3. pause
复制代码

TOP

返回列表