中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问:如何用批处理替换文件里的字符。
作者:
标题: 请问:如何用批处理替换文件里的字符。 上一主题 | 下一主题
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『楼 主』:  请问:如何用批处理替换文件里的字符。

请问:如何用批处理替换文件里的字符。

就是想用批处理把menu.lst里的password那行替换成md5.txt里的字符。

文件md5.txt里只有一行:
----------
password --md5 $1$/$xt8NeSA6RgbRCGBqjoL8K.


文件menu.lst的内容如下:
----------------
color white/green yellow/green
timeout 10
default 0

fontfile (hd0,4)/grub/fonts
splashimage (hd0,4)/grub/bg.xpm.gz
#为Grub以MD5加密方式设置密码
password --md5 $1$4$b2m8/JQITYFtj7hf9w3iW/

title   安装Grub_v0.95到MBR,慎用! [先按p,输入密码]
lock
root (hd0,4)
setup (hd0)
reboot



Windows 一键还原
http://www.yjhy.com
2006-12-17 09:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  试试下面的代码:
@echo off
cd.>test.txt
for /f "tokens=1* delims=:" %%i in ('findstr /n .* menu.lst') do (
    set "var=%%j"
    call :replace "%%j"
)
start test.txt
goto :eof

:replace
set str=%1
set "str=%str:~1,-1%"
if /i "%str:~0,8%"=="password" (
    for /f "delims=" %%i in (md5.txt) do set "str=%%i"
)
>>test.txt echo.%str%
goto :eof


   此帖被 +4 点积分        点击查看详情   
评分人:【 lianjiang2004 分数: +4  时间:2006-12-17 21:29




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-17 10:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 3 楼』:  

试了一下可以,谢谢了,我再好好研究一下这段代码。



Windows 一键还原
http://www.yjhy.com
2006-12-17 10:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xingsys
初级用户





积分 80
发帖 31
注册 2005-11-28
状态 离线
『第 4 楼』:  

高,真是,请问一下版主,在以下menu.lst文件中,怎样用批处理制作为提示用户输入,然后把password=123中的123替换为用户的输入字符呢呢

文件menu.lst的内容如下:
----------------
color white/green yellow/green
timeout 10
default 0

fontfile (hd0,4)/grub/fonts
splashimage (hd0,4)/grub/bg.xpm.gz
password=123
title   安装Grub_v0.95到MBR,慎用! [先按p,输入密码]
lock
root (hd0,4)
setup (hd0)
reboot

2007-2-14 09:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

@echo off
echo  ---------------->menu.lst
echo color white/green yellow/green>>menu.lst
echo timeout 10 >>menu.lst
echo default 0 >>menu.lst
echo.>>menu.lst
echo fontfile (hd0,4)/grub/fonts>>menu.lst
echo echo splashimage (hd0,4)/grub/bg.xpm.gz>>menu.lst
set /p pwd=请输入密码:
echo password=%pwd%>>menu.lst
echo title   安装Grub_v0.95到MBR,慎用! [先按p,输入密码]>>menu.lst
echo lock>>menu.lst
echo root (hd0,4)>>menu.lst
echo setup (hd0)>>menu.lst
echo reboot >>menu.lst

2007-2-14 10:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xingsys
初级用户





积分 80
发帖 31
注册 2005-11-28
状态 离线
『第 6 楼』:  

万分感谢,唉,我怎么没想到了,谢谢了

2007-2-14 11:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: