找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23930|回复: 11

[文件操作] 用winrar命令行批量删除压缩文件内指定文件

[复制链接]
发表于 2023-7-3 10:17:53 | 显示全部楼层 |阅读模式
想利用批处理批量处理文件,用winrar的命令行方式
有一些dat文件,实质是压缩文件格式,但是必须dat后缀才能被程序调用
把dat后缀改成rar,打开后里面有个子文件夹go,主目录和这个子文件夹里有很多txt的文件
想批量删除go文件夹中其中名字为1.txt

网络搜索找到一个只能单独操作的
cd C:\Program Files\WinRAR
Rar.exe D D:\chuli\chuli.rar *.txt

弊端就是只能逐个把要处理的文件挨个改后缀名后放入指定位置文件夹中,并且还不支持处理指定文件,只能处理一种类型的文件,导致所有相同后缀的都删除了


求高手按需求给个代码,谢谢了
发表于 2023-7-3 10:25:57 | 显示全部楼层
回复 1# shaokui123


    请找一个dat文件上传到网盘,我试试。

评分

参与人数 1技术 +1 收起 理由
shaokui123 + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-7-3 10:33:12 | 显示全部楼层
D: sk>若编d C: Program Files WinRAR
”诺编d”不是内部或外部命令,也不是可运行的程序或批处理文件
D: sk>Rar.exe D D: chuli chuli.rar *.txt

并且实际运行出现这个
不知为啥图片上传始终说超过大小限制,所以用ocr抓的文字
发表于 2023-7-3 10:37:06 | 显示全部楼层
回复 3# shaokui123


请参考Q-04把bat文件保存为ANSI编码可以解决乱码问题:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA

如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html

评分

参与人数 1技术 +1 收起 理由
shaokui123 + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-7-3 10:39:19 | 显示全部楼层
回复 2# Batcher


    管理好,上传1个文件,请您查收
https://www.123pan.com/s/rBk9-ZRRWv.html

1.dat\xl\drawings\drawing1.xml
需求只删除这个文件,别的同后缀的不动

设想是在d盘建立一个文件比如处理,然后把要处理的那些dat文件都复制进去,点击批处理,自动全部改后缀或者不改,进行处理,批量删除它们内部这个指定文件,恢复后缀。
发表于 2023-7-3 10:41:35 | 显示全部楼层
回复 3# shaokui123


Q: 怎样把CMD窗口里的结果复制出来?
A: 右键单击CMD窗口的标题栏->"属性"->"选项"->勾选"快速编辑模式"->然后在CMD窗口用鼠标左键选中想要拷贝的内容->在选中的内容上单击鼠标右键->粘贴到文本文件中即可

评分

参与人数 1技术 +1 收起 理由
shaokui123 + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-7-3 11:03:20 | 显示全部楼层
还发现
Rar.exe D D:\chuli\chuli.rar *.txt
如果改成1.txt,那么运行后只对根目录产生作用,子文件夹里这个文件没影响不删除
但是改成*.txt,那么所有文件夹下全部删除
 楼主| 发表于 2023-7-3 11:05:46 | 显示全部楼层
又试了下,把要删除文件前面加上路径就可以删除指定文件夹下的指定文件了。
哈哈,实践性很强的技术,虽然小白不懂原理。
发表于 2023-7-3 11:16:49 | 显示全部楼层
回复 5# shaokui123


test.bat和你待处理的dat文件放在同一个文件夹下
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /a-d *.dat') do (
  4.     "C:\Program Files\WinRAR\WinRAR.exe" d -ibck -inul "%%i" "*\drawing1.xml"
  5. )
复制代码
发表于 2023-7-3 11:18:32 | 显示全部楼层
回复 5# shaokui123


    你这个是表格文件xlsx吧,是要删除图像文件关联?
  1. @echo off
  2. cd "%~dp0"
  3. set "winrar=C:\Program Files\WinRAR\winrar.exe"
  4. for /f "delims=" %%i in ('dir /b /a-d *.dat') do "%winrar%" d "%%i" xl\drawings\drawing1.xml
  5. pause
复制代码
 楼主| 发表于 2023-7-3 11:55:47 | 显示全部楼层
回复 9# Batcher


    感谢
 楼主| 发表于 2023-7-3 11:56:04 | 显示全部楼层
回复 10# buyiyang


    是的,感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 19:36 , Processed in 0.020224 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表