中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 17:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 实现批量替换的命令 查看 777 回复 3
楼 主 实现批量替换的命令 发表于 2008-09-13 16:19 ·  中国 浙江 金华 义乌市 电信
新手上路
积分 14
发帖 5
注册 2007-06-22 04:10
19年会员
UID 92046
性别 男
状态 离线
假设有一文本文件d:\porlife.txt里面内容如下:

LocalProfile.setName "123"
LocalProfile.setNick "123"
LocalProfile.setGamespyNick "123"
LocalProfile.setEmail "123@yahoo.com"
LocalProfile.setPassword "12345678"
password= 12345678

首先批处理开始时要询问输入名字 再是密码. 比如说前面得批处理是这样:
set /p name=请输入用户名:
set /p password=请输入密码:
文本内容中的名字123 密码12345678 是要替换的内容.
完事后再保存.

DOS刚学,人又太笨所以只好来麻烦大家了
2 发表于 2008-09-13 16:29 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
@set /p name=请输入用户名:
@set /p password=请输入密码:
@set e=@echo^>^>d:\porlife.txt
@cd.>d:\porlife.txt
%e% LocalProfile.setName "%name%"
%e% LocalProfile.setNick "%name%"
%e% LocalProfile.setGamespyNick "%name%"
%e% LocalProfile.setEmail "%name%@yahoo.com"
%e% LocalProfile.setPassword "%password%"
%e% password= %password%


[ Last edited by s11ss on 2008-9-13 at 04:37 PM ]
3 发表于 2008-09-13 17:01 ·  中国 浙江 金华 义乌市 电信
新手上路
积分 14
发帖 5
注册 2007-06-22 04:10
19年会员
UID 92046
性别 男
状态 离线
谢谢你了。
哈哈还是解决了。不过好象不是查找替换用命令。
4 发表于 2008-09-13 22:43 ·  中国 上海 奉贤区 电信
初级用户
积分 35
发帖 18
注册 2008-08-10 22:34
17年会员
UID 123138
性别 男
状态 离线
要用替换的话,可如下:

@echo off
setlocal enabledelayedexpansion
set /p name=请输入用户名:
set /p password=请输入密码:

cd .>porlife.tmp,2>nul
for /f "delims=" %%a in (porlife.txt) do (
set "str=%%a"
set "str=!str:12345678=%password%!"
set "str=!str:123=%name%!"
echo !str!>>porlife.tmp
)
del porlife.txt
ren porlife.tmp porlife.txt
echo ok!&pause
论坛跳转: