标题: [文本处理] 【已解决】批处理如何删除/清除/去掉txt文本中所有的*星号 [打印本页]
作者: hongrk 时间: 2016-10-16 18:50 标题: 【已解决】批处理如何删除/清除/去掉txt文本中所有的*星号
本帖最后由 hongrk 于 2016-10-16 22:04 编辑
设文件名为a.txt 要转化的字符为* 将该文本里的全部*都删掉 这样的批处理该怎么做?如果单纯在批处理里显示出来的我会,可是修改文本的就不会了。
例如:
*147**8
批处理运行后变为:
1478
数字之间没有空格
请求各位帮忙,我找了很多资料都没弄明白怎么做,因为找不到。
作者: hongrk 时间: 2016-10-16 19:32
我搞好了 不用麻烦各位了 OK
作者: pcl_test 时间: 2016-10-16 19:57
- rem win7及以上系统运行
- powershell -c "(gc 'a.txt') -replace '\*'"&pause
复制代码
作者: hongrk 时间: 2016-10-16 21:13
本帖最后由 hongrk 于 2016-10-16 21:15 编辑
回复 3# pcl_test
不可以,
显示powershell 不是内部或外部命令,也不是可运行的程序或批处理文件。 我电脑是WinXP的
哎,本来是弄好了的,可是进行下一步的时候忘了备份了 然后原来找到的那地方又找不到了 我把我之前用的发出来 不过也只是大概,特殊符号少了很多,比如感叹号
@echo off
set f="a.txt"
set a=+
set b=
for /f "usebackq delims=" %%b in (%f%) do (
if not defined flag cd.>%f%&set flag=1
set v=%%b
setlocal enabledelayedexpansion
set v=%a%=%b%
echo.
endlocal
)
我去搜索看看
作者: hongrk 时间: 2016-10-16 22:03
回复 4# hongrk
查了几十个帖子 琢磨了一会弄出来了:
@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set var=%%i
set var=!var:XX=!
echo !var!>>b.txt
)
del a.txt
ren b.txt a.txt
pause
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |