windows bat批处理解压文件

又遇到了问题,同学给的文件夹里面都是压缩包,并且有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+ 覆盖同名文件

 

 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,以下是使用系统自带的压缩/解压缩工具来执行压缩/解压缩操作的VBS脚本和BAT批处理: VBS脚本(文件名为compress.vbs): ``` ' 压缩文件夹 Set objArgs = WScript.Arguments inputFolder = objArgs(0) outputZip = objArgs(1) Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FileExists(outputZip) Then objFSO.DeleteFile(outputZip) End If Set objShell = CreateObject("Shell.Application") Set source = objShell.NameSpace(inputFolder).Items objShell.NameSpace(outputZip).CopyHere(source) ' 等待压缩完成 Do Until objShell.NameSpace(outputZip).Items.Count = objShell.NameSpace(inputFolder).Items.Count WScript.Sleep 200 Loop ``` BAT批处理文件名为compress.bat): ``` @echo off setlocal enabledelayedexpansion set inputFolder=%1 set outputZip=%2 set vbsFile=%~dp0\compress.vbs cscript //nologo "%vbsFile%" "%inputFolder%" "%outputZip%" echo Done. ``` 使用方法: 1. 将上面的VBS脚本和BAT批处理脚本保存到同一个文件夹中。 2. 打开命令提示符,进入到保存脚本的文件夹。 3. 执行以下命令进行压缩操作: ``` compress.bat "待压缩的文件夹路径" "压缩后的文件路径" ``` 例如: ``` compress.bat "C:\Users\Administrator\Desktop\test" "C:\Users\Administrator\Desktop\test.zip" ``` 4. 执行以下命令进行解压缩操作: ``` expand "待解压文件路径" "解压后的文件夹路径" ``` 例如: ``` expand "C:\Users\Administrator\Desktop\test.zip" "C:\Users\Administrator\Desktop\test" ``` 注意事项: - VBS脚本和BAT批处理脚本必须保存到同一个文件夹中。 - 执行命令时需要使用管理员权限。 - 在执行压缩操作时,如果压缩文件已存在,则会自动删除已存在的文件。 - 在执行解压缩操作时,解压后的文件夹路径必须事先不存在,否则会报错。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值