无忧启动论坛

标题: 求一个在安装xp系统时能够选择性的替换某个文件的p处理 [打印本页]

作者: nnd76543    时间: 2011-3-8 11:26
标题: 求一个在安装xp系统时能够选择性的替换某个文件的p处理
因为研究需要,求一个“在安装xp系统时能够选择性的替换某个文件“的p处理
    假设xp的i386内有个xxx文件,而我又做了一个xxx1不同的文件,由于是是在光盘内的,所以,安装前是没法替换的,只有在复制到硬盘时才能够选择是选用原来的xxx文件还是将xxx改名为其他名字将xxx1改名为xxx文件到安装程序!
    求高手出手做一p处理(最好可以吻合到winnt32文件里,我可以做2个winnt32.BAT文件分别对应),先谢过了!
作者: 2011c16940    时间: 2011-3-8 13:43
你说这个是不是可以oem文件夹解决阿?你要复制什么文件到什么地方啊?
作者: 2011c16940    时间: 2011-3-8 13:44
如果是批处理执行winnt32恐怕不行,但是你可以考虑$oem$文件夹的CMDLINES.TXT来执行批处理!
作者: nnd76543    时间: 2011-3-8 14:38
1.是精简版的,呵呵
2.改动的是HIVESFT.INF和WINNT.SIF这2个文件

就是不懂如何搞定呀,请高人指点具体的语句,谢谢

[ 本帖最后由 nnd76543 于 2011-3-8 14:41 编辑 ]
作者: 2011c16940    时间: 2011-3-8 15:48
在安装过程中修改这两个文件??好像意义不大吧!?
很多情况你都可以在集成的时候就处理了,然后用HIVESFT.INF、WINNT.SIF和CMDLINES.TXT调用批处理处理

不知道你要最终要实现什么?
作者: nnd76543    时间: 2011-3-8 16:35
兄弟您好,谢谢关注,我的本意是“文件1将xp安装在不和win7同一个分区”(选用原有的xp中HIVESFT.INF、WINNT.SIF这2个安装文件----即不变动),“文件2则将xp安装在和win7同一个分区”(那就必须将原有的HIVESFT.INF、WINNT.SIF这2个文件在安装时换成自己已经改过的特有文件),说的明白了吗?有些绕口,嘻嘻
作者: 2011c16940    时间: 2011-3-8 16:54
明白了!
但是这个用光盘安装,要在WINXP识别这两个文件之前替换,好像不太容易实现!
也许你可以考虑制作成U盘或者硬盘安装之后要容易些
作者: nnd76543    时间: 2011-3-8 18:03
正因为光盘上无法更换文件,所以我想只能是在系统第一次将光盘上的文件自动copy到磁盘后自动重启之前这一时间段内将2个文件替换进去!或者是在光盘里做个文件夹,里面放了要换的2个文件,然后在copy的时候就可以用p处理文件选择其中之一!
作者: 2011c16940    时间: 2011-3-8 18:21
在系统第一次将光盘上的文件自动copy到磁盘后自动重启之前这一时间段内将2个文件替换进去
这个时间做这个事不好办
可能要换个其他思路解决 批处理本身不复杂 可是你怎么判断自动拷贝文件结束了 好像没有哪里可以处理这个判断
作者: nnd76543    时间: 2011-3-8 18:53
WINNT.SIF=1.25k
HIVESFT.INF=588k
是否可以设置时间延迟呀,其实才秒钟的时间,不用判断也行,呵呵
作者: 2011c16940    时间: 2011-3-8 23:53
这恐怕有点困难
要不你去 bbs.bathome.net 问问
作者: nnd76543    时间: 2011-3-9 10:36
去了bbs.bathome.net,那里很冷清哦,呵呵

    退而求其次,假设我的"XITONG\XP\I386"是在u盘或硬盘,我的设想就可以成立了吧,
    1;执行“不同分区.BAT"----->从c盘-z盘搜索"XITONG\XP\I386"并向其中复制“不同分区“文件夹内的2个文件!再运行"XITONG\XP\Winnt32.BAT"
    2;执行“同一分区.BAT"----->从c盘-z盘搜索"XITONG\XP\I386"并向其中复制“同一分区“文件夹内的2个文件!再运行"XITONG\XP\Winnt32.BAT"


    还请兄弟帮忙写出具体P处理,俺是一个老菜鸟,嘻嘻.......

[ 本帖最后由 nnd76543 于 2011-3-9 11:00 编辑 ]
作者: 2011c16940    时间: 2011-3-9 12:54
批处理没有比那里更热闹的了!呵呵!

不同分区.bat
@echo off
SET USBDRIVE=
SET TAGFILE=\XITONG\XP\I386
FOR %%h IN (C D M N O P Q R S T U V W X Y) DO IF EXIST "%%h:%TAGFILE%" SET USBDRIVE=%%h:
if "%USBDRIVE%" == "" (
   FOR %%h IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO IF EXIST "%%h:%TAGFILE%" SET USBDRIVE=%%h:
)
copy /y 不同分区\. %USBDRIVE%\XITONG\XP\I386\. >nul
%USBDRIVE%\XITONG\XP\Winnt32.BAT

同一分区.BAT
@echo off
SET USBDRIVE=
SET TAGFILE=\XITONG\XP\I386
FOR %%h IN (C D M N O P Q R S T U V W X Y) DO IF EXIST "%%h:%TAGFILE%" SET USBDRIVE=%%h:
if "%USBDRIVE%" == "" (
   FOR %%h IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO IF EXIST "%%h:%TAGFILE%" SET USBDRIVE=%%h:
)
copy /y 同一分区\. %USBDRIVE%\XITONG\XP\I386\. >nul
%USBDRIVE%\XITONG\XP\Winnt32.BAT

[ 本帖最后由 2011c16940 于 2011-3-9 13:11 编辑 ]
作者: nnd76543    时间: 2011-3-9 13:21
爬了半天的狗狗,找到一些有用的资料再自己拼接既然也成了一大半(搜索和复制文件)正在拼接运行winnt32.bat呢,嘻嘻,先把东西放上来,”同一分区.BAT“和”不同分区.bat“2个都通用:

@echo off
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
BatchFile code if exist "%%a:\xitong\XP\i386"
xcopy /cqisekrhy "i386" "%%a:\xitong\XP\i386"


pause>nul

[ 本帖最后由 nnd76543 于 2011-3-9 13:24 编辑 ]
作者: nnd76543    时间: 2011-3-9 14:07
原帖由 2011c16940 于 2011-3-9 12:54 发表
批处理没有比那里更热闹的了!呵呵!

不同分区.bat
@echo off
SET USBDRIVE=
SET TAGFILE=\XITONG\XP\I386
FOR %%h IN (C D M N O P Q R S T U V W X Y) DO IF EXIST "%%h:%TAGFILE%" SET USBDRIVE=%%h: ...



兄弟您好,试了您的p处理,执行了最后一条“运行winnt32”的命令,可是前面的查找及复制命令没有执行,呵呵

可以完善我的那个拼接版吗?就差最后一项执行“运行winnt32”的命令“啦!
我已经试了把您的最后一条”%USBDRIVE%\XITONG\XP\Winnt32.BAT“嫁接到我的那个里,结果只执行了这一行,前面的复制就不行了,,

[ 本帖最后由 nnd76543 于 2011-3-9 14:10 编辑 ]
作者: 2011c16940    时间: 2011-3-9 16:23
前面整个就是确认你目录的盘符
然后复制文件过去
不会不执行的

如果嫁接到你那里面应该把
%USBDRIVE%\XITONG\XP\Winnt32.BAT
改为
%%a:\XITONG\XP\Winnt32.BAT




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3