Board logo

标题: [文本处理] 批处理怎样修改TXT文件内容并保存? [打印本页]

作者: 司马光2008    时间: 2021-8-22 21:42     标题: 批处理怎样修改TXT文件内容并保存?

有一个文件夹中,有TXT文件,如何做到 修改TXT文件指定内容并保存 :)

把绵羊给为高山羊

例子:
山羊,绵羊

修改后
山羊,高山羊
作者: cmd1152    时间: 2021-8-22 22:03

本帖最后由 cmd1152 于 2021-8-24 10:10 编辑
  1. setlocal enableDelayedExpansion
  2. (for /f "tokens=* delims=" %%a in (1.txt) do (
  3.     set s=%%a
  4.     set s=!s:绵羊=高山羊!
  5.     echo !s!
  6. ))>>2.txt
  7. Move 2.txt 1.txt
复制代码

作者: 司马光2008    时间: 2021-8-22 22:38

这个运行不了啊,而且我想是在修改后保存在原来文件中,帮忙看看能不能做到
作者: Batcher    时间: 2021-8-22 22:57

回复 3# 司马光2008


请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: qixiaobin0715    时间: 2021-8-23 05:53

本帖最后由 qixiaobin0715 于 2021-8-23 06:07 编辑

回复 1# 司马光2008
将2楼bat文件和要处理的文本文件另存为ansi编码再运行。
不行的话,就可能是文本文件中有特殊字符,试试下面代码:
  1. @echo off
  2. (for /f "delims=" %%i in ('findstr /n .* 1.txt') do (
  3.         set "var=%%i"
  4.         setlocal enabledelayedexpansion
  5.         set var=!var:*:=!
  6.         echo.!var:绵羊=高山羊!
  7.         endlocal
  8. ))>2.txt
  9. pause
复制代码

作者: 司马光2008    时间: 2021-8-24 07:14

感谢大家




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2