批处理复制文件并重命名,同名文件跳过并重命名原文件+序号

2024-11-16 16:17:07
推荐回答(2个)
回答1:

@echo off
echo 正在复制...
call :copy
echo 完成!
pause>nul
exit

:copy
for /l %%i in (1 1 1000) do (
if not exist "i:\备份\2012年日报表%%i.xls" (
copy "D:\My Documents\仓库\2012年日报表.xls" "i:\备份\2012年日报表%%i.xls"
goto :eof
))
goto :eof

下边是以当前日期复制,不检查是否存在。
@echo off
echo 正在复制...
for /f "tokens=1 delims= " %%i in ("%date%") do set "name=%%i"
echo copy "D:\My Documents\仓库\2012年日报表.xls" "i:\备份\2012年日报表%name:/=-%.xls"
pause

回答2:

把canyuexiaolang大侠的改了下,你试试,如果好用,分记得给他,我是个打酱油的~
============================================================
@echo off
color 3f
title 报表备份脚本
echo 正在复制...
if not exist H:\备份 md H:\备份 >nul
copy /y "D:\My Documents\仓库\2012年日报表.xls" "H:\备份\%date%日报表.xls"
echo 备份成功!即将退出...
ping 127.1 -n 3 >nul
exit