如何使用bat批处理或cmd,:将一个文件复制为“多个副本“(增量备份,自动重命名)到指定目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用bat批处理或cmd,:将一个文件复制为“多个副本“(增量备份,自动重命名)到指定目录相关的知识,希望对你有一定的参考价值。

如何使用bat批处理或cmd,:将一个文件复制为“多个副本“(增量备份,自动重命名)到指定目录不能覆盖已经有的备份,要能够自动重命名。每次执行都只增不减。自己试了一下用dos的copy和xcopy以及高级复制命令,都没效果。

这个并不难,但你要说明几个问题:

    要指定源文件,比如要复制A文件夹下f文件到B文件夹下

    要说明重命名规则,你希望是f_1,f_2……这样的,还是f-副本,f-副本-副本,f-副本-副本-副本……这样的

    是只备份f文件呢还是要备份多个文件。

@ECHO OFF&setlocal enabledelayedexpansion
::此脚本是将源目录E:\\TEST0中的test.txt文件,备份到目的目录d:\\TEST中,运行一次将test.txt备份一次,
::并根据目的目录中已存在的备份,将新的备份依次命名为test_0.txt,test_1.txt……
::设置源目录
set "sur=E:\\TEST0"
::设置目的目录
set "des=d:\\TEST"
::设置源备份文件
set "f=test.txt"
cd %sur%
set /a num=0
if not exist "%des%" md "%des%"
for /f "delims=" %%a in ('dir /a-d /b "%f%"') do (
for /f "delims=" %%i in ('dir /a-d /b "%des%"^|findstr "%%~na"') do set /a num+=1
@copy "%sur%\\%%a" "%des%\\%%~na_!num!%%~xa"
)
pause>nul

测试结果:

源目录结构

运行11次备份的结果:

参考技术A @echo off & title 增量备份 By 依梦琴瑶

::设置备份的文件名
set FileName=mypic

::设置备份文件的后缀名
set FileExt=.jpg

::设置备份文件的路径,当前目录就用小数点表示
set FilePath=.

::设置文件保存到指定位置
set SaveDir=D:\Backup

:Copy+
if defined Num set C_Num=(%Num%)
if exist "%SaveDir%\%FileName%%C_Num%%FileExt%" (
set /a Num+=1
goto Copy+
) else (
copy "%SaveDir%\%FileName%%FileExt%" "%SaveDir%\%FileName%%C_Num%%FileExt%"
)

Pause

以上代码执行后,就会累积给后面的文件名后面增加“(编号)”这样的格式。本回答被提问者和网友采纳

bat和cmd文件是什么,dos又是什么东西

bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

dos操作系统:
       dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。从1981年直到1995年的15年间,磁盘操作系统在IBM PC 兼容机市场中占有举足轻重的地位。而且,若是把部分以DOS为基础的Microsoft Windows版本,如Windows 95、Windows 98和Windows Me等都算进去的话,那么其商业寿命至少可以算到2000年。微软的所有后续版本中,磁盘操作系统仍然被保留着。
DOS是1979年由微软公司为IBM个人电脑开发的MS-DOS,它是一个单用户单任务的操作系统。后来DOS的概念也包括了其它公司生产的与MS-DOS兼容的系统,如PC-DOS[3] 、DR-DOS, 以及一些其它相对不太出名的DOS兼容产品。它们在1985年到1995年及其后的一段时间内占据操作系统的统治地位,最著名和广泛使用的DOS系统从1981年直到1995年的15年间微软在推出Windows 95之后,宣布MS-DOS不再单独发布新版本。不过FreeDOS等与MS-DOS兼容的DOS则在继续发展着。
虽然大多数用户将1981年最早发表的术语“PC”与IBM PC或PC兼容机等同看待, 但是实际上个人计算机在1970年已经开始使用。DOS是IBM PC及其兼容机用的操作系统。在DOS之前,一些微机为其操作系统使用内部BASIC编程语言,而另外一些使用Digital Research公司开发的CP/M操作系统(此公司提供了DR DOS)。Microsoft公司于1970年后开发了MS-DOS,当时,该公司为不同微机开发了像BASIC这类编程语言;1980年IBM正在设计最早的IBM PC并请Microsoft为其新型机开发多个编程语言。这次CP/M作为选择的操作系统并成为IBM新机种的操作系统。在Microsoft为IBM PC 设计语言的过程中,尽管Microsoft公司改进了IBM PC的语言设计和应用程序设计,但是他们认识到开发PC操作系统才是其努力方向。然而,由于没有足够的时间从零开始开发一个操作系统。为解决这个问题,Microsoft购买了一个用于8086处理器的操作系统86-DOS,86-DOS操作系统是西雅图电脑产品公司(Seattle Computer Products)的一名24岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编的,该操作系统与最早的IBM PC中的8086处理器非常相似。给每台IBM电脑安装一个DOS系统,微软就收取200美金的商业运作模式,造就了微软的初期辉煌。

以上是关于如何使用bat批处理或cmd,:将一个文件复制为“多个副本“(增量备份,自动重命名)到指定目录的主要内容,如果未能解决你的问题,请参考以下文章

在.bat脚本中如何将一个命令的返回结果传给一个变量?

如何用批处理打开文件

bat 或cmd 制作删除1月前固定文件夹下所有文件

通过批处理或 cmd 文件停止和启动服务?

我要用bat批处理运行一个cmd的代码,请问怎么写?(内详)

求教:运行bat文件后如何让cmd窗口自动关闭?