[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. set "rar=C:\Program Files\WinRAR\rar.exe"
  3. for %%a in ("C:\test\*.rar") do (setlocal enabledelayedexpansion
  4. "%rar%" vt "%%a" >"%temp%\%%~na.txt"
  5. for /f "delims=" %%h in ('findstr "注释:" "%temp%\%%~na.txt"') do set "c=%%h"
  6. set "c=!c:~4!"
  7. set "c=!c:天空=华军!"
  8. echo !c! | "%rar%" c "%%a")
复制代码
1,如果涉及敏感字符,则使用sed、fr等修改%temp%\%%~na.txt文件,然后从文件添加注释,如rar.exe c -z注释文本.txt 压缩文件名
2,winrar.exe和rar.exe都可以执行相同的操作
3,rar.exe的命令行语法说明在winrar目录下的rar.txt中
4,winrar.exe的命令行语法说明在winrar目录下的WinRAR.chm或WinRAR.hlp中

[ 本帖最后由 hanyeguxing 于 2010-4-15 15:23 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

未测试
  1. @echo off&setlocal enabledelayedexpansion
  2. set "rar=C:\Program Files\WinRAR\rar.exe"
  3. for %%a in ("C:\test\*.rar") do (
  4. del /q *.h 2>nul
  5. "%rar%" cw "%%~na" hanye.h
  6. for /f "delims=" %%c in (hanye.h) do (set "c=%%c"
  7. set "c=!c:提车软件=寒夜孤星!"
  8. set "c=!c:51ddd.Com=bathome.net!"
  9. echo.!c!)>>guxing.h
  10. "%rar%" c -zguxing.h "%%~na")
复制代码
使用 rar 下的 cw 开关导出注释文件到hanye.h
使用 for 或其他命令修改hanye.h为guxing.h
使用 rar 下的 c -z注释 开关导入注释文件

[ 本帖最后由 hanyeguxing 于 2010-4-15 18:09 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

原帖由 boyjackson 于 2010-4-15 21:09 发表
达人解决了我一个大的问题,非常之感谢!

再次感谢!!!

请教下达人,有个别替换不了的,是不是RAR锁定了?还是别的什么原因?

如果是锁定了,有没有批量解锁的工具呢?

再次谢过!

在批处理过程中  ...

把你实际运行的代码贴出来
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

WinRAR.exe和RAR.exe在处理rar文件时,可以忽略扩展名,例如:
rar c -zinfo.txt dummy
导入注释文本info.txt到dummy,处理时自动扩展dummy为dummy.rar
但在一种情况下例外,就是在.rar文件名中存在点(.),如dum.my,这个时候WinRAR.exe或RAR.exe将其扩展成dum.my,而不是dum.my.rar,所以WinRAR.exe和RAR.exe就找不到文件了

所以,以我在6楼的代码为例子,如果.rar的文件名中可能有点(.),则需要改成:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "rar=C:\Program Files\WinRAR\rar.exe"
  3. for %%a in ("C:\test\*.rar") do (
  4. del /q *.h 2>nul
  5. "%rar%" cw "%%a" hanye.h
  6. for /f "delims=" %%c in (hanye.h) do (set "c=%%c"
  7. set "c=!c:提车软件=寒夜孤星!"
  8. set "c=!c:51ddd.Com=bathome.net!"
  9. echo.!c!)>>guxing.h
  10. "%rar%" c -zguxing.h "%%a")
复制代码
即把%%~na改成%%a,以完整文件名操作

[ 本帖最后由 hanyeguxing 于 2010-4-15 22:17 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

修改主题,在前面加上[已解决]

[ 本帖最后由 hanyeguxing 于 2010-4-16 17:47 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表