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

[文件操作] 请问批处理压缩文件内重命名的问题

[复制链接]
发表于 2025-2-1 23:17:56 | 显示全部楼层 |阅读模式
我要重命名压缩包内的文件,但子文件夹改不了。
这么写 winrar rn -r 1.rar *.YK000 *.exe
递归-r加上也不行。后来看帮助通配符要-r0也不行。
子文件夹内文件就是不行。该怎么写。
发表于 2025-2-2 06:51:08 | 显示全部楼层
rar里的通配符不会用,7z里的通配符好像也有问题。。。
没考虑文件名里有空格等情况,很糙的做个试验
  1. rar l a.rar | awk '/\.txt$/{printf $NF" ";sub(".txt",".abc");printf $NF" "}' | xargs rar rn a.rar
复制代码
不使用通配符,都列出来,是可以用的
 楼主| 发表于 2025-2-2 11:00:36 | 显示全部楼层
本帖最后由 jieyuan_1981 于 2025-2-2 11:25 编辑

回复 2# wanghan519


    这是什么编译器。windows下怎么安装。
发表于 2025-2-2 11:02:08 | 显示全部楼层
不是不行 ,而是winrar.exe是图形的 ,压缩文件较小时 ,执行winrar rn -r 1.rar *.YK000 *.exe后会弹窗一瞬间完成 ,看起来一闪而过不行 ,实际上已成功变更 ,想要准确看结果 ,可以用纯命令行的rar.exe ,即
rar rn -r 1.rar *.YK000 *.exe
发表于 2025-2-2 11:18:57 | 显示全部楼层
本帖最后由 wanghan519 于 2025-2-2 11:52 编辑

回复 3# jieyuan_1981


    https://frippery.org/busybox/
busybox.exe ash进入命令行就能用awk xargs这些工具
不一定是最好的办法。。。
不过rar rn用通配符修改子目录里的后缀我也没试成功

其实也不用这个环境,一样的方法,powershell,cmd应该也一样的
发表于 2025-2-2 13:26:18 | 显示全部楼层
回复 1# jieyuan_1981

代码中调用的独立运行版 rar.exe 可从本坛第三方下载(http://bcn.bathome.net/s/tool/index.html?key=rar)落地即用,与批处脚本文件和 *.rar 文件同目录...

  1. @echo off &for /f "delims=" %%a in ('rar.exe lb 1.rar^|findstr /ir ".*\.YK000" ') do (
  2.    set "a=%%a" &setlocal enabledelayedexpansion &set "a=!a:~,-3!"
  3.    rar.exe rn -inul 1.rar "%%a" "!a!exe" &endlocal)
  4. pause&exit/b
复制代码
 楼主| 发表于 2025-2-2 16:41:47 | 显示全部楼层
回复 6# aloha20200628


    调试了下,保存不了ansi,手工重打了一遍,扩展名变为ykexe.可能哪里有问题。
发表于 2025-2-2 18:41:32 | 显示全部楼层
回复 7# jieyuan_1981

如果批处脚本存为 utf-8 编码,则可用以下代码重试

  1. @echo off &chcp 65001>nul
  2. for /f "delims=" %%a in ('rar.exe lb 1.rar^|findstr /ir ".*\.YK000" ') do (
  3.    set "a=%%a" &setlocal enabledelayedexpansion &set "a=!a:~,-3!"
  4.    rar.exe rn -inul 1.rar "%%a" "!a!exe" &endlocal)
  5. pause&exit/b
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 14:51 , Processed in 0.011476 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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