如何用批处理删除多个txt内特定字符

在一个文件夹内有很多txt文本,里面的文本结构基本一致(同一excel模板表格生成的txt),如下:
C01 Positive Positive Control XX XX_v1.6 O-500 XX-1 XX
D01 TT2014083958 Sample XX XX_v1.6 O-500 XX-1 XX
E01 TT2013059957女 Sample XX XX_v1.6 O-500 XX-1 XX
F01 TT2011086237? Sample XX XX_v1.6 O-500 XX-1 XX
我想要一个批处理,把该文件夹下所有txt文本中的“女”和“?”删除,但保持文本结构不变且是在原文本文件进行改动。
希望,大家帮帮忙!谢谢!

第1个回答  2015-07-21
@echo off & setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (*.txt) do (
    if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)
)>>new_1.txt
pause
exit

:chg
set "line=!line:女= !"
set "line=!line:?= !"
goto :eof

追问

我直接复制你的,运行后提示说~系统找不到文件*.txt。我的系统是win8.1,这要怎么解决?

本回答被网友采纳

批处理或正则:怎么批量删除txt中指定字数以上的行?
不清楚你的实际文件\/情况,仅以问题中的样例\/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行 <# :cls&echo off rem 删除多个txt文本文件内字符数超过指定数量的行 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title %#% +%$...

如何用批处理bat将多个txt文件中的指定字符串删除?
不清楚你的实际文件\/情况,仅以问题中的样例\/说明为据 以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 <# :cls echo off rem 根据一个指定文本文件里列出的多个字符串,将多个txt文本文件内的这些字符串删除 set #=Any question&set @=WX&set $=Q&set\/az=0x...

如何用批处理命令删除TXT文件里某一区域的内容
去网上下载一个sed的工具,然后用下面的一个命令就可以:sed -i 's\/info.*data\/\/g' *.txt 修改之前,先做好备份。

如何用批处理命令删除TXT文件里某一区域的内容
echo offsetlocal enabledelayedexpansionset "v1=info"set "v2=data"for %%a in (*.txt) do (findstr \/i \/v \/c:"!v1!" "%%~a">new.tmpfindstr \/i \/v \/c:"!v2!" new.tmp>"%%~a"del new.tmp)暂时把所有TXT文件包含2个字符的行都去除了,如只需要去除2个字符串,请追问下。

就如何用批处理命令删除某个文件夹下所有TXT文件中两个特定字符串间的...
下面代码保存为处理.vbs也可以运行 FolderPath=inputbox("输入处理的文件夹","输入处理的文件夹")'FolderPath="F:\\新建文件夹"set fso=createobject("scripting.filesystemobject")set folder=fso.getfolder(FolderPath)set files=folder.files for each fl in files if right(fl,4)=".txt" Then fil...

如何用批处理删除多个txt内特定字符
echo off & setlocal enabledelayedexpansionfor \/f "tokens=*" %%i in (*.txt) do ( if "%%i"=="" (echo.) else (set "line=%%i" & call :chg))>>new_1.txtpauseexit:chgset "line=!line:女= !"set "line=!line:?= !"goto :eof ...

如何用批处理命令删除TXT文件里某一区域的内容
for \/f "tokens=1* delims=," %%a in ('type 1.txt') do echo %%a >>ad.txt

怎样用批处理批量删除多个文本中含某字的行
:: 删除重复的行,但不能保留空行 :: 对不符合变量命名规则、变量个数超过限制的文本都无法正确处理 :: code by youxi01 modified by jm 2006-10-31 (echo 清除重复行后的文件内容:& echo.)>str_.txt for \/f "delims=" %%i in (test.txt) do (if not defined %%i set %%i=A & ...

批处理,替换(或者删除)当前文件夹中所有TXT文档中指定的字符?
word1!"set "word2=!word2:456=xyz!"set "word3=!word2!"set "word3=!word2:444=!"echo,!word3! >>"%%~ni_tmp.txt")del "%%i" \/f \/qren "%%~ni_tmp.txt" "%%i")pause注:把批处理文件跟txt放在一起运行,测试前先备份好原文件您的采纳是我们的动力和鼓励,请及时点击【采纳...

用批处理删除txt文档内特定字符,例如将55-87-fc-c0-0e-f6 改为5587fcc...
start "" "%file%"你把以上代码复制到记事本,另存为"用指定字符替换指定内容.bat"(最好与你要替换处理的txt文件在同一目录).双击这个"用指定字符替换指定内容.bat",然后,提示你输入要被替换的文件名.再输入要被替换的内容,再输入替换为的内容...操作成功后会打开被替换后的文件......

相似回答