无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: zhs509
打印 上一主题 下一主题

【不回复也可见】【20120621】ZHS多功能维护盘【简繁体中文菜单】【绝版】

  [复制链接]
1321#
发表于 2012-5-8 18:56:25 | 只看该作者

回复 #1320 zhs509 的帖子

能够跳过空驱动器当然最好,可是那段代码在联想实体机没有效果啊。。。

我载试试看老大新提供的啊。。呵呵,我那台联想的G460一直拖着没给同学,就想着解决这个问题呢。。嘿嘿

[ 本帖最后由 2011hiboy 于 2012-5-8 18:57 编辑 ]
回复

使用道具 举报

1322#
发表于 2012-5-8 18:57:45 | 只看该作者
楼上更新了,请用#1322楼试一下。
回复

使用道具 举报

1323#
 楼主| 发表于 2012-5-8 19:03:54 | 只看该作者
原帖由 2011mking 于 2012-5-8 18:57 发表
楼上更新了,请用#1322楼试一下。

用批处理的调用没问题,petools.ini的没调用成功
回复

使用道具 举报

1324#
发表于 2012-5-8 19:07:07 | 只看该作者
原帖由 2011mking 于 2012-5-8 18:55 发表


修正一下:
On Error Resume Next
Dim fso, SubDrives, i,File
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
set ws=WScript.CreateObject("WScript.Shell")
F ...



老大新给出的vbs可以加载了,但是依旧有磁盘错误

老大,我想起一个重要的问题:
这是那个xx.exe里面的代码:
----------------------------------
@echo off
:T1
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 (
  if exist %%a:\PETOOLS\AUTO.ini  PECMD LOAD %%a:\PETOOLS\AUTO.ini)
------------------------------------------
你给出的VBS不管如何想要加载外置都要调用上面这段代码,
调用上面的这段代码的话因为有空驱动器,依旧问题如初。。

设想:
VBS可以跳过空驱动器,能否让VBS把有用的磁盘驱动器变量%dev%传递给批处理呢???

我批处理的代码就能改成:

@echo off
:T1
if exist %dev%:\PETOOLS\AUTO.ini  PECMD LOAD%dev%:\PETOOLS\AUTO.ini)



通过VBS的筛选来指引批处理

[ 本帖最后由 2011hiboy 于 2012-5-8 19:09 编辑 ]
回复

使用道具 举报

1325#
 楼主| 发表于 2012-5-8 19:08:38 | 只看该作者
原帖由 2011hiboy 于 2012-5-8 19:07 发表



老大新给出的vbs可以加载了,但是依旧有磁盘错误

老大,我想起一个重要的问题:
这是那个xx.exe里面的代码:
----------------------------------
@echo off
:T1
for %%a in (C D E F G H I J K  ...

如果没比较好的方按,只好用dos时代菜鸟的VBS脚本折中解决了。。。

嘿嘿 如果可以的话,直接用vbs脚本直接导出文件为批处理,然后执行就更完美了

我对vbs脚本完全不了解。。。

[ 本帖最后由 zhs509 于 2012-5-8 19:11 编辑 ]
回复

使用道具 举报

1326#
发表于 2012-5-8 19:13:53 | 只看该作者
原帖由 zhs509 于 2012-5-8 19:08 发表

如果没比较好的方按,只好用dos时代菜鸟的VBS脚本折中解决了。。。

嘿嘿 如果可以的话,直接用vbs脚本直接导出文件为批处理,然后执行就更完美了


我觉得通过VBS的筛选,指定可用盘符来指引批处理进行外置加载比较合理

原因:VBS可以做到:查看磁盘是否存在,是否可写(昨天老大提供了)
           将存在且可写的盘符设置到变量,我觉得VBS也可以做到

可惜我不会VBS辛苦2011mking 老大了

[ 本帖最后由 2011hiboy 于 2012-5-8 19:15 编辑 ]
回复

使用道具 举报

1327#
发表于 2012-5-8 19:15:07 | 只看该作者
你先试试搜索另一个测试文件,比如  \petools\notepad.exe
先排除是不是 vbs 引发的错误,还是你的这个 exe 中for引发的。

如果确定的vbs可行,你直接将你的auto执行改成vbs来执行不就行了吗?
回复

使用道具 举报

1328#
 楼主| 发表于 2012-5-8 19:15:19 | 只看该作者
原帖由 2011hiboy 于 2012-5-8 19:13 发表


我觉得通过VBS的筛选,指定可用盘符来指引批处理进行外置加载比较合理

原因:VBS可以做到:查看磁盘是否存在,是否可写(昨天老大提供了)
           将存在且可写的盘符设置到变量,我觉得VBS也可以做到

如果可以将那些盘符导出到一个文件disk.txt,那应该就好办多了。。。

批处理比较好的估计就会从disk.txt获取盘符了

回复 #1329 2011mking 的帖子
我猜测是它的for引发的,去了不该去的地方。。。

我自己则是调用任意分区的PETOOLS\PETOOLS.INI

[ 本帖最后由 zhs509 于 2012-5-8 19:17 编辑 ]
回复

使用道具 举报

1329#
发表于 2012-5-8 19:29:53 | 只看该作者

回复 #1329 2011mking 的帖子

肯定是for引起的。。。和vbs没有关系。。

但如果vbs调用含有for···(c d ···z)类似的语句,那么一起的问题又将到原回点。。


因为加载外置里面还有很多if命令。。vbs我又不会。。。

最好就是去除批处理里面的for命令,通过vbs引导bat执行。。

auto执行改成vbs来执行????不懂啥意思。。。

[ 本帖最后由 2011hiboy 于 2012-5-8 19:38 编辑 ]
回复

使用道具 举报

1330#
发表于 2012-5-8 19:43:36 | 只看该作者
原帖由 zhs509 于 2012-5-8 18:30 发表
那应该是要靠前一些调用,我下面的代码应该也是没问题的,我修改的pe刚好自带了setx.exe
我是进入桌面后pecmd调用的批处理,IE的有生效。临时目录的没生效,但注销也生效了
@echo off
color 0a
pushd % ...

刚才测试了一下老大的0503版7PE,同样的调用方式却压根没有生效,連R盘都没有创建!奇怪。。。
回复

使用道具 举报

1331#
 楼主| 发表于 2012-5-8 19:46:39 | 只看该作者
原帖由 elai 于 2012-5-8 19:43 发表

刚才测试了一下老大的0503版7PE,同样的调用方式却压根没有生效,連R盘都没有创建!奇怪。。。

0503版本版本的本来就没创建R盘的。。。

只是今天玩一玩创建内存盘的
回复

使用道具 举报

1332#
发表于 2012-5-8 19:54:07 | 只看该作者

【20120503】背景图片显示还是有些小问题

在ThinkPadE520 i3处理器笔记本中测试,背景图片显示还是有些小问题,背景图片相当于是平铺,不是拉伸,以前版本也有过此问题

“进入RUN”模块,背景图片显示也是一样,背景相当于一张图片还多一部分

“Memtest内存检测”等几个模块,下面的英文注释,不是居中显示,

还有就是,启动后菜单模块显示前,等待的时间有些长,暂时只发现了这些小问题
回复

使用道具 举报

1333#
 楼主| 发表于 2012-5-8 19:57:32 | 只看该作者
原帖由 2012bdsjhf 于 2012-5-8 19:54 发表
在ThinkPadE520 i3处理器笔记本中测试,背景图片显示还是有些小问题,背景图片相当于是平铺,不是拉伸,以前版本也有过此问题

“进入RUN”模块,背景图片显示也是一样,背景相当于一张图片还多一部分

“M ...

其实背景图的可以解决,但是为了保证进入VBE模式,我故意设置较大的分辨率范围(你可以改为不超过800×600就没问题)

当可识别的最佳分辨率超过800×600时,背景会多出一块。。。

或者可以自己修改菜单——个人时感觉没必要修改,这个可能出现的问题很久之前我就知道了
回复

使用道具 举报

1334#
发表于 2012-5-8 20:09:59 | 只看该作者
原帖由 zhs509 于 2012-5-8 19:46 发表

0503版本版本的本来就没创建R盘的。。。

只是今天玩一玩创建内存盘的

当然是我自己加入相关文件后,再在PECMD中EXEC !%ProgramFiles%\Keys\创建内存盘并设置临时文件夹.exe调用!但是没起作用!!!
回复

使用道具 举报

1335#
发表于 2012-5-8 20:22:48 | 只看该作者
原帖由 2011hiboy 于 2012-5-8 19:29 发表
肯定是for引起的。。。和vbs没有关系。。
但如果vbs调用含有for···(c d ···z)类似的语句,那么一起的问题又将到原回点。。
因为加载外置里面还有很多if命令。。vbs我又不会。。。
最好就是去 ...


处理好了,可用驱动器写在了环境变量 DDS 中,自行调用即可。
On Error Resume Next
Dim fso, SubDrives, i,DDS
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
set ws=WScript.CreateObject("WScript.Shell")
For Each i In SubDrives
    if i.IsReady=true then DDS=DDS&" "&i.DriveLetter
Next
Set pSysEnv = ws.Environment("System")
pSysEnv("DDS") = DDS

下面是运行上面的VBS后查看dds变量的结果
回复

使用道具 举报

1336#
 楼主| 发表于 2012-5-8 20:27:48 | 只看该作者
原帖由 2011mking 于 2012-5-8 20:22 发表


处理好了,可用驱动器写在了环境变量 DDS 中,自行调用即可。
On Error Resume Next
Dim fso, SubDrives, i,DDS
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
s ...

谢谢老大。。。
这个好啊。。。

直接调用这个变量就是了
回复

使用道具 举报

1337#
 楼主| 发表于 2012-5-8 20:35:40 | 只看该作者
原帖由 2011mking 于 2012-5-8 20:22 发表


处理好了,可用驱动器写在了环境变量 DDS 中,自行调用即可。
On Error Resume Next
Dim fso, SubDrives, i,DDS
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
s ...

谢谢老大,我批处理基础太差了!
老大能否简单给个例子?
回复

使用道具 举报

1338#
发表于 2012-5-8 20:37:29 | 只看该作者
先运行这个vbs,假设名为DiskEnv.vbs

pecmd.ini中
Exec =Wscript.exe DiskEnv.vbs

然后用原来的 For ,只不过括号中的(C D E...)就改成了(%DDS%)了。

[ 本帖最后由 2011mking 于 2012-5-8 20:44 编辑 ]
回复

使用道具 举报

1339#
 楼主| 发表于 2012-5-8 20:40:02 | 只看该作者
原帖由 2011mking 于 2012-5-8 20:37 发表
先运行这个vbs,然后

还是用原来的 For ,只不过括号中的 内容改成 %DDS% 试试。

可以了,谢谢老大。。。

原来我之前的另外的批处理有问题
回复

使用道具 举报

1340#
发表于 2012-5-8 20:58:16 | 只看该作者
原帖由 elai 于 2012-5-8 20:09 发表

当然是我自己加入相关文件后,再在PECMD中EXEC !%ProgramFiles%\Keys\创建内存盘并设置临时文件夹.exe调用!但是没起作用!!!


估计是imdisk注册表没有导入或有问题,只解决文件,第一次调用会启动不了的。
重导一下imdisk的注册表试试。(下面附件你需要挂载software和system,挂载到HKEY_LOCAL_MACHINE下,分别取名为soft和sys,然后导入)

imdisk.rar

910 Bytes, 下载次数: 19, 下载积分: 无忧币 -2

回复

使用道具 举报

1341#
发表于 2012-5-8 20:58:34 | 只看该作者
原帖由 elai 于 2012-5-8 19:43 发表
刚才测试了一下老大的0503版7PE,同样的调用方式却压根没有生效,連R盘都没有创建!奇怪。。。
原帖由 zhs509 于 2012-5-8 19:46 发表
0503版本版本的本来就没创建R盘的。。。
只是今天玩一玩创建内存盘的
原帖由 elai 于 2012-5-8 20:09 发表
当然是我自己加入相关文件后,再在PECMD中EXEC !%ProgramFiles%\Keys\创建内存盘并设置临时文件夹.exe调用!但是没起作用!!!

晕,原来是EXEC !%ProgramFiles%\Keys\创建内存盘并设置临时文件夹.exe中的KEYS多了S,改为EXEC !%ProgramFiles%\Key\创建内存盘并设置临时文件夹.exe,一切OK了!
回复

使用道具 举报

1342#
发表于 2012-5-8 21:00:51 | 只看该作者
原帖由 2011mking 于 2012-5-8 20:58 发表


估计是imdisk注册表没有导入或有问题,只解决文件,第一次调用会启动不了的。
重导一下imdisk的注册表试试。(下面附件你需要挂载software和system,挂载到HKEY_LOCAL_MACHINE下,分别取名为soft和sys,然后导入)

是我自己搞错了!PECMD.INI中的EXEC !%ProgramFiles%\Keys\创建内存盘并设置临时文件夹.exe中的KEYS多了S,改为EXEC !%ProgramFiles%\Key\创建内存盘并设置临时文件夹.exe,一切OK了!
回复

使用道具 举报

1343#
 楼主| 发表于 2012-5-8 21:11:02 | 只看该作者
原帖由 elai 于 2012-5-8 21:00 发表

是我自己搞错了!PECMD.INI中的EXEC !%ProgramFiles%\Keys\创建内存盘并设置临时文件夹.exe中的KEYS多了S,改为EXEC !%ProgramFiles%\Key\创建内存盘并设置临时文件夹.exe,一切OK了!

能用就好。。。
我自己用的也改下看看效果会不会好点。。。

我自己是改名为Y盘了,其实都一样的
回复

使用道具 举报

1344#
发表于 2012-5-8 21:26:27 | 只看该作者

回复 #1337 2011mking 的帖子

太太太太太太太太太太感谢了
我这就去试试。。
回复

使用道具 举报

1345#
发表于 2012-5-8 21:35:00 | 只看该作者
原帖由 2011mking 于 2012-5-8 20:22 发表


处理好了,可用驱动器写在了环境变量 DDS 中,自行调用即可。
On Error Resume Next
Dim fso, SubDrives, i,DDS
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
s ...



哈哈哈,成功了!!
Perfect!!!!
谢谢2011mking老大
回复

使用道具 举报

1346#
 楼主| 发表于 2012-5-8 21:37:58 | 只看该作者

回复 #1347 2011hiboy 的帖子

嘿嘿 我失败了。。。
     自己继续找原因,调整下代码。。。
回复

使用道具 举报

1347#
发表于 2012-5-8 21:58:42 | 只看该作者
还不错,下来用用。谢谢分享
回复

使用道具 举报

1348#
发表于 2012-5-9 00:04:29 | 只看该作者
不错的PE,收下了!!
回复

使用道具 举报

1349#
发表于 2012-5-9 00:42:56 | 只看该作者
原帖由 zhs509 于 2012-5-8 21:37 发表
嘿嘿 我失败了。。。
     自己继续找原因,调整下代码。。。


进桌面调没问题,可不进桌面有问题,现已更改为新代码,经开机测试(我的外置要自动设R盘的,没成功R盘设不上) 没有问题了。

解决方案如下(原来VBS写环境用于Pe登陆前无法生效,现改为输出参数到CMD):

DiskEnv.vbs (放到system32下)
-----------------------
On Error Resume Next
Dim fso, SubDrives, i,DDS
Set fso = CreateObject("Scripting.FileSystemObject")
Set SubDrives = fso.Drives
set ws=WScript.CreateObject("WScript.Shell")
For Each i In SubDrives
    if i.IsReady=true then DDS=DDS&" "&i.DriveLetter
Next
WScript.StdOut.Write DDS & Chr(13)


Findpetools.cmd 调用(仅示例,可以用自已的cmd)
----------------------------
@echo off
PUSHD %~dp0

for /f "delims=" %%a in ('Wscript //nologo %CD%\DiskEnv.vbs') do (
set DDS=%%a)

for %%a in (%DDS%) do (
  if exist %%a:\PETOOLS\安装驱动.cmd  Pecmd Exec !=%%a:\PETOOLS\外置安装.cmd && goto :end)

:end
Exit

注意,我这里的FindPetools是与DiskEnv.vbs放在同一目录的,如果没有放在同一目录,请改语句中的%CD%为相应的DiskEnv.vbs所在目录

将红字部份改为你的代码就行了。

[ 本帖最后由 2011mking 于 2012-5-9 00:44 编辑 ]
回复

使用道具 举报

1350#
 楼主| 发表于 2012-5-9 00:54:25 | 只看该作者
原帖由 2011mking 于 2012-5-9 00:42 发表


进桌面调没问题,可不进桌面有问题,现已更改为新代码,经开机测试(我的外置要自动设R盘的,没成功R盘设不上) 没有问题了。

解决方案如下(原来VBS写环境用于Pe登陆前无法生效,现改为输出参数到CMD):
...

谢谢老大,刚刚重启测试加载外置没问题了


  1. @echo off
  2. PUSHD %~dp0
  3. for /f "delims=" %%a in ('Wscript //nologo %CD%\DiskEnv.vbs') do (
  4. set DDS=%%a)

  5. for %%a in (%DDS%) do (
  6. PECMD.EXE LOAD %%a:\PETOOLS\PETOOLS.INI
  7. dir /a %%a:\PETOOLS >nul 2>nul&&(
  8. for /f "delims=" %%b in ('dir %%a:\PETOOLS /a-d /b /s') do PECMD LINK %%startmenu%%\%%~pb\%%~nxb,%%b
  9. )
  10. )

复制代码

[ 本帖最后由 zhs509 于 2012-5-9 01:03 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-29 13:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表