无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
123
返回列表 发新帖
楼主: sratlf
打印 上一主题 下一主题

[分享] RUN 1206 更新 支持磁盘交换,文件检索,自动菜单,自动列表,全自动安装nt5x系统

    [复制链接]
61#
发表于 2014-6-9 16:47:50 | 显示全部楼层
本帖最后由 527104427 于 2014-6-9 16:54 编辑

报告S大,发现一处问题


看来,还是得判断一下括号是不是在行首才行啊

1.png (4.53 KB, 下载次数: 191)

1.png

2.png (8.51 KB, 下载次数: 180)

2.png

3.png (10.53 KB, 下载次数: 188)

3.png

4.png (7.4 KB, 下载次数: 177)

4.png

66.png (11.19 KB, 下载次数: 182)

66.png
回复

使用道具 举报

62#
发表于 2014-6-9 17:04:18 | 显示全部楼层
问题解决,

将这句:
::tmp值为最近[位置
set /a tmp=%?% + 1 > nul


改成:
::tmp值为最近[位置
set /a tmp=%?% + 2 > nul




将这句:
:get_[
::tmp值为检测段开始位置,每次检测1kb,比较数值大小不能加双引号,否则出错
if %tmp%<=%~2 && set tmp=0 ! set /a tmp=%tmp% - %~2 > nul
cat --skip=%tmp% --length=%~2 --locate=[ %inipath% > nul && exit
if %tmp%<=0 && exit 1
goto :get_[



改成:
:get_[
::tmp值为检测段开始位置,每次检测1kb,比较数值大小不能加双引号,否则出错
if %tmp%<=%~2 && set tmp=0 ! set /a tmp=%tmp% - %~2 > nul
cat --skip=%tmp% --length=%~2 --locate=\n[ %inipath% > nul && exit
if %tmp%<=0 && exit 1
goto :get_[

点评

前后都可以加上换行的判断 ::tmp值为最近[位置 set /a tmp=%?% + 2 > nul cat --skip=%tmp% --locate="]\xD" --number=1 %inipath% > nul || exit :get_[ ... cat --skip=%tmp% --length=%~2 --locate="\x  详情 回复 发表于 2014-6-9 17:39
回复

使用道具 举报

63#
发表于 2014-6-9 21:03:54 | 显示全部楼层
sratlf 发表于 2014-6-9 17:39
前后都可以加上换行的判断

::tmp值为最近[位置

S大看一下,这段改成这样应该更严谨一点


  1. :hwid_check
  2. set tmp=
  3. if "%~3"=="" && exit
  4. ::排除ID的行首被;注销的情况
  5. cat --length=0x%~3 --locate=";" %inipath% | set tmp=
  6. if exist tmp && calc %?% > nul && set /a tmp=%?% > nul && calc 0x%~3 - %?% - 1 > nul
  7. if exist tmp && cat --skip=%tmp% --length=%@retval% --locate="\xD\xA" %inipath% > nul
  8. if exist tmp && calc %?% > nul || shift 3 && goto :hwid_check
  9. ::不以,或"结尾则继续
  10. ::比如ID为PCI\VEN_1000&DEV_0054,搜到的却是PCI\VEN_1000&DEV_0054&SUBSYS_1F041028
  11. calc 0x%~3 + 16 > nul
  12. cat --skip=%@retval% --length=1 %inipath% | set tmp=
  13. ::加引号比较字符串大小会转为ascii码再比较
  14. if "%tmp%">="0x22" if "%tmp%"<="0x22" || if "%tmp%"=="," || shift 3 && goto :hwid_check
  15. calc 0x%~3 - %~2 + 16 > nul
  16. cat --skip=%@retval% --length=%~2 %inipath% | set /u tmp=
  17. call Fn.15 "%~1" "%tmp%" && shift 3 && goto :hwid_check
  18. ::tmp值为匹配ID位置
  19. set /a tmp=0x%~3 - %~2 + 16 > nul
  20. exit
复制代码

点评

怎么还有行首;注释情况。。。 再看看还有什么特殊的没。。。  详情 回复 发表于 2014-6-9 21:07
回复

使用道具 举报

64#
发表于 2014-6-9 21:19:04 | 显示全部楼层
sratlf 发表于 2014-6-9 21:07
怎么还有行首;注释情况。。。  再看看还有什么特殊的没。。。




还真有,行首为 exc 的也不能要

点评

为exc的为什么不能用。。。  详情 回复 发表于 2014-6-9 21:47
回复

使用道具 举报

65#
发表于 2014-6-9 21:47:51 | 显示全部楼层
本帖最后由 527104427 于 2014-6-9 22:07 编辑
sratlf 发表于 2014-6-9 21:07
怎么还有行首;注释情况。。。  再看看还有什么特殊的没。。。


这样就好了:


  1. :hwid_check
  2. set tmp=
  3. if "%~3"=="" && exit
  4. ::不以 ms_ 开头则继续搜索
  5. cat --length=0x%~3 --locate="\xD\xA" %inipath% > nul
  6. calc %?% + 2 > nul
  7. cat --skip=%@retval% --length=3 --locatei="ms_" %inipath% > nul
  8. calc %?% > nul || shift 3 && goto :hwid_check
  9. ::不以 , 或 " 结尾则继续搜索
  10. ::比如ID为PCI\VEN_1000&DEV_0054,搜到的却是PCI\VEN_1000&DEV_0054&SUBSYS_1F041028
  11. calc 0x%~3 + 16 > nul
  12. cat --skip=%@retval% --length=1 %inipath% | set tmp=
  13. ::加引号比较字符串大小会转为ascii码再比较
  14. if "%tmp%">="0x22" if "%tmp%"<="0x22" || if "%tmp%"=="," || shift 3 && goto :hwid_check
  15. calc 0x%~3 - %~2 + 16 > nul
  16. cat --skip=%@retval% --length=%~2 %inipath% | set /u tmp=
  17. call Fn.15 "%~1" "%tmp%" && shift 3 && goto :hwid_check
  18. ::tmp值为匹配ID位置
  19. set /a tmp=0x%~3 - %~2 + 16 > nul
  20. exit
复制代码
回复

使用道具 举报

66#
发表于 2014-6-9 21:51:56 | 显示全部楼层
sratlf 发表于 2014-6-9 21:47
为exc的为什么不能用。。。

这有一段奇怪的代码,不知道用来干嘛的


1.png (31.63 KB, 下载次数: 178)

1.png

点评

貌似是和什么配置有关的 找到一个相近的解释 http://forum.driverpacks.net/viewtopic.php?id=3161  详情 回复 发表于 2014-6-9 22:06
回复

使用道具 举报

67#
发表于 2014-6-9 22:19:52 | 显示全部楼层
sratlf 发表于 2014-6-9 22:06
貌似是和什么配置有关的  找到一个相近的解释  http://forum.driverpacks.net/viewtopic.php?id=3161

估计是 DPs.exe 的配置,应该跟搜索ID的位置无关

点评

应该是吧 那综合起来就是行首不为 ; 且以 ms_ 开头的是吧 还有其他要求吗  详情 回复 发表于 2014-6-9 22:28
回复

使用道具 举报

68#
发表于 2014-6-9 22:40:29 | 显示全部楼层
sratlf 发表于 2014-6-9 22:28
应该是吧  那综合起来就是行首不为 ;   且以 ms_ 开头的是吧  还有其他要求吗

满足 以 ms_ 开头就行了(行首不为;也包括在内),S大看 #2690 代码

点评

恩 看到了 是不是搜索的多了点。。。  详情 回复 发表于 2014-6-9 22:59
回复

使用道具 举报

69#
发表于 2014-6-9 23:18:31 | 显示全部楼层
sratlf 发表于 2014-6-9 22:59
恩  看到了  是不是搜索的多了点。。。

是挺多的,搜少了不好计算,干脆就全搜了吧

点评

貌似被我改复杂了  详情 回复 发表于 2014-6-10 00:50
回复

使用道具 举报

70#
发表于 2014-6-10 06:47:56 | 显示全部楼层
sratlf 发表于 2014-6-10 00:50
貌似被我改复杂了

S大这么晚还没休息

点评

是到家先睡了一会然后起来的。。。  详情 回复 发表于 2014-6-10 09:34
回复

使用道具 举报

71#
发表于 2014-11-29 10:18:31 | 显示全部楼层
sratlf 发表于 2014-11-28 15:56
其实你可以用 RUN --swap /boot/KONBOOT2.4.IMG 的。。。

S大请测试,中文列表出现乱码:

TEST.7z

800.59 KB, 下载次数: 6, 下载积分: 无忧币 -2

点评

把grldr换成0.46a的就可以了 0.45c不支持joliet格式  详情 回复 发表于 2014-11-29 10:43
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-15 20:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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