windows bat批处理解压文件

作者: 追求科技的足球 | 来源:发表于2019-04-05 22:40 被阅读6次

    又遇到了问题,同学给的文件夹里面都是压缩包,并且有365个文件夹,因此要对其进行批处理解压,并且还是.gz文件。解决了,一步一步来吧:
    1、首先将winrar导入到系统路径,找到winrar的安装路径,然后将里面的WinRAR.exe复制粘贴到C:\Windows\System32下面,这样就可以在cmd中直接调用winrar啦。
    2、文件夹结构如下:




    于是要对每个进行处理,写bat批处理文件:

    @echo off
    for /f  %%i in ('"dir /ad/b/on *.*"') do (  
    echo  %%i
    winrar x -o+ %%i/*.gz %%i
    )
    pause
    

    讲解(按行):
    (1)@为不输出当前行,echo off是取消显示命令
    (2)for循环中,脚本语言使用%%variable做变量,要加两个百分号,变量名大小写区分,/f的话就是遍历整体里面的内容,若不加则无法遍历file,后面的dir是当前路径,加参数(只列出当前用到的),也就是只按顺序输出文件夹名:

     /A          显示具有指定属性的文件。
      attributes   D  目录                R  只读文件
                   H  隐藏文件            A  准备存档的文件
                   S  系统文件            -  表示“否”的前缀
     /B          使用空格式(没有标题信息或摘要)。
     /O          用分类顺序列出文件。
      sortorder    N  按名称(字母顺序)     S  按大小(从小到大)
                   E  按扩展名(字母顺序)   D  按日期/时间(从先到后)
                   G  组目录优先           -  颠倒顺序的前缀
    

    (3)输出一下文件夹名
    (4)winrar进行解压,解压到当前文件夹且删除源文件若存在同名文件则进行覆盖,这里解释一下参数:

    x   解压文件
    -o+ 覆盖同名文件
    

    相关文章

      网友评论

        本文标题:windows bat批处理解压文件

        本文链接:https://www.haomeiwen.com/subject/rednvqtx.html