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

[文件操作] 批处理如何循环改名移动文件?

[复制链接]
发表于 2013-3-23 19:26:39 | 显示全部楼层 |阅读模式
写一个批处理文件
c:\1\目录下一个文件 20130323_001.jpg 拷贝到  c:\2\下,十分钟后,将c:\1\目录下的文件改名为20130323_002.jpg 再拷贝到c:\2\目录下。201303223为今天日期,到24日再更改为20130324后面_001为流水号。每次增加1.
 楼主| 发表于 2013-3-23 20:04:14 | 显示全部楼层
不取那个日期也行,后面流水号增加就可以。感谢
发表于 2013-3-24 20:53:35 | 显示全部楼层
试试:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "date="
  3. for /f "tokens=1-3 delims=/\-: " %%a in ("!date!") do set dt=%%a%%b%%c
  4. for %%a in ("c:\1\*_*.jpg") do (
  5.    set "file=%%a"
  6.    for /f "tokens=2 delims=_." %%b in ("%%a") do set n=1%%b
  7. )
  8. for /l %%a in () do (
  9.    set /a n+=1
  10.    move /y "c:\1\!file!" "c:\1\!dt!_!n:~-3!.jpg"
  11.    set "file=!dt!_!n:~-3!.jpg"
  12.    copy /y "c:\1\!file!" "c:\2\!file!"
  13.    ping /n 600 127.1 >nul
  14. )
复制代码
 楼主| 发表于 2013-3-24 23:56:36 | 显示全部楼层
非常感谢楼上。
我试了一下 能跑起来
开始时候提示  系统找不到指定文件
ping 不是内部或外部命令 也不是可运行的程序 或批处理文件
过了一小会,提示复制成功
c:\2\下产生很多文件,似乎拷贝文件间隔时间非常短。

是不是我这缺什么可执行文件?
发表于 2013-3-25 17:31:20 | 显示全部楼层
回复 4# zhifuz


右键单击“我的电脑”→“属性”→“高级”→“环境变量”→选中path系统环境变量→“编辑”→在“变量值”输入框开头添加以下内容:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
 楼主| 发表于 2013-3-25 22:49:01 | 显示全部楼层
楼上哥们,我加上环境变量直接就提示
文件名、目录名或卷标语法不正确
系统找不到指定的文件

不用取前面日期。直接把流水号增加就行,简单点能用我以后再改就可以,感谢。
发表于 2013-3-26 13:08:49 | 显示全部楼层
回复 6# zhifuz


    把@echo off删掉,完整的执行过程贴出来看看。
 楼主| 发表于 2013-3-26 13:36:58 | 显示全部楼层
使用上面的代码 换了一台计算机 就执行不下去了。提示
文件名、目录名或卷标语法不正确
系统找不到指定的文件
删除掉@echo off  执行后一闪而过,c:\2\文件夹下产生文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 03:12 , Processed in 0.018327 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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