中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 问个文字替换的问题 上一主题 | 下一主题
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『楼 主』:  问个文字替换的问题

我要将C:\MININT\INF\LAYOUT.INF中的所有"\386"替换成"\MININT";
将C:\MININT\PECONFIG.INI中的所有"\386"替换成"\MININT";

会的帮我写个简单的批处理吧

2006-9-18 20:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 2 楼』:  

做PE么?




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-18 20:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  以下代码可以在当前目录下生成处理后的layout_.inf和peconfig_.ini,请测试是否可以使用:
@echo off
cd.>layout_.inf
cd.>peconfig_.ini
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (C:\MININT\INF\LAYOUT.INF) do (
    set var=%%i
    set "var=!var:\386=\MININT!"
    echo !var!>>layout_.inf
)
for /f "tokens=*" %%i in (C:\MININT\PECONFIG.INI) do (
    set str=%%i
    set "str=!str:\386=\MININT!"
    echo !str!>>peconfig_.ini
)




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-18 20:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by namejm at 2006-9-18 08:58 PM:
  以下代码可以在当前目录下生成处理后的layout_.inf和peconfig_.ini,请测试是否可以使用:
[code]
@echo off
cd.>layout_.inf
cd.>peconfig_.ini
setlocal enabl ...

没能成功

我要的是将C:\MININT\INF\LAYOUT.INF中的所有"\386"替换成"\MININT";
将C:\MININT\PECONFIG.INI中的所有"\386"替换成"\MININT";

2006-9-18 21:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  字符串本身是带了引号的吗?



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-18 21:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by namejm at 2006-9-18 09:38 PM:
  字符串本身是带了引号的吗?

没有引号

2006-9-18 21:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  这就有点奇怪了。可能是你的inf和ini中带有CMD的敏感字符,所以会出错吧,贴一段内容出来看看。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-18 21:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by namejm at 2006-9-18 09:51 PM:
  这就有点奇怪了。可能是你的inf和ini中带有CMD的敏感字符,所以会出错吧,贴一段内容出来看看。

PECONFIG.INI内容:
程序目录       = Programs
启动组快捷方式 = Programs\SetDisplay\SetDisplay.exe;显示属性设置
启动组快捷方式 = I386\System32\HideCMD.exe|%ProgramFiles%\FreeWB\删垃圾装极点.CMD|%ProgramFiles%\FreeWB\FREEWBS.EXE;极点中文
快速启动栏     = I386\System32\HideCMD.exe|%ProgramFiles%\FreeWB\删垃圾装极点.CMD|%ProgramFiles%\FreeWB\FREEWBS.EXE;极点中文
快速启动栏     = I386\System32\cleanmgr.exe;清除垃圾
快速启动栏     = Programs\SETPAGEFILE\SETPAGEFILE.EXE;调节虚拟内存
桌面快捷方式   = Programs\MSVCD\VCDTOOL.EXE;微软虚拟光驱VCDTOOL
桌面快捷方式   = Programs\VDM\VDM1.EXE;虚拟驱动器VDM1
桌面快捷方式   = Programs\VDM\VDM2.EXE;虚拟驱动器VDM2
桌面快捷方式   = Programs\WinRAR\WinRAR.EXE;解压工具WinRAR
桌面快捷方式   = Programs\Ghost8\Ghost32.exe;克隆工具Ghost32
桌面快捷方式   = Programs\Ghost8\GHOSTEXP.EXE;Gho映像浏览器GHOSTEXP
桌面快捷方式   = Programs\WinHDM\WindowsHDM.exe;硬盘管理大师WinPM
桌面快捷方式   = Programs\Acronis\trueimage.exe;克隆工具Acronis TrueImage
桌面快捷方式 = Programs\系统检测\EVEREST\EVEREST.exe;硬件及系统环境检测(Everest)
桌面快捷方式 = Programs\系统检测\CPUZ\CPUZ.exe;CPU 检测(CPU-Z)
桌面快捷方式 = Programs\系统检测\DisplayX\DisplayX.exe;显示器测试工具(DisplayX)
桌面快捷方式 = Programs\系统检测\CCD坏点检测\CCD_CHECK.EXE;数码相机 CCD 坏点检测
桌面快捷方式 = Programs\系统检测\MEMTEST\MEMTEST.EXE;物理内存检测器(MemTest)
桌面快捷方式 = Programs\系统检测\super_pi\super_pi.exe;经典测试工具 SuperPI MOD
桌面快捷方式 = Programs\系统检测\BIOS信息\BIOSAG.EXE;BIOS信息检测及更新
桌面快捷方式 = WINPE安装\安装XPE到C盘.EXE;安装XPE到C盘.EXE

