[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理怎样修改压缩包里的文件名?

本帖最后由 pcl_test 于 2016-1-25 19:54 编辑
  1. @echo off
  2. set "rar=C:\Program Files\WinRAR\RAR.exe"
  3. for /r %%i in (*.rar) do (
  4. "%rar%" rn "%%i" 【这里是不需要的,替换为我自己的】这里是需要的.doc 【我自己的】这里是需要的.doc
  5. )
  6. pause
复制代码
这样子需要怎么修改呢?小白,感谢

TOP

rar的rn命令只支持通配符,不支持正则表达式,所以它无法完成你想要的功能。
改成这样吧:解压缩,重命名,压缩。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

@echo off&setlocal enabledelayedexpansion
for /r %%i in (*.doc) do (
  set "str=%%i"
  ren "%%i" "!str:2222=5555!"
)
pause

这句为什么加/r 就语法错误?

TOP

[文件操作] 批处理怎样修改压缩包里的文件名?

本帖最后由 pcl_test 于 2016-1-26 20:26 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /r %%i in (*.doc) do (
  3.   set "str=%%i"
  4.   ren "%%i" "!str:2222=5555!"
  5. )
  6. pause
复制代码
这句为什么加/r 就语法错误?所有子目录下面应该怎么写?
1

评分人数

本帖最后由 wskwfkbdn 于 2016-1-26 16:47 编辑

@ECHO OFF&setlocal enabledelayedexpansion
for /r  %%i in (*.doc) do (
  set xiao="%%i"
  echo !xiao!
)
pause


---------------------------------------------------------------------------------------------

@ECHO OFF&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b /s *.doc') do (
  set xiao="%%i"
  echo !xiao!
)
pause

TOP

C:\Users\Administrator>ren /?
重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

请注意,您不能为目标文件指定新的驱动器或路径。

TOP

谢谢,我要替换本文件夹下面的 所有子目录里面的.doc 文件名中的某些字符串 如: 【下载自aaa】知识.doc  替换成【下载自bbb】知识.doc

TOP

回复 7# zjhuangjw


    具体的对应关系是什么?aaa改成bbb,那么xxx改成什么呢
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

返回列表