标题: [文件操作] BAT批处理复制或移动文件夹中的文件时,如何重新命名? [打印本页]
作者: wonderful 时间: 2014-2-20 21:25 标题: BAT批处理复制或移动文件夹中的文件时,如何重新命名?
复制或移动多个文件夹中的文件时,若源文件与目标文件夹中的文件有重名的情况,请问,如何将源文件中的文件重新命名?(命名规则可以:文件名_1.文件类型,若还有重复,则文件名_2.文件类型……),谢谢,大家指点。
作者: wonderful 时间: 2014-2-21 16:58
麻烦大家给予帮助,谢谢。
作者: apang 时间: 2014-2-22 09:50
- @set @n=0;/*
- @set "源=D:\abc\ D:\def\ d:\xyz\" & set "目标=E:\123\"
- @dir /a-d/b/s "%源:\ =\" "%" | cscript -nologo -e:jscript "%~0" "%目标%"
- @pause & exit/b & Rem */
- dst = WScript.Arguments(0);
- fso = new ActiveXObject("Scripting.FileSystemObject");
- while (!WSH.StdIn.AtEndOfStream) {
- file = WSH.StdIn.ReadLine();
- f = fn = fso.GetFile(file).Name;
- len = f.lastIndexOf(".");
- if (len == "-1") {len = f.length};
- n = 0;
- while (fso.FileExists(dst + fn)) {
- n += 1;
- fn = f.substr(0,len) + "_" + n + f.substr(len);
- };
- fso.GetFile(file).Copy(dst + fn);
- }
复制代码
作者: wonderful 时间: 2014-2-23 09:27
回复 3# apang
太感谢了,虽然看上去很复杂(自己水平差,很多地方看不懂,呵呵),不过会好好研究一番的,多些了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |