找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: HOPE2021

[文件操作] [纯批处理压缩软件][持续更新][已更新至1.0.0015]Hope Cab

[复制链接]
 楼主| 发表于 2021-8-23 08:59:15 | 显示全部楼层
回复 44# zz100001
开发组已经在Windows10实体机和Winxp虚拟机测试过了,并没有发现您所说的文件名有空格就报错的情况,请明示.
谢谢.
发表于 2021-8-23 13:00:59 | 显示全部楼层
回复 44# zz100001


    你行你来(怎么来?当然是合作了!)
发表于 2021-8-23 13:08:32 | 显示全部楼层
回复 44# zz100001


    我Windows7 32位 测试过,没有问题
发表于 2021-8-23 13:26:44 | 显示全部楼层
版本1.0.0013 增加更新功能,以后只发安装包
文件区\Hope Cab [ Version 1.0.0012 ].rar
 楼主| 发表于 2021-8-23 13:39:24 | 显示全部楼层
回复 49# cmd1152
文件呢?
发表于 2021-8-23 13:41:01 | 显示全部楼层
回复 50# HOPE2021


    我刚刚发现几个BUG,然后删了,现在可以下载了
 楼主| 发表于 2021-8-23 21:27:19 | 显示全部楼层
本帖最后由 HOPE2021 于 2021-8-23 21:45 编辑

回复 51# cmd1152
因为1.0.0014做了巨大的改进和更新模式的改进,特此发布源码[上半部分]:
  1. @echo off & Mode Con: Cols=128 & @Goto :Begin

  2. ::--------Version---------------------------------------------------------------------------------------------------------------

  3.         ; Hope Cab [Version 1.0.0014]

  4. ::--------Copyright-------------------------------------------------------------------------------------------------------------

  5.         ; (C) Copyright 2020-2021 Hope Corp.
  6.         ; (C) Copyright 2021-2021 Hope2021&Cmd1152 Corp.

  7.         ; Warning: this computer program is protected by copyright law and international treaties. Unauthorized reproduction or
  8.         ; distribution of this program (or any part thereof) will result in severe civil and criminal sanctions, and will be p-
  9.         ; rosecuted to the maximum extent possible under the law.
  10.         ; 警告:本计算机程序受著作权法和国际条约保护.如未经授权而擅自复制或传播本程序(或其中任何部分),将受到严厉的民事及刑事制裁,
  11.         ; 并将在法律许可范围内受到最大程度的起诉.

  12. ::--------Main Function---------------------------------------------------------------------------------------------------------

  13.         :Begin
  14.                 chcp 437 > nul
  15.                 color f0
  16.                 cls
  17.                 call :BL 15
  18.                 title Hope Cab
  19.                 echo.                                          膊膊膊膊膊膊膊膊膊膊膊膊圹圹圹圹圹圹圹圹圹圹圹
  20.                 echo.                                         膊                    膊圹                 _--圹
  21.                 echo.                                        膊                     膊圹             ____北北圹
  22.                 echo.                                        膊_____________________膊圹__________.北膊膊膊膊圹
  23.                 echo.                                        膊                     膊圹                     圹
  24.                 echo.                                        膊             圹圹圹圹圹圹圹圹圹圹         __--圹
  25.                 echo.                                        膊            圹       .Cab       圹    ____北北圹
  26.                 echo.                                        北___________圹   Make Your Life   圹.北膊膊膊膊圹
  27.                 echo.                                        北           圹       Easier.      圹           圹
  28.                 echo.                                        膊            圹       Hope       圹        __--圹
  29.                 echo.                                        膊             圹圹圹圹圹圹圹圹圹圹     ____北北圹
  30.                 echo.                                        膊_____________________膊圹__________.北膊膊膊膊圹
  31.                 echo.                                        膊                     膊圹                 __--圹
  32.                 echo.                                        膊                     膊圹            _____北北圹
  33.                 echo.                                         膊                    膊圹         .北膊膊膊膊圹
  34.                 echo.                                          膊膊膊膊膊膊膊膊膊膊膊圹圹圹圹圹圹圹圹圹圹圹圹
  35.                 ping 127.1 /n 2 > nul
  36.                 chcp 936 > nul
  37.         @Goto :Main

  38.         :Main
  39.                 cls
  40.                 Title Hope Cab [Version 1.0.0014] 键入H以查看帮助信息
  41.                 Call :Tool_Bar_Main
  42.                 Call :FilesAndFolder
  43.                 echo.
  44.                 Set Command=/////*无效操作*/////
  45.                 Set /p Command=  ^>^>
  46.                 Set Command_a=%Command:~0,1%
  47.                 echo.
  48.                 Set Bin_Dir=%cd%
  49.                 Set Bin_Drive=%cd:~0,1%
  50.                 if /i "%Command_a%"=="H" (
  51.                         echo.  Hope Cab [Version 1.0.0014]
  52.                         echo.
  53.                         Call :Line
  54.                         echo.
  55.                         echo.  ^(C^) Copyright 2020-2021 Hope Corp.
  56.                         echo.  ^(C^) Copyright 2021-2021 Hope2021^&Cmd1152 Corp.
  57.                         echo.
  58.                         Call :Line
  59.                         echo.
  60.                         set /p Corp=Warning: this computer program is protected by copyright law and international treaties. Unauthorized reproduction or distribut-<nul
  61.                         set /p Corp=ion of this program ^(or any part thereof^) will result in severe civil and criminal sanctions, and will be prosecuted to the max-<nul
  62.                         set /p Corp=imum extent possible under the law.<nul
  63.                         echo.
  64.                         echo.
  65.                         set /p Corp=警告:本计算机程序受著作权法和国际条约保护.如未经授权而擅自复制或传播本程序^(或其中任何部分^), 将受到严厉的民事及刑事制裁, 并将在法<nul
  66.                         set /p Corp=律许可范围内受到最大程度的起诉<nul
  67.                         echo.
  68.                         echo.
  69.                         Call :Line
  70.                         echo.
  71.                         echo.  依法授权给: %Username%
  72.                         echo.
  73.                         Call :Line
  74.                         echo.
  75.                         echo.  Hope Cab 教程
  76.                         echo.
  77.                         Call :Line
  78.                         echo.
  79.                         echo.  1. 概述
  80.                         echo.  Hope Cab 是一款基于Microsoft ^(R^) Windows 的命令行压缩文件资源管理器,支持.Cab文件的压缩/解压缩以及处理.
  81.                         echo.
  82.                         Call :Line
  83.                         echo.
  84.                         echo.  2. 压缩一个文件
  85.                         echo.
  86.                         echo.  压缩文件的命令很简单,命令格式如下:
  87.                         echo.
  88.                         echo.  ^>^> F-FileName/CabName
  89.                         echo.
  90.                         echo.  命令参数解释:
  91.                         echo.  
  92.                         echo.  F-           命令前缀,代表对文件进行操作.
  93.                         echo.  FileName     需要压缩的文件名称,包括拓展名.
  94.                         echo.  CabName      压缩文件名,可以不包括.Cab的后缀.
  95.                         echo.  
  96.                         echo.  例如,需要将Hope.ini文件压缩为Hope.Cab,有以下两种语法:
  97.                         echo.  
  98.                         echo.  F-Hope.ini/Hope.Cab
  99.                         echo.  F-Hope.ini/Hope
  100.                         echo.  
  101.                         echo.  注意事项:
  102.                         echo.  
  103.                         echo.  1. 分隔FileName与CabName的/不可以有空格或是全角符号.
  104.                         echo.  2. 命令前缀不区分大小写.
  105.                         echo.
  106.                         Call :Line
  107.                         echo.
  108.                         echo.  3. 压缩一个目录
  109.                         echo.  
  110.                         echo.  压缩目录的命令相较于压缩一个文件而言要难一些,命令格式如下:
  111.                         echo.  
  112.                         echo.  ^>^> R-FolderName/CabName:ListName
  113.                         echo.
  114.                         echo.  命令参数解释:
  115.                         echo.  
  116.                         echo.  R-           命令前缀,代表对目录进行操作.
  117.                         echo.  FolderName   文件夹名
  118.                         echo.  CabName      压缩文件名,可以不包括.Cab的后缀.
  119.                         echo.  ListName     文件列表名,用于储存目录信息,使用完以后自动删除.
  120.                         echo.  
  121.                         echo.  例如,需要将Hope目录下的所有文件压缩到Hope.Cab里,并将信息存储在Hope.Temp里,有以下两种语法:
  122.                         echo.  
  123.                         echo.  R-Hope/Hope.Cab:Hope.Temp
  124.                         echo.  R-Hope/Hope:Hope.Temp
  125.                         echo.  
  126.                         echo.  1. 分隔FolderName与CabName的/以及分隔CabName与ListName的:不可以有空格或是全角符号.
  127.                         echo.  2. 命令前缀不区分大小写.
  128.                         echo.
  129.                         Call :Line
  130.                         echo.
  131.                         echo.  3. 解压缩
  132.                         echo.  
  133.                         echo.  压缩目录的命令相较于压缩一个文件而言要难一些,命令格式如下:
  134.                         echo.  
  135.                         echo.  ^>^> E-CabName
  136.                         echo.
  137.                         echo.  命令参数解释:
  138.                         echo.  
  139.                         echo.  E-           命令前缀,代表解压缩到当前目录下.
  140.                         echo.  CabName      压缩文件名,可以不包括.Cab的后缀.
  141.                         echo.  
  142.                         echo.  例如,需要解压Hope.Cab,有以下两种语法:
  143.                         echo.  
  144.                         echo.  E-Hope.Cab
  145.                         echo.  E-Hope
  146.                         echo.  
  147.                         echo.  1. 分隔FolderName与CabName的/以及分隔CabName与ListName的:不可以有空格或是全角符号.
  148.                         echo.  2. 命令前缀不区分大小写.
  149.                         echo.
  150.                         Call :Line
  151.                         echo.
  152.                         echo.  4. 返回上一级目录
  153.                         echo.  
  154.                         echo.  如果您要返回上一级目录,请键入B
  155.                         echo.
  156.                         Call :Line
  157.                         echo.
  158.                         echo.  5. 进入到下一级目录
  159.                         echo.  
  160.                         echo.  命令格式如下:
  161.                         echo.  
  162.                         echo.  ^>^> C-FolderName
  163.                         echo.  
  164.                         echo.  C-           命令前缀,代表前进到下一级目录.
  165.                         echo.  FolderName   文件夹名.
  166.                         echo.  
  167.                         echo.  例如,需要前进的Hope目录,可以键入:
  168.                         echo.  
  169.                         echo.  C-Hope
  170.                         echo.
  171.                         Call :Line
  172.                         echo.
  173.                         echo.  6. 切换磁盘
  174.                         echo.  
  175.                         echo.  命令格式如下:
  176.                         echo.  
  177.                         echo.  ^>^> D-DiskVol
  178.                         echo.  
  179.                         echo.  D-           命令前缀,代表切换磁盘.
  180.                         echo.  DiskVol      磁盘或驱动器盘符.
  181.                         echo.  
  182.                         echo.  例如,需要切换到C:\,有三种语法:
  183.                         echo.  
  184.                         echo.  D-C
  185.                         echo.  D-C:
  186.                         echo.  D-C:\
  187.                         echo.
  188.                         Call :Line
  189.                         echo.
  190.                         echo.  7. 删除目录或文件
  191.                         echo.
  192.                         echo.  命令格式如下:
  193.                         echo.
  194.                         echo.  ^>^> T-FileOrDirectory
  195.                         echo.
  196.                         echo.  T-              命令前缀,代表删除目录或文件.
  197.                         echo.  FileOrDirectory 目录或文件.
  198.                         echo.
  199.                         echo.  例如,删除Hope文件,但不知道是否是文件夹,可以输入:
  200.                         echo.  
  201.                         echo.  T-Hope
  202.                         echo.
  203.                         call :Line
  204.                         echo.
  205.                         echo.  8. 自定义解压
  206.                         echo.
  207.                         echo.  命令格式如下:
  208.                         echo.
  209.                         echo.  ^>^> X-FolderName/CabName
  210.                         echo.
  211.                         echo.  X-              命令前缀,代表自定义解压.
  212.                         echo.  FolderName      目录.
  213.                         echo.  CabName         压缩文件名,可以不包括.Cab的后缀.
  214.                         echo.
  215.                         echo.  例如,解压Hope.Cab到C:\Users\%Username%\Hope\Hope Cab\目录下,有两种语法:
  216.                         echo.  
  217.                         echo.  X-C:\Users\%Username%\Hope\Hope Cab\/Hope.Cab
  218.                         echo.  X-C:\Users\%Username%\Hope\Hope Cab\/Hope
  219.                         echo.
  220.                         call :Line
  221.                         echo.
  222.                         echo.  9. 打开文件
  223.                         echo.
  224.                         echo.  命令格式如下:
  225.                         echo.
  226.                         echo.  ^>^> U-FileName
  227.                         echo.
  228.                         echo.  U-              命令前缀,代表打开文件.
  229.                         echo.  FileName        文件名.
  230.                         echo.
  231.                         echo.  例如,打开Hope.ini,需要键入:
  232.                         echo.  
  233.                         echo.  U-Hope.ini
  234.                         echo.
  235.                         call :Line
  236.                         echo.
  237.                         echo.  10. 查找压缩文件
  238.                         echo.
  239.                         echo.  命令格式如下:
  240.                         echo.
  241.                         echo.  ^>^> S-FileName
  242.                         echo.
  243.                         echo.  S-              命令前缀,代表搜索文件.
  244.                         echo.  CabName         压缩文件名,可以不包括.Cab的后缀.
  245.                         echo.
  246.                         echo.  例如,查找Hope.Cab,有两种语法:
  247.                         echo.  
  248.                         echo.  S-Hope.Cab
  249.                         echo.  S-Hope
  250.                         echo.
  251.                         call :Line
  252.                         echo.
  253.                         echo.  11.更新
  254.                         echo.
  255.                         echo.  若要更新,请键入:P
  256.                         echo.
  257.                         call :Line
  258.                         echo.
  259.                         echo.  ^>^> 请按回车键继续...
  260.                         echo.
  261.                         Call :Line
  262.                         echo.
  263.                         pause > nul
  264.                 @Goto Main
  265.                 )
  266.                 if /i "%Command_a%"=="F" @Goto :File
  267.                 if /i "%Command_a%"=="R" @Goto :Folder
  268.                 if /i "%Command_a%"=="E" @Goto :Extract
  269.                 if /i "%Command_a%"=="C" @Goto :Chdir
  270.                 if /i "%Command_a%"=="D" @Goto :Disk
  271.                 if /i "%Command_a%"=="B" cd.. & @Goto :Main
  272.                 if /i "%Command_a%"=="T" @Goto :DelFile
  273.                 if /i "%Command_a%"=="X" @Goto :Extract_Custom
  274.                 if /i "%Command_a%"=="U" @Goto :Run
  275.                 if /i "%Command_a%"=="S" @Goto :Search
  276.                 if /i "%Command_a%"=="P" @Goto :Update
  277.                 echo.  ^>^> 命令语法不正确!
  278.                 echo.
  279.                 echo.  ^>^> 请按回车键继续...
  280.                 pause > nul
  281.         @Goto Main
