本帖最后由 WHY 于 2015-8-21 15:50 编辑
一种思路:
把当前目录(包括子目录)的所有文件复制到 d:\new文件夹,遇到同名文件时,自动增加(1)、(2)等编号
如果只需要复制指定类型的文件,修改第4行的 *.* 即可。比如改成 *.txt 就只复制扩展名为txt的文件- 1<1/* :
- @echo off
- md d:\new 2>nul
- for /f "tokens=1*delims=/" %%i in ('dir /b /s /a-d *.*^|cscript //Nologo //E:jscript "%~f0"')do (
- copy "%%j" "d:\new\%%i"
- )
- pause & exit
- */
-
- var map = {};
- var str = WScript.StdIn.ReadAll().replace(
- /.+\\(.+)\r\n/g,
- function(a,b){
- var s = '', n = b.toLowerCase();
- map.hasOwnProperty(n)?(map[n]++,s='('+map[n]+')'):map[n]=0;
- b = b.replace(/(.+?)(\.[^.]+|)$/, '$1'+s+'$2');
- return(b + '/' + a);
- }
- )
- WScript.Echo(str)
复制代码
|