标题: [文件操作] 批处理怎样复制指定后缀名文件并重命名? [打印本页]
作者: hcy980 时间: 2011-4-4 21:33 标题: 批处理怎样复制指定后缀名文件并重命名?
设想要求如下 查找D盘所有JPG图片,复制到E盘,并以原先文件所在的目录重命名
如: d:\123\456\789\888.jpg
到E盘 命名为 d-123-456-789-888.jpg
请伸手帮忙。谢谢~
作者: hanyeguxing 时间: 2011-4-4 22:20
使用dir搜索然后用set,很简单的代码。楼主可以尝试自己写。
作者: tmplinshi 时间: 2011-4-4 22:22
- @echo off
- set SrcDrive=d
- set DestDrive=e
- for /r %SrcDrive%:\ %%i in (*.jpg) do (
- set pnx=%%~pnxi
- SetLocal EnableDelayedExpansion
- copy "%SrcDrive%:!pnx!" "%DestDrive%!pnx:\=-!"
- EndLocal
- )
复制代码
作者: hcy980 时间: 2011-4-5 21:39
谢谢3楼。代码测试过了没有问题!
但是,如是指定将D:\123 内的文件 重命名 拷贝到E:\123
又应该如果修改代码。 从没接触过批处理的菜鸟,求教!
作者: tmplinshi 时间: 2011-4-5 22:29
4# hcy980 - @echo off
-
- set "SrcDir=D:\123"
- set "DestDir=E:\123"
-
- if not exist "%DestDir%" md "%DestDir%"
-
- for /r "%SrcDir%\" %%i in (*.jpg) do (
- set SrcFile=%%i
- SetLocal EnableDelayedExpansion
- set DestFile=!SrcFile::=!
- set DestFile=!DestDir!\!DestFile:\=-!
- copy "!SrcFile!" "!DestFile!"
- EndLocal
- )
复制代码
作者: hanyeguxing 时间: 2011-4-5 22:31
本帖最后由 hanyeguxing 于 2011-4-5 22:32 编辑
4# hcy980 copy的时候加上绝对路径就可以
作者: zhoufuuu520 时间: 2011-4-6 13:21
那如何在特定的文件夹里搜索图片呢?
如d:\images\123.jpg搜索123.jpg这张图片
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |