无忧启动论坛

标题: 已解决--求批处理实现 复制文件遇到相同文件名自动重命名(增量备份-不覆盖以前的.... [打印本页]

作者: 879792799    时间: 2018-9-14 11:45
标题: 已解决--求批处理实现 复制文件遇到相同文件名自动重命名(增量备份-不覆盖以前的....
本帖最后由 879792799 于 2018-9-14 18:04 编辑

已完美解决----答案在7楼   谢谢junyee大大指教!!!

求助大大们一个批处理  !!!

我想实现这样功能

---我拖动文件到批处理上,批处理自动把这个文件复制C盘目录下(备份)
假如c盘已经备份过一次存在相同的文件名 就重命名文件后加-1标志备份到C盘下(不覆盖已经存在文件)

假如我拖动文件1.txt到批处理上  C盘生成1.TXT
我再拖动文件1.txt到批处理上  C盘生成1-1.TXT
我再再拖动文件1.txt到批处理上  C盘生成1-2.TXT
我再再再拖动文件1.txt到批处理上  C盘生成1-3.TXT
.。。。。。。。
。。。。
。。
求指教 谢谢大大了!!!!
作者: 窄口牛    时间: 2018-9-14 12:53
robocopy了解一下
作者: nttwqz    时间: 2018-9-14 13:20
窄口牛 发表于 2018-9-14 12:53
robocopy了解一下

robocopy不仅是一个强大的命令,还是一个复杂的命令,一段时间不用就会忘记,好多年前研究的很透彻,现在不看帮助都不会~
作者: 江南一根葱    时间: 2018-9-14 13:42
第一步好办,后面的,,,
要是不存在1.txt却存在1-1.txt呢
作者: 879792799    时间: 2018-9-14 15:38
江南一根葱 发表于 2018-9-14 13:42
第一步好办,后面的,,,
要是不存在1.txt却存在1-1.txt呢

不用考虑那么复杂的 个人使用   大大也会批处理??!!
作者: kingshui    时间: 2018-9-14 16:00
窄口牛 发表于 2018-9-14 12:53
robocopy了解一下

我喜欢用robocopy来删除很难删除的文件夹之类
先建一个空的文件夹,直接用robocopy镜像到要删除的文件夹
作者: junyee    时间: 2018-9-14 16:15
本帖最后由 junyee 于 2018-9-14 16:21 编辑


唉.......


  1. @echo off &&setlocal enabledelayedexpansion

  2. set file=%1
  3. set fn=%~n1
  4. set fe=%~x1
  5. set bakDir=R:\TEMP\bak

  6. if exist %bakDir%\%fn%%fe% (
  7.   call :copyFileExist
  8. ) else (
  9.   copy %file% %bakDir%\ /y
  10. )
  11. echo finished.
  12. ping 127.1 -n 2 >NUL
  13. GOTO :EOF

  14. :copyFileExist
  15. set ext=1
  16. :until_no_file
  17. if exist %bakDir%\%fn%-!ext!.%fe% (
  18.   set /a ext+=1 >nul
  19.   goto :until_no_file
  20. )
  21. copy %file% %bakDir%\%fn%-!ext!.%fe%
  22. goto :EOF
复制代码

作者: 879792799    时间: 2018-9-14 17:00
junyee 发表于 2018-9-14 16:15
唉.......

谢谢 大大出手!!! 我赶紧试试!
作者: 879792799    时间: 2018-9-14 17:03
本帖最后由 879792799 于 2018-9-14 18:08 编辑
junyee 发表于 2018-9-14 16:15
唉.......


                         谢谢!谢谢搞定啦!! 很满意!很满意!!!
还是大大最实在,俺们论坛真是藏龙卧虎啊,哈哈!!!!!
作者: crtrccrtt    时间: 2018-9-15 04:55

%bakDir%\%fn%-!ext!%.fe%
修改为
%bakDir%\%fn%-!ext!%fe%
作者: 虫五    时间: 2018-11-20 16:09
本帖最后由 虫五 于 2018-11-20 16:10 编辑
junyee 发表于 2018-9-14 16:15
唉.......


请问下,如何实现批量复制,覆盖不了的自动重命名旧文件?目前我只能实现覆盖不了的报错,然后手动改名。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3