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

[文件操作] BAT批处理复制或移动文件夹中的文件时,如何重新命名?

[复制链接]
发表于 2014-2-20 21:25:54 | 显示全部楼层 |阅读模式
复制或移动多个文件夹中的文件时,若源文件与目标文件夹中的文件有重名的情况,请问,如何将源文件中的文件重新命名?(命名规则可以:文件名_1.文件类型,若还有重复,则文件名_2.文件类型……),谢谢,大家指点。
 楼主| 发表于 2014-2-21 16:58:35 | 显示全部楼层
麻烦大家给予帮助,谢谢。
发表于 2014-2-22 09:50:38 | 显示全部楼层
  1. @set @n=0;/*
  2. @set "源=D:\abc\ D:\def\ d:\xyz" & set "目标=E:\123"
  3. @dir /a-d/b/s "%源:\ =" "%" | cscript -nologo -e:jscript "%~0" "%目标%"
  4. @pause & exit/b & Rem */
  5. dst = WScript.Arguments(0);
  6. fso = new ActiveXObject("Scripting.FileSystemObject");
  7. while (!WSH.StdIn.AtEndOfStream) {
  8.     file = WSH.StdIn.ReadLine();
  9.     f = fn = fso.GetFile(file).Name;
  10.     len = f.lastIndexOf(".");
  11.     if (len == "-1") {len = f.length};
  12.     n = 0;
  13.     while (fso.FileExists(dst + fn)) {
  14.         n += 1;
  15.         fn = f.substr(0,len) + "_" + n + f.substr(len);
  16.     };
  17.     fso.GetFile(file).Copy(dst + fn);
  18. }
复制代码
 楼主| 发表于 2014-2-23 09:27:36 | 显示全部楼层
回复 3# apang


   太感谢了,虽然看上去很复杂(自己水平差,很多地方看不懂,呵呵),不过会好好研究一番的,多些了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 02:09 , Processed in 0.013543 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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