窄口牛 发表于 2018-3-15 19:34:43

哪位研究出一个下载更新g4d的工具

批处理估计很难实现(第三方帮助下),用别的语言吧。

nttwqz 发表于 2018-3-15 21:57:41

本帖最后由 nttwqz 于 2018-3-27 13:22 编辑

@echo off
title %~n0
echo 最新版检测中,请稍候...
set tempfilename=g4dtemp%random%.log
aria2c -d %temp% -o %tempfilename%http://grub4dos.chenall.net >nul
for /f "tokens=2,3 delims=/" %%a in ('type "%temp%\%tempfilename%" ^| findstr /i "<h1.*.7z" ^| find /n /v "" ^| find ""') do (
        set "name=%%b"
        set "tempurl=http://grub4dos.chenall.net/%%a/%%b"
)
cls & echo;最新版: %name%
echo;
echo;是否下载?
set tempfilename=g4dtemp%random%.log
aria2c -d %temp% -o %tempfilename% %tempurl% >nul
for /f tokens^=2^ delims^=^" %%i in ('type "%temp%\%tempfilename%" ^| find "<tr><td>File:</td><td><a href="') do set "url=%%i"
pause>nul
aria2c -d "%~dp0\" %url%
pushd %temp%
del /f /q g4d*.log >nul 2>nul
pause>nul

基于aria2c实现,请自行下载该文件

江南一根葱 发表于 2018-3-15 20:09:38

本帖最后由 江南一根葱 于 2018-3-15 20:21 编辑

这个应该简单吧,就下载指定7z,还是要里面的grldr,

而且fbinsttool1.7就能更新。。

freesoft00 发表于 2018-3-15 20:48:12

配合第三方下载。wget或者curl或者aria2+批处理。
或者微软的ps脚本应该也可以吧。

窄口牛 发表于 2018-3-15 21:44:31

主要是下载列表几年的都在一页,没办法分开,在源文件搜索最新时间,再找到下载链接,不是很容易。

nttwqz 发表于 2018-3-15 22:01:49

忘了加清理log临时文件的命令,自己改吧

顺便把aria2c 64传上来吧,32为下载无速度。。。

lbw2007 发表于 2018-3-16 07:56:07

fbinsttool内置grldr更新工具

窄口牛 发表于 2018-3-16 08:41:52

本帖最后由 窄口牛 于 2018-3-16 08:44 编辑

高手就是高手,非常迅速。感谢!仔细看成品勉强理解,自己写还是写不来。

江南一根葱 发表于 2018-3-16 09:24:37

窄口牛 发表于 2018-3-16 08:41
高手就是高手,非常迅速。感谢!仔细看成品勉强理解,自己写还是写不来。

应该还简单的吧,最新版都是放在http://grub4dos.chenall.net/这页,正则表达式提取新版页面,
新版url再提取文件

江南一根葱 发表于 2018-3-16 09:26:03

我一般用wget+bat{:1_186:}
完整环境可以用bat+vbs,,v

nttwqz 发表于 2018-3-16 11:31:43

窄口牛 发表于 2018-3-16 08:41
高手就是高手,非常迅速。感谢!仔细看成品勉强理解,自己写还是写不来。

其实这个比较简单,你查看下网页源码,然后看看手动怎么下的,查找下链接,找下规律就明白了

用命令就是下载网页,查找所在行,提取文本,然后在下载重复获得下载链接。

其实下载一次就能获得最终下载链接,为了保险起见下了两次。因为该网站下载地址有规律,可以自己组合出来下载地址……

acer669 发表于 2018-3-16 12:00:11

nttwqz 发表于 2018-3-15 21:57
基于aria2c实现,请自行下载该文件

很精辟的批处理。

想请教一下下面的一句中 ^ 符号的作用,谢谢!
for /f tokens^=2^ delims^=^" %%i in ('type "%temp%\%tempfilename%" ^| find "<tr><td>File:</td><td><a href="') do set "url=%%i"

nttwqz 发表于 2018-3-17 10:15:15

acer669 发表于 2018-3-16 12:00
很精辟的批处理。

想请教一下下面的一句中 ^ 符号的作用,谢谢!


肯定也是转义作用,这个是for /f 用"作为分隔符的特殊用法,并不是我自己想出来的,而是批处理之家学的

下面也是^的一种用法,作用是转义了末尾隐含的回车

echo 欢迎^
来到^
无忧启动论坛

等同于

echo 欢迎来到无忧启动论坛

窄口牛 发表于 2018-3-17 14:18:07

补一个CURL版的
@echo off
echo 最新版检测中,请稍候...
set tempfilename=g4dtemp%random%.log
bin\curl http://grub4dos.chenall.net>>%temp%\%tempfilename% 2>nul

for /f "tokens=2,3 delims=/" %%a in ('type "%temp%\%tempfilename%" ^| findstr /i "<h1.*.7z" ^| find /n /v "" ^| find ""') do (
      set "name=%%b"
      set "tempurl=http://grub4dos.chenall.net/%%a/%%b"
)
set tempfilename=g4dtemp%random%.log
bin\curl %tempurl%/>>%temp%\%tempfilename% 2>nul
for /f tokens^=2^ delims^=^" %%i in ('type "%temp%\%tempfilename%" ^| find "<tr><td>File:</td><td><a href="') do set "url=%%i"
cls & echo;最新版: %name%
del %temp%\g4d*.log
bin\curl %url% -o %temp%\%name%.7z
bin\7z e%temp%\%name%.7z grub4dos-0.4.6a\grldr -aoa
del %temp%\%name%.7z

chenall 发表于 2018-3-17 17:19:31

