标题: [文件操作] 批处理怎样修改压缩包里的文件名? [打印本页]
作者: zjhuangjw 时间: 2016-1-25 04:16 标题: 批处理怎样修改压缩包里的文件名?
本帖最后由 pcl_test 于 2016-1-25 19:54 编辑
- @echo off
- set "rar=C:\Program Files\WinRAR\RAR.exe"
- for /r %%i in (*.rar) do (
- "%rar%" rn "%%i" 【这里是不需要的,替换为我自己的】这里是需要的.doc 【我自己的】这里是需要的.doc
- )
- pause
复制代码
这样子需要怎么修改呢?小白,感谢
作者: gawk 时间: 2016-1-25 13:06
rar的rn命令只支持通配符,不支持正则表达式,所以它无法完成你想要的功能。
改成这样吧:解压缩,重命名,压缩。
作者: zjhuangjw 时间: 2016-1-26 01:00
@echo off&setlocal enabledelayedexpansion
for /r %%i in (*.doc) do (
set "str=%%i"
ren "%%i" "!str:2222=5555!"
)
pause
这句为什么加/r 就语法错误?
作者: zjhuangjw 时间: 2016-1-26 12:53 标题: 批处理怎样修改压缩包里的文件名?
本帖最后由 pcl_test 于 2016-1-26 20:26 编辑
- @echo off&setlocal enabledelayedexpansion
- for /r %%i in (*.doc) do (
- set "str=%%i"
- ren "%%i" "!str:2222=5555!"
- )
- pause
复制代码
这句为什么加/r 就语法错误?所有子目录下面应该怎么写?
作者: wskwfkbdn 时间: 2016-1-26 16:43
本帖最后由 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
作者: WHY 时间: 2016-1-26 18:48
C:\Users\Administrator>ren /?
重命名文件。
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
请注意,您不能为目标文件指定新的驱动器或路径。
作者: zjhuangjw 时间: 2016-1-26 19:31
谢谢,我要替换本文件夹下面的 所有子目录里面的.doc 文件名中的某些字符串 如: 【下载自aaa】知识.doc 替换成【下载自bbb】知识.doc
作者: gawk 时间: 2016-1-27 20:49
回复 7# zjhuangjw
具体的对应关系是什么?aaa改成bbb,那么xxx改成什么呢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |