it编程 > 前端脚本 > Dos/bat

批处理(Bat)批量解压文件夹并提取及合并文件

186人参与 2024-05-26 Dos/bat

工作或者学习中,有时候需要从多个压缩文件夹中提取多个文件夹的文件,此时若是手动解压文件夹并逐个从解压后的文件夹复制,则较为费时费力,此时可以利用批处理的便捷性来批量处理这些目标文件夹,并且提取到文件夹中的文件。

如下图所示,有1.rar和2.rar两个压缩文件夹,每个文件夹下还有子文件夹和文件,子文件夹里面也有文件,需要提取所有文件夹下的含ov538字符串的文件。

测试脚本文件夹

在这里插入图片描述

在这里插入图片描述

上图市=是压缩文件夹1.rar中的文件,2.rar压缩文件中也是类似的情况。

此时,可以新建test demo.txt文本文件,将下述代码复制到文本中,并将文件后缀改成.bat即可。然后双击脚本即可开始运行,打开解压界面,需要shift键批量选中待解压文件,然后点击提取,确定,等待解压结束,解压完成后关闭解压文件窗口,脚本会继续运行,直至运行结束。(复制代码到文本中,为避免脚本运行错误建议去掉所有注释字段)

@echo off

setlocal enabledelayedexpansion   ::设置变量延迟

set "rar=c:\program files\7-zip\7zfm.exe"  ::设置7-zip问解压文件路径

"%rar%" x-y "%%i" "%%~dpi">nul   ::选中待解压文件提取文件

echo @@@@@  please wait a moment @@@@@

:: for循环遍历含ov538字符的文件名称
for /r %%a in (ov538*) do (   

::若不存在target file文件夹则新建该文件夹 
	if not exist "target file" md "target file"  
	
::将遍历到的文件复制到target file文件夹中	 
		xcopy/y "%%a" "target file\" >nul    
);

::将当前路径下target file的所有txt文件内容合并到target.txt文件中
copy ".\target file\*.txt" ".\target file\target.txt" >nul  

echo @@@@@  done  @@@@@

time /t 2>nul   ::倒计时2s

exit	::退出cmd命令

脚本运行结果如下,成功地将所有文件夹下的含ov538字符串地txt文件提取到target file文件夹中,并且将所有txt文件还合并成target.txt文件,便于后续批量对提取的txt文件结果进行处理。

结果界面1

结果界面2

上述代码实际上时调用了7-zip这个解压文件,并利用其批量解压缩,然后用for遍历所有文件夹及子文件夹,提取目标文件,最后还将所有txt文件合并成一个新的txt文件。

到此这篇关于批处理(bat)批量解压文件夹并提取及合并文件的文章就介绍到这了,更多相关批处理批量解压文件夹内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

bat批处理文件每隔一段时间运行一次程序的代码

05-26

用BAT实现文件批量修改文件名

05-26

批处理echo、echo off、echo on、@、@echo off

06-02

批处理位运算演示代码

05-19

批处理函数的高效另类应用(免call)

05-19

bat截取日期、时间之后进行 set /a 计算时08和09会被看做非法八进制数字

05-19

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论