[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 24# 沸羊羊
一行就完事,何必搞这么复杂,下载第三方sed
  1. for /f "tokens=1-3 delims=:," %%a in ('findstr /n .* a.txt') do (sed -i "%%as/,%%b,/,%%c,/" b.txt)
复制代码

TOP

本帖最后由 happy886rr 于 2016-8-29 11:17 编辑

回复 26# 沸羊羊
这个根本不用安装,直接用。支持主流系统,你把sed直接跟要替换的文件放一起,然后运行那个批处理就完事。sed有很多版本,你下个免杀版的就行。

如果你们公司杀软很厉害,那就安个虚拟机,在虚拟机里操作替换,然后把资料从虚拟机里取出来。就下载那个virtual PC2007虚拟机才30M,再下载个30M的xp系统,搭建个虚拟机,在里边随便搞。还可以研究病毒。

TOP

回复 29# 沸羊羊
你用的啥系统啊。还有要单独一个批处理,不要跟别的代码混用在一起。

TOP

回复 34# 沸羊羊
  1. for /f "tokens=1-3 delims=:," %%a in ('findstr /n .* a.txt') do (sed -i "%%as/,%%b,/,%%c,/" b.txt)
复制代码
这个代码没问题,我是32位win7系统,我下载你提供的a、b.txt测试了5遍,没有任何问题。得到的b.txt与你要求的test.txt完全一致。

其中'findstr /n .* a.txt'就是给a.txt编上行号,
"tokens=1-3 delims=:,"是用:提取行号和用,号提取a.txt中的数据
sed -i "%%as/,%%b,/,%%c,/" b.txt中的%%as是替换一一对应行的内容,将%%b(也就是你所说的1111111)替换成%%c(也就是你所说的1)
for /f就是文本循环,从a.txt的第一行一直循环到最后一行。

可能是你控制台设置里“当前代码页编码不对”是否为gbk936编码。

TOP

返回列表