楼 主
请问:如何用批处理替换文件里的字符。
发表于 2006-12-17 09:52 · 中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946 发帖 1,884 注册 2006-01-20 13:00 20年会员 UID 49283 性别 男
状态 离线
请问:如何用批处理替换文件里的字符。
就是想用批处理把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
第 2 楼
发表于 2006-12-17 10:15 · 中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 20年会员 UID 51697 来自 成都
状态 离线
试试下面的代码:
@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
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 3 楼
发表于 2006-12-17 10:25 · 中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946 发帖 1,884 注册 2006-01-20 13:00 20年会员 UID 49283 性别 男
状态 离线
第 4 楼
发表于 2007-02-14 09:42 · 中国 四川 成都 电信
初级用户
★
积分 80 发帖 31 注册 2005-11-28 00:29 20年会员 UID 46066
状态 离线
高,真是,请问一下版主,在以下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
第 5 楼
发表于 2007-02-14 10:55 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
@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
第 6 楼
发表于 2007-02-14 11:21 · 中国 四川 成都 电信
初级用户
★
积分 80 发帖 31 注册 2005-11-28 00:29 20年会员 UID 46066
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正