批处理(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文件。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用bat批处理重命名批量的jpg文件,我们可以编写一个批处理脚本来自动完成这个任务。 首先,我们需要在文本编辑器中打开一个新的文件。然后,我们可以使用以下的命令来重命名jpg文件: ``` @echo off setlocal enabledelayedexpansion set "folder=C:\path\to\your\folder\" set "extension=.jpg" set "newNamePrefix=MyImage" for %%a in ("%folder%*%extension%") do ( set "filename=%%~na" rename "%%a" "!newNamePrefix!_!filename!!extension!" ) echo Renaming complete pause ``` 在上述代码中,我们首先使用了`@echo off`命令来关闭命令的显示。然后,我们使用了`setlocal enabledelayedexpansion`命令来启用对变量的延迟扩展,这对于在循环中使用变量很有用。 接下来,我们设置了要重命名的文件夹路径,文件扩展名和新文件名的前缀。你可以根据自己的需要修改这些值。 在循环中,我们使用`for`命令来遍历文件夹中的所有jpg文件。`%%a`是循环变量,`"%folder%*%extension%"`指定了要重命名的文件路径。 然后,我们使用`set "filename=%%~na"`命令将文件名保存到变量`filename`中,不包括扩展名。 最后,我们使用`rename`命令来将原始文件重命名为新的文件名。新的文件名由`!newNamePrefix!_!filename!!extension!`组成,其中`!newNamePrefix!`是我们指定的新文件名的前缀。 最后,我们显示一个提示信息并暂停命令的执行,以便查看重命名是否成功。 编写完批处理脚本后,我们可以将它保存为以.bat为扩展名的文件,例如`renamejpg.bat`。然后,双击运行这个脚本,它将自动完成批量jpg文件的重命名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值