复制代码
 楼主| 发表于 2021-8-23 21:28:53 | 显示全部楼层
回复 52# HOPE2021
下半部分:

  1.         :File
  2.                 Set Commandb=%Command:~2%
  3.                 echo.%Commandb%
  4.                 Set FileName=%Commandb%
  5.                 Call :FileName
  6.                 Set CabName=%Commandb:*/=%
  7.                 Set "FileName=%FileName:"=%"
  8.                 Set "CabName=%CabName:"=%"
  9.                 Set Commandc=%CabName:~-4%
  10.                 echo.
  11.                 if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  12.                 if /i exist "%FileName%" if /i not exist "%CabName%" (
  13.                         echo.  ^>^> 对文件进行处理:
  14.                         Call :Line
  15.                         echo.%FileName%
  16.                         echo.%CabName%
  17.                         makecab /d maxdisksize=1099511627776 "%FileName%" "%CabName%"
  18.                         echo.
  19.                         echo.  ^>^> 将 %FileName% 压缩为 %CabName% 成功!
  20.                         echo.
  21.                         echo.  ^>^> 请按回车键继续...
  22.                         pause > nul
  23.                 @Goto :Main
  24.                 )
  25.                 echo.
  26.                 echo.  ^>^> 无此文件或已存在此压缩文档!
  27.                 echo.
  28.                 echo.  ^>^> 请按回车键继续...
  29.                 pause > nul
  30.         @Goto :Main

  31.         :Folder
  32.                 Set Commandb=%Command:~2%
  33.                 echo.%Commandb%
  34.                 Set FolderName=%Commandb%
  35.                 Call :FolderName
  36.                 Set ListName=%Commandb%
  37.                 Set CabName=%Commandb:*/=%
  38.                 Call :ListName
  39.                 Call :CabName_2
  40.                 Set "FolderName=%FolderName:"=%"
  41.                 Set "CabName=%CabName:"=%"
  42.                 Set Commandc=%CabName:~-4%
  43.                 if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  44.                 if /i exist "%FolderCabName%" if /i not exist "%CabName%" if /i not exist "%ListName%" (
  45.                         cd "%FolderName%"
  46.                         dir /b >> %ListName%"
  47.                         echo.  ^>^> 对文件进行处理:
  48.                         Call :Line
  49.                         echo.%FolderName%
  50.                         echo.%CabName%
  51.                         echo.%ListName%
  52.                         makecab /d maxdisksize=1099511627776 /f "%ListName%"
  53.                         echo.
  54.                         echo.  ^>^> 将 %FolderName% 压缩为 %CabName% 成功!
  55.                         echo.
  56.                         echo.  ^>^> 请按回车键继续...
  57.                         if /i exist "%ListName%" del "%ListName%"
  58.                         cd..
  59.                         ren "%cd%\%FolderName%\Disk1\1.cab" "%CabName%"
  60.                         Move "%cd%\%FolderName%\Disk1\%CabName%" "%cd%"
  61.                         pause > nul
  62.                 @Goto :Main
  63.                 )
  64.                 echo.
  65.                 echo.  ^>^> 无此文件或已存在此压缩文档!
  66.                 echo.
  67.                 echo.  ^>^> 请按回车键继续...
  68.                 pause > nul
  69.         @Goto :Main

  70.         :Extract
  71.                 Set CabName=%Command:~2%
  72.                 Set Commandc=%CabName:~-4%
  73.                 if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  74.                 if /i exist "%CabName%" (
  75.                         expand "%CabName%" -f:* "%cd%"
  76.                         echo.  ^>^> 将 %CabName% 解压缩成功!
  77.                         echo.
  78.                         echo.  ^>^> 请按回车键继续...
  79.                         pause > nul
  80.                 @Goto :Main
  81.                 )
  82.                 echo.
  83.                 echo.  ^>^> 无此压缩文档!
  84.                 echo.
  85.                 echo.  ^>^> 请按回车键继续...
  86.                 pause > nul
  87.         @Goto :Main

  88.         :Chdir
  89.                 Set FolderName=%Command:~2%
  90.                 if /i exist "%FolderName%" (
  91.                         cd "%FolderName%"
  92.                 @Goto :Main
  93.                 )
  94.                 echo.
  95.                 echo.  ^>^> 无此目录!
  96.                 echo.
  97.                 echo.  ^>^> 请按回车键继续...
  98.                 pause > nul
  99.         @Goto :Main

  100.         :Disk
  101.                 Set DiskVol=%Command:~2%
  102.                 Set DiskVol=%DiskVol:~0,1%
  103.                 if /i exist %DiskVol%: (
  104.                         %DiskVol%:
  105.                 @Goto :Main
  106.                 )
  107.                 echo.
  108.                 echo.  ^>^> 无此磁盘或驱动器!
  109.                 echo.
  110.                 echo.  ^>^> 请按回车键继续...
  111.                 pause > nul
  112.         @Goto :Main
  113.        
  114.         :DelFile
  115.                 Set FileOrDirectory=%Command:~2%
  116.                 if not exist "%FileOrDirectory%" (
  117.                         echo.
  118.                         echo.   ^>^> 无此文件或目录!
  119.                         echo.
  120.                         echo.   ^>^> 请按回车键继续...
  121.                         pause > nul
  122.                 @Goto :Main
  123.                 )
  124.                 echo.
  125.                 echo.   ^>^> 这会删除%FileOrDirectory%下的所有文件(如果这是文件夹)
  126.                 echo.
  127.                 echo.   ^>^> 确认否[Y/N]?
  128.                 Call :Get_Key
  129.                 if /i "%key%"=="N" @Goto :Main
  130.                 if /i "%key%"=="Y" (
  131.                         if exist "%FileOrDirectory%" (
  132.                                 rd "%FileOrDirectory%" /s /q >nul 2>nul
  133.                         @Goto :Main
  134.                         )
  135.                         del "%FileOrDirectory%" /f /q >nul 2>nul
  136.                 @Goto :Main
  137.                 )
  138.                 if "%valid_key%"=="0" @Goto :DelFile
  139.         @goto :DelFile

  140.         :Extract_Custom
  141.                 Set Commandb=%Command:~2%
  142.                 Set CabName=%Command:~2%
  143.                 Set FolderName=%Command:~2%
  144.                 Set CabName=%Commandb:*/=%
  145.                 Set "CabName=%CabName:"=%"
  146.                 Call :Custom_FolderName
  147.                 Call :Custom_FolderName_2
  148.                 Set Commandc=%CabName:~-4%
  149.                 Set "FolderName=%FolderName:"=%"
  150.                 echo.%CabName%
  151.                 echo.%FolderName%
  152.                 if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  153.                 if /i exist "%CabName%" if /i exist "%FolderName%" (
  154.                         expand "%CabName%" -f:* "%FolderName%"
  155.                         echo.  ^>^> 将 %CabName% 解压缩成功!
  156.                         echo.
  157.                         echo.  ^>^> 请按回车键继续...
  158.                         pause > nul
  159.                 @Goto :Main
  160.                 )
  161.                 echo.
  162.                 echo.  ^>^> 无此压缩文档或此目录!
  163.                 echo.
  164.                 echo.  ^>^> 请按回车键继续...
  165.                 pause > nul
  166.         @Goto :Main

  167.         :Run
  168.                 Set FileName=%Command:~2%
  169.                 Set "FileName=%FileName:"=%"
  170.                 if /i exist "%FileName%" (
  171.                         start explorer "%FileName%"
  172.                 @Goto :Main
  173.                 )
  174.                 if /i exist "%FileName%" (
  175.                         start "" "%FileName%"
  176.                 @Goto :Main
  177.                 )
  178.                 echo.
  179.                 echo.  ^>^> 无此文件或目录!
  180.                 echo.
  181.                 echo.  ^>^> 请按回车键继续...
  182.                 pause > nul
  183.         @Goto :Main

  184.         :Search
  185.                 Set CabName=%Command:~2%
  186.                 Set Commandc=%CabName:~-4%
  187.                 echo.
  188.                 echo.  ^>^> 搜索中...
  189.                 if /i "%Commandc%" neq ".cab" set CabName=%CabNAme%.Cab
  190.                 for %%i in (A B 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 (
  191.                         if /i exist %%i: (
  192.                                 cd /d %%i:
  193.                                 FORFILES /P %%i:\ /S /M "%CabName%"
  194.                         )
  195.                 )
  196.                 echo.
  197.                 echo.  ^>^> 搜索完成!
  198.                 echo.
  199.                 echo.  ^>^> 请按回车键继续...
  200.                 %Bin_Drive%:
  201.                 cd %Bin_Dir%
  202.                 pause > nul
  203.         @Goto :Main

  204.         :Update
  205.                 cls
  206.                 echo.
  207.                 Set Bin_Dir=%0
  208.                 Set "Bin_Dir=%Bin_Dir:"=%"
  209.                 set /p UpdateFile=   ^>^> 请输入更新包名称[.HopeUpdate]
  210.                 echo.
  211.                 Set "UpdateFile=%UpdateFile:"=%"
  212.                 echo.%UpdateFile%
  213.                 echo.
  214.                 if not exist "%UpdateFile%" (
  215.                         echo.   ^>^> 无此更新文件!
  216.                         echo.
  217.                         echo.   ^>^> 按任意键返回...
  218.                         pause>nul
  219.                 @Goto :Main
  220.                 )
  221.                 if not "%UpdateFile:~-11%"==".HopeUpdate" (
  222.                         echo.   ^>^> 更新文件格式不正确!
  223.                         echo.
  224.                         echo.   ^>^> 按任意键返回...
  225.                         pause>nul
  226.                 @Goto :Main
  227.                 )
  228.                 Call :Version
  229.                 echo.检测到%Version%...
  230.                 echo.
  231.                 cd.>"%Version%.Bat"
  232.                 for /f "usebackq delims= skip=1" %%i in ("%UpdateFile%") do (
  233.                         echo.%%i >> "%Version%.Bat"
  234.                 )
  235.                 Certutil -decode -f "%Version%.Bat" "%Version%.Bat"
  236.                 Mklink "%userprofile%\Desktop" "%Version%.Bat"
  237.                 Del "%Bin_Dir%"
  238.                 pause
  239.                 @Exit

  240. ::--------Functions-------------------------------------------------------------------------------------------------------------

  241.         :Version
  242.         Rem ; Call :Version
  243.                 for /f "usebackq delims=" %%i in ("%UpdateFile%") do (
  244.                         echo.%%i
  245.                         Set Version=%%i
  246.                         @Goto :eof
  247.                 )

  248.         :Custom_FolderName
  249.         Rem ; Call :Custom_FolderName
  250.                 Set FolderName=%FolderName:~0,-1%
  251.                 echo.%FolderName%|Find "/"
  252.                 if not errorlevel 1 (
  253.                         @Call :Custom_FolderName
  254.                 )
  255.                 if errorlevel 1 (
  256.                         @Goto :eof
  257.                 )
  258.         @Call :Custom_FolderName

  259.         :Custom_FolderName_2
  260.         Rem ; Call :Custom_FolderName_2
  261.                 Set FNa=%FolderName:~-1%
  262.                 echo.%FNa%|Find ""
  263.                 if not errorlevel 1 (
  264.                         @Call :Custom_FolderName
  265.                 )
  266.                 if errorlevel 1 (
  267.                         @Goto :eof
  268.                 )
  269.         @Call :Custom_FolderName_2

  270.         :Get_Key
  271.         Rem ; Call :Get_Key
  272.                 Set "key="
  273.                 for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key Set "key=%%a"
  274.                 Set "key=%key:~-1%"
  275.                 Set "valid_key=0"
  276.         @Goto :eof

  277.         :CabName
  278.         Rem ; Call :CabName
  279.                 Set CabName=%CabName:~0,-1%
  280.                 echo.%CabName%|Find "/"
  281.                 if not errorlevel 1 (
  282.                         @Call :CabName
  283.                 )
  284.                 if errorlevel 1 (
  285.                         @Goto :eof
  286.                 )
  287.         @Call :CabName

  288.         :CabName_2
  289.         Rem ; Call :CabName
  290.                 Set CabName=%CabName:~0,-1%
  291.                 echo.%CabName%|Find ":"
  292.                 if not errorlevel 1 (
  293.                         @Call :CabName
  294.                 )
  295.                 if errorlevel 1 (
  296.                         @Goto :eof
  297.                 )
  298.         @Call :CabName

  299.         :ListName
  300.         Rem ; Call :ListName
  301.                 Set ListName=%ListName:~1%
  302.                 echo.%ListName%|Find ":"
  303.                 if not errorlevel 1 (
  304.                         @Call :ListName
  305.                 )
  306.                 if errorlevel 1 (
  307.                         @Goto :eof
  308.                 )
  309.         @Call :ListName

  310.         :FolderName
  311.         Rem ; Call :FolderName
  312.                 Set FolderName=%FolderName:~0,-1%
  313.                 echo.%FolderName%|Find "/"
  314.                 if not errorlevel 1 (
  315.                         @Call :FolderName
  316.                 )
  317.                 if errorlevel 1 (
  318.                         @Goto :eof
  319.                 )
  320.                 Set FolderName=%FolderName:~0,-1%
  321.                 echo.%FolderName%|Find "/"
  322.                 if not errorlevel 1 (
  323.                         @Call :FolderName
  324.                 )
  325.         @Call :FileName

  326.         :FileName
  327.         Rem ; Call :FileName
  328.                 Set FileName=%FileName:~0,-1%
  329.                 echo.%FileName%|Find "/"
  330.                 if not errorlevel 1 (
  331.                         @Call :FileName
  332.                 )
  333.                 if errorlevel 1 (
  334.                         @Goto :eof
  335.                 )
  336.         @Call :FileName

  337.         :BL
  338.         Rem ; Call :BL [Blanks Lines]
  339.                 for /l %%i in (1,1,%1) do echo.
  340.         @Goto :eof

  341.         :Type
  342.         Rem ; Call :Type "[Text]"
  343.                 Set /p Str=%~1<nul
  344.                 for /l %%a in (1,1,%Timer%) do Set ReturnKey=0
  345.         @Goto :eof

  346.         :Tool_Bar_Main
  347.         Rem ; Call :Tool_Bar_Main
  348.                 echo.
  349.                 call :Type "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■"
  350.                 call :Type "■                                                          Hope Cab                                                          ■"
  351.                 call :Type "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■"
  352.                 echo.
  353.                 echo.
  354.         @Goto :eof


  355.         :Line
  356.         Rem ; Call :Line
  357.                 call :Type "--------------------------------------------------------------------------------------------------------------------------------"
  358.                 echo.
  359.         @Goto :eof

  360.         :FilesAndFolder
  361.         Rem ; Call :FilesAndFolder
  362.                 dir /w
  363.         @Goto :eof
  364.    
  365. ::--------Annotation------------------------------------------------------------------------------------------------------------

  366.         Rem ; [File]
  367.                 F-FileName/CabName

  368.         Rem ; [Folder]
  369.                 R-FolderName/CabName:ListName

  370.         Rem ; [Extract]
  371.                 R-FolderName/CabName:ListName

  372.         Rem ; [Extract]
  373.                 R-FolderName/CabName:ListName

  374.         Rem ; [Extract_Custom]
  375.                 X-FolderName/CabName
复制代码
发表于 2021-8-23 21:29:03 | 显示全部楼层
现在1.0.0015了...
 楼主| 发表于 2021-8-23 21:30:35 | 显示全部楼层
回复 54# cmd1152
1.0.0014及以后的更新模块改动,发这个是因为要做更新的底版,就像装系统需要bios一样...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 02:55 , Processed in 0.021254 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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