Board logo

标题: 实现批量替换的命令 [打印本页]

作者: izma     时间: 2008-9-13 16:19    标题: 实现批量替换的命令
假设有一文本文件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刚学,人又太笨所以只好来麻烦大家了

作者: s11ss     时间: 2008-9-13 16:29
@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 ]

作者: izma     时间: 2008-9-13 17:01
谢谢你了。 哈哈还是解决了。不过好象不是查找替换用命令。

作者: shqf     时间: 2008-9-13 22:43
要用替换的话,可如下:
@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