程序组快捷方式 = I386\SYSTEM32\ErdRoot.exe||%SystemRoot%\EXPLORER.EXE;帐户及系统密码修改\_ERD2003汉化版\_设定ERD的目标Windows
程序组快捷方式 = Programs\erdcmd2003\regedit.exe;帐户及系统密码修改\_ERD2003汉化版\编辑目标Windows的注册表
程序组快捷方式 = Programs\erdcmd2003\locksmith.exe;帐户及系统密码修改\_ERD2003汉化版\修改目标Windows的登录密码
程序组快捷方式 = Programs\erdcmd2003\SYSTEMRESTORE.EXE;帐户及系统密码修改\_ERD2003汉化版\目标Windows的系统还原
程序组快捷方式 = I386\SYSTEM32\PASSWDRENEW.EXE;帐户及系统密码修改\帐户及系统密码修改PASSWDRENEW
程序组快捷方式 = I386\SYSTEM32\AWPR.EXE;帐户及系统密码修改\多功能密码工具AWPR
程序组快捷方式 = Programs\硬盘保护卡克星\CRDISK.EXE;硬盘保护卡破解


LAYOUT.INF中的部分内容(贴多了字符就超过限制了):
11 = %cdname%,%cdtagfilem%,,\amd64
12 = %cdname%,%cdtagfilem%,,\amd64
13 = %cdname%,%cdtagfilem%,,\amd64
14 = %cdname%,%cdtagfilem%,,\amd64
15 = %cdname%,%cdtagfilem%,,\amd64
55 = %cdname%,%cdtagfilem%,,\i386
56 = %cdname%,%cdtagfilem%,,\i386\lang
[SourceDisksNames.ia64]
1  = %cdname%,%cdtagfilem%,,\ia64
7  = %cdname%,%cdtagfilem%,,\ia64\lang
55 = %cdname%,%cdtagfilem%,,\i386
56 = %cdname%,%cdtagfilem%,,\i386\lang
[WinntDirectories]
1  = "\"
2  = system32
3  = system32\config
4  = system32\drivers
5  = system
7  = system32\ras
9  = system32\spool
10 = system32\spool\drivers
11 = system32\spool\drivers\w32x86\3
12 = system32\spool\prtprocs
13 = system32\spool\prtprocs\w32x86
14 = system32\wins
15 = system32\dhcp
16 = repair
17 = system32\drivers\etc
18 = system32\spool\drivers\w32x86
19 = system32\drivers\disdn
20 = inf
21 = Help
22 = Fonts
23 = Config
24 = msagent\intl
25 = Cursors
26 = Media
27 = java
28 = java\classes
29 = java\trustlib
30 = system32\ShellExt
31 = Web
32 = system32\Setup
33 = Web\printers
34 = system32\spool\drivers\color
35 = system32\wbem
36 = system32\wbem\Repository
37 = addins
38 = "Connection Wizard"
39 = "Driver Cache\i386"

2006-9-18 22:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  果然带有敏感字符,|和||就是,汗一个先。

  如果只想达到目的,那么,就不要用批处理来解决吧,用记事本的替换功能就不会出错了——虽然批处理能解决这个问题,但是代码将会显得比较臃肿。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-18 22:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 10 楼』:  

LAYOUT.INF中并没有你说的敏感字符|和||,也没有替换成功.

2006-9-18 22:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 11 楼』:  

我想你是要i386替换成MININT吧!看下下面的可以不!

  Quote:
@echo off
cd.>layout_.inf
cd.>peconfig_.ini
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (C:\MININT\INF\LAYOUT.INF) do (
    set var=%%i
    set "var=!var:i386=MININT!"
    echo !var!>>layout_.inf
)
for /f "tokens=*" %%i in (C:\MININT\PECONFIG.INI) do (
    set str=%%i
    set "str=!str:i386=MININT!"
    echo !str!>>peconfig_.ini
)





我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-9-19 01:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 12 楼』:  



  Quote:
@echo off
cd.>layout_.inf
cd.>peconfig_.ini
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (C:\MININT\INF\LAYOUT.INF) do (
    set var=%%i
    set "var=!var:i386=MININT!"
    echo !var!>>layout_.inf
)
for /f "tokens=*" %%i in (C:\MININT\PECONFIG.INI) do (
    set str=%%i
    set "str=!str:i386=MININT!"
    echo !str!>>peconfig_.ini
)

第一个成功,第二个不成功

2006-9-19 03:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 13 楼』:  

第二个是空的吗?是的话就是你给的路径错了!第二个里还有I386吗?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-9-19 04:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 14 楼』:  

可是我是成功了的啊!



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-9-19 04:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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



  Quote:
Originally posted by tclshx at 2006-9-18 22:16:
LAYOUT.INF中并没有你说的敏感字符|和||,也没有替换成功.

  虽然没有敏感字符|或者||,但是CMD的敏感字符并非只它两个,可能含有其他的敏感字符,建议你把两个文件的内容都贴全。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-19 05:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: