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 是要替换的内容.
完事后再保存.

<img src="images/smilies/face-surprise.png" align="absmiddle" border="0"> 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