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

[文件操作] 批处理如何实现可选择性是否批量解压指定目录/路径/文件夹里的压缩文件/压缩包

本帖最后由 eclairkk 于 2017-3-20 20:19 编辑

******************20170320问题******************
自行测出BUG,求BUG,求解决。
1 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。
2 批处理无法直接输出checked=1,虽然 checked=“1” 效果一样
未验证完整代码链接
  1. https://pan.baidu.com/s/1eSvGLvs
复制代码
.

;---以下是软件自选安装配置文件---
;// <简要说明>
;//
;//“set”一项必须置顶,其他软件放在[SET]之后,名字按1-n数字命名,如 [1],软件数量不限。
;// name/autopath/Manual/ver/ico/Parameter/line/checked这些字段不能改。

;// name---------软件名;
;// autopath-----自动安装软件相对路径;
;// Manual-------自定义安装软件相对路径;
;// ver----------软件版本,如无就自动获取;
;// ico----------软件图标;
;// Parameter----软件安装参数;
;// line---------软件简要说明;
;// checked------软件默认选择状态,"1"为默认选中,空为不选中。
;// 如:"logopath=logo\logo.jpg" 填写图片相对路径,如不填则按默认显示LOGO。图片尺寸:Width:108×Height:340
;// rd=后写出程序结束时删除的文件夹(相对路径即可),如:software等
;// delmyself=后为1将删除程序自身;为2将删除所在文件夹。

[set]
name=软件自选安装管理器
softversion= ""
wait=20
logopath=logo.jpg
Author="更多软件下载点击这里"
Link="http://shareto.blog.1633.com/"
rd=
delmyself=

[1]
name=[系统] 万能驱动助理
autopath=apps\系统\Drivers.exe
Manual=apps\系统\Drivers.exe
ver=6.6.2016.0815
ico=
Parameter=
line=WindowsXP_32位 Windows7_64位 万能驱动
checked=1

******************20170318问题******************
【高难度】多个压缩包根据情况选择解压部分
压缩包类型:7z
压缩包路径:U盘soft目录下的多个二三级目录

需求:
遍历U:\soft目录及子目录下的压缩包。批处理内显示文件名列表。

调用U盘soft目录下的7z解压程序,解压遍历得到的文件,解压前提示选择YN。Y解压,N不解压。

解压路径C:\p

本帖最后由 eclairkk 于 2017-3-20 20:13 编辑
回复  eclairkk

31楼已修改
ShowCode 发表于 2017-3-20 19:19



本问题基本完成了,还有小BUG待修正:1楼更新百度分享,内有网络搜索得到的程序文件,以及通过批处理生成的配置文件,求解答疑惑。
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -3

TOP

本帖最后由 pcl_test 于 2017-3-20 19:49 编辑

回复 32# eclairkk

31楼已修改

TOP

本帖最后由 eclairkk 于 2017-3-20 20:17 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -6

TOP

本帖最后由 pcl_test 于 2017-3-20 19:48 编辑

回复 30# eclairkk
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. type nul >AppList.ini.tmp
  4. for /f "delims=" %%i in ('dir /s/b/a-d *.7z') do (
  5.     set line=%%i
  6.     call :output
  7. )
  8. echo [copyright]>AppList.ini
  9. echo Author=有容乃大[YXG8855]>>AppList.ini
  10. echo MyBLOG=http://hi.baidu.com/yxg8855>>AppList.ini
  11. echo [config]>>AppList.ini
  12. echo num=!eNum!>>AppList.ini
  13. echo afterRun=>>AppList.ini
  14. type AppList.ini.tmp >>AppList.ini
  15. start cmd /c "call App.exe"
  16. exit
  17. :output
  18. set/p xz=是否解压%line% Y/N:
  19. if /i "%xz%"=="y" (
  20.     set /a eNum+=1
  21.     goto A
  22. ) else (
  23.     goto B
  24. )
  25. :A
  26. echo !eNum!>>AppList.ini.tmp
  27. echo softname= %line%>>AppList.ini.tmp
  28. echo 7zPath=%line%>>AppList.ini.tmp
  29. echo diskpath=C:\Test>>AppList.ini.tmp
  30. :B
复制代码

TOP

本帖最后由 eclairkk 于 2017-3-20 20:17 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。
1

评分人数

TOP

本帖最后由 eclairkk 于 2017-3-20 20:16 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。
1

评分人数

TOP

回复 26# eclairkk


set/p xz=是否解压%line% Y/N:
if /i "%xz%"=="y" (
    set /a eNum+=1
    goto A
)
这里加个计数器就知道有几个啦

TOP

回复  eclairkk


第二行和第三行可以合并成1行,注意只有1个大于号
echo [copyright]>AppList.ini
ShowCode 发表于 2017-3-19 23:29



    感谢,已改
1

评分人数

TOP

本帖最后由 eclairkk 于 2017-3-20 20:16 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。

TOP

回复 23# eclairkk


第二行和第三行可以合并成1行,注意只有1个大于号
echo [copyright]>AppList.ini

TOP

本帖最后由 eclairkk 于 2017-3-20 20:16 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。

TOP

本帖最后由 eclairkk 于 2017-3-20 20:16 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。

TOP

回复 21# eclairkk


    报错信息是什么?

TOP

本帖最后由 eclairkk 于 2017-3-20 20:16 编辑

******************20170320******************
求BUG,求解决。
自行测出 文件名为单数字:1.7z、2.7z、3.7z 的时 批处理无法生成正确的配置文件,丢失文件名部分的配置。

TOP

返回列表