本帖最后由 chenall 于 2018-3-17 17:25 编辑

http://b.chenall.net/grldr
以上链接就是最新版本

历史版本下载
http://b.chenall.net/grldr/VER/DATE
比如 0.4.6a 20180315版本
http://b.chenall.net/grldr/0.4.6a/20180315



注: 要下载grub.exe或ipxegrldr直接替换上面网址的grldr就行了

527104427 发表于 2018-3-17 17:57:37

chenall 发表于 2018-3-17 17:19
http://b.chenall.net/grldr
以上链接就是最新版本



能否获取所有版本列表?

江南一根葱 发表于 2018-3-17 21:55:54

527104427 发表于 2018-3-17 17:57
能否获取所有版本列表?

{:1_186:}你博客发布的cgi增强版在gpt分区下好像识别分区进行备份还原有问题。
gpt磁盘下如果存在esp和msr分区,cgi增强版识别到的实际系统分区是1:2 , 实质是1:3,虽然识别到的盘符是对的,但备份和还原都是错的。

freesoft00 发表于 2018-3-17 22:01:34

江南一根葱 发表于 2018-3-17 21:55
你博客发布的cgi增强版在gpt分区下好像识别分区进行备份还原有问题。
gpt磁盘下如果存在esp和m ...

那么这个就是一个严重错误了。{:1_187:}

江南一根葱 发表于 2018-3-17 22:21:19

freesoft00 发表于 2018-3-17 22:01
那么这个就是一个严重错误了。

就是不能正常使用,不过这个错误幸好不会影响数据。。因为那两个分区太小了,ghost是直接报错的。

freesoft00 发表于 2018-3-17 22:37:51

江南一根葱 发表于 2018-3-17 22:21
就是不能正常使用,不过这个错误幸好不会影响数据。。因为那两个分区太小了,ghost是直接报错的。

那还好了。

527104427 发表于 2018-3-17 22:40:12

江南一根葱 发表于 2018-3-17 21:55
你博客发布的cgi增强版在gpt分区下好像识别分区进行备份还原有问题。
gpt磁盘下如果存在esp和m ...

内置插件的问题,C大没有公开算法原理,处理不了。

江南一根葱 发表于 2018-3-17 22:54:36

freesoft00 发表于 2018-3-17 22:37
那还好了。

嗯,我也第一次遇到这种环境,因为要批量用正版系统,又得弄个镜像,,

试了n个一键还原软件在这个环境上全跪,
然后我只好临时自己写了个只能在这个环境用的一键还原

acer669 发表于 2018-3-19 09:28:06

nttwqz 发表于 2018-3-17 10:15
肯定也是转义作用,这个是for /f 用"作为分隔符的特殊用法,并不是我自己想出来的,而是批处理之家学的
...

按上面的解释:使用了 ^ 符号,可能等同于后面的查找中忽略了网页源代码中的回车符……

原来如此,高明!谢谢解答!!!{:1_195:}

acer669 发表于 2018-3-19 11:11:16

chenall 发表于 2018-3-17 17:19
http://b.chenall.net/grldr
以上链接就是最新版本



原来有更直接的下载方式,捷径一个! {:1_183:}

acer669 发表于 2018-3-19 12:01:15

本帖最后由 acer669 于 2018-3-19 12:02 编辑

527104427 发表于 2018-3-17 17:57
能否获取所有版本列表?

五大,您好!在您新浪博客里的作品: SISO、NTBOOT等工具里的 VBoot 模块,启动XP VHD时蓝屏、提示7B错误,能否抽时间解决一下,谢谢!

527104427 发表于 2018-3-19 12:11:39

acer669 发表于 2018-3-19 12:01
五大,您好!在您新浪博客里的作品: SISO、NTBOOT等工具里的 VBoot 模块,启动XP VHD时蓝屏、提示7B ...

vhd传上来看看呗,有空慢慢研究

acer669 发表于 2018-3-21 09:53:10

本帖最后由 acer669 于 2018-3-21 09:58 编辑

527104427 发表于 2018-3-19 12:11
vhd传上来看看呗,有空慢慢研究

感谢回复!

家用的电脑上,一个一直用SISO启动并使用正常的系统,隔了一段时间没使用,再启动时显示7B蓝屏,多次启动结果还是一样。这个VHD系统有一个关联的子系统,启动的是这个子系统,我曾尝试过使用WContig整理碎片,提示无法整理,感觉不像是磁盘整理导致的文件不连续分布或VHD文件损坏的原因,就怀疑到是不是相应的VBoot模块的问题了……

曾尝试使用过多个VHD系统,最终选定了一个作为游戏系统使用,现在我也说不上来具体的名称了。等星期天,我查看一下VHD系统的名称、再测试一下家里电脑的VHD系统(或者重新覆盖一份新VHD文件),如问题依旧再向您反馈……

acer669 发表于 2018-4-10 09:22:56

527104427 发表于 2018-3-19 12:11
vhd传上来看看呗,有空慢慢研究

这两个星期,在家用电脑上测试了一下,原VHD系统死活无法启动,提示7B错误;从网上下载同版本的VHD系统,重新部署(装驱动、软件),又可以正常启动。

说明:五大的 SISO、NTBOOT等工具里的 VBoot 模块 启动正常。SISO、NTBOOT等一系列工具,确实是相当好用的工具,在Grub4Dos下一直使用。另:误报,请不要介意……

感谢五大的 SISO、NTBOOT等工具,希望这些工具可以一直正常使用下去!

问题不是出在 VBoot 模块上,可能是原VHD系统有碎片或损坏……
页: [1]
查看完整版本: 哪位研究出一个下载更新g4d的工具