在使用高级Mac和Windows计算机的环境中成长的计算机用户可能并不知道,但是很久以前,所有个人计算机都使用命令行界面进行控制。 是的,Windows计算机上笨拙的命令框实际上是大多数人与计算机进行交互的唯一方式。 命令行界面严重依赖于称为“脚本”的小程序,这些小程序是用于执行常见任务的操作系统命令的集合。
尽管今天的PC的图形用户界面比旧的命令行要光明年,并且更易于使用,但是对于控制计算机的旧方法仍然存在用处。 命令行脚本最常见且最适合的应用程序之一是数据备份。 命令行脚本可以在任何时间自动运行,而无需任何人工干预,并且几乎没有限制。 最重要的是-它们是Windows操作系统的内置部分。
为什么使用命令行脚本?
当既有商业备份程序又有免费备份程序时,为什么要使用命令行脚本? 嗯,命令行脚本具有许多独特的优势。 这里有几个:
- 本机命令 :比使用创建数据的程序提供的功能更好的备份数据的方法吗? 无论这是通过简单的文件复制命令还是通过数据库命令生成可恢复的二进制文件的操作系统本身,源程序都最清楚如何进行自我备份。
- 终极控制 :由于命令行脚本遵循一个简单的分步过程,因此您可以确切了解正在发生的事情,并且可以轻松地修改行为。
- 快速 :由于一切都是本机命令,因此无需解释。 同样,您使用的是程序本身提供的命令,因此可以将开销降至最低。
- 功能强大 :我还没有看到无法通过命令行脚本完成的备份任务……而且我做了一些时髦的事情。 如果您确实有独特的需求,尽管您可能必须进行一些研究和反复试验,但是通常,所使用的脚本语言的内置功能已经足够了。
- 自由和灵活 :显然,命令行脚本不花任何钱(开发时间除外),因此您可以将脚本复制到任意数量的计算机和系统上,而几乎没有时间或成本。 将此与购买多台服务器和/或台式机上的备份软件的许可证成本进行比较。
备份批处理脚本快速概述
大多数人从未学会过使用命令行脚本,这被认为是某种“妖术”。 但是,实际上这是一件非常简单的事情。 为了演示命令行的功能,我提供了一个简单的Windows批处理脚本,您可以使用该脚本来备份重要数据。 此可配置和可自定义的脚本不需要Windows批处理脚本语言的任何知识(或学习意愿),但是如果您确定要学习有关Windows批处理脚本的更多信息,您会发现此脚本是一个很好的起点。 。
备份脚本的作用:
- 创建在单独的配置文本文件(请参阅下文)中指定的文件和文件夹的完整或每日增量备份(请参阅下文以获取定义)。
- 命名文件夹后,将备份该文件夹和所有子文件夹。
- 命名文件后,仅备份该文件。
- 压缩(压缩)备份的文件。 复制所有要备份的文件后,将其压缩以节省空间。 必须在系统上安装7-Zip才能正常工作。
- 给压缩文件加上日期,并将其移动到存储位置。 压缩备份文件后,将根据当前日期为生成的归档文件指定一个文件名,然后将其移动到已配置的存储位置,例如外部驱动器或网络位置。
- 自行清理。 完成所有任务后,批处理脚本会清理它创建的所有临时文件。
要求:
Windows 2000 / XP / 2003 / Vista或更高版本
7压缩(免费)
配置文件:
配置文件只是一个文本文件,其中包含要备份的文件和文件夹,每行输入一个备份项。 该文件 必须 命名为“ BackupConfig.txt”,并且与备份脚本位于同一文件夹中。 这是一个BackupConfig.txt文件的示例(请注意,第一行中的“#”字符表示该行是注释;在脚本运行时总是忽略注释):
#输入文件名和文件夹名,每行输入一个。
C:\ Documents and Settings \ Jason Faulkner \ Desktop C:\ Documents and Settings \ Jason Faulkner \ My Documents \ Important Files C:\ Scripts \ BackupScript.bat
上面的示例将备份Windows用户Jason Faulkner的桌面(以及桌面上的所有文件夹),“我的文档”中名为“重要文件”的文件夹(以及“重要文件”中的所有文件夹)和文件“ BackupScript.bat” C:\ Scripts目录。
备份类型:
- 完全备份:备份中包含所有文件和文件夹(包括子文件夹)的完整副本。
- 增量备份:提供文件夹后,仅会在 当前日期 创建或修改文件
支持。 提供文件后,始终对其进行备份,无论何时对其进行修改。
数据备份Windows批处理脚本
我想强调一下此脚本非常基础,因为它所做的只是通过利用简单的文件副本来创建备份。 您可以设置一些配置选项:
- 备份存储位置,用于存储生成的压缩备份文件。
- 完全备份在星期几运行(其他任何一天将运行增量备份)。
- 在计算机上安装7-Zip的位置。 该脚本会自动设置为在默认位置查找。
如果您有任何建议或功能要求,请在下面评论。 我真的很想为这篇文章做一个后续文章,该文章的特色是根据读者的输入更新了脚本。 如果您需要有关如何“使用”此脚本或设置计划任务的说明,请查看脚本源下面的链接。
事不宜迟,这里是:
注意 :由于引号在下面无法正确显示(因此可能使脚本混乱),因此我在脚本下方包括了纯文本链接,您可以使用该链接来获取准确的来源。
@ECHO OFF REM BackupScript REM 1.01版,更新:2008-05-21 REM作者:Jason Faulkner(articles132solutions.com)REM执行用户配置的文件夹和文件的完整或增量备份。 REM用法--- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---配置选项--- REM要在其中存储生成的备份档案的文件夹位置。 REM此文件夹必须存在。 不要在最后加上“ \”,这会自动添加。 REM您可以输入本地路径,外部驱动器号(例如F :)或网络位置(例如\\ server \ backups)SET BackupStorage = C:\ Backup REM您要在星期几执行完整备份? REM输入以下内容之一:太阳,星期一,星期二,星期三,星期四,星期五,星期六,* REM除以下指定的星期几外,每周的任何一天都将运行增量备份。 REM如果输入“ *”,则每次都将运行完整备份。 SET FullBackupDay = * REM计算机上安装7-Zip的位置。 REM默认值是在Program Files目录中的文件夹“ 7-Zip”中。 SET InstallLocationOf7Zip =%ProgramFiles%\ 7-Zip REM + -------------------------------------- --------------------------------- + REM | 除非您知道自己在做什么,否则请不要在下面进行任何更改。 | REM + ------------------------------------------------ ----------------------- + REM用法变量。 SET exe7Zip =%InstallLocationOf7Zip%\ 7z.exe SET dirTempBackup =%TEMP%\ backup SET filBackupConfig = BackupConfig.txt REM验证。 如果不存在%filBackupConfig%(回声,未找到配置文件,缺少:%filBackupConfig%GOTO结束)如果不存在,则“%exe7Zip%”(未在以下位置安装ECHO 7-Zip:%dir7Zip%ECHO,请在以下位置更新目录:已安装7-Zip。GOTO End)REM备份变量。 FOR / f“令牌= 1, 2, 3, 4 delims = /” %% a IN('date / t')DO(SET DayOfWeek = %% a SET NowDate = %% d-%% b-%% c SET FileDate = %% b-%% c-%% d)IF {%FullBackupDay%} == {*} SET FullBackupDay =%DayOfWeek%IF / i {%FullBackupDay%} == {%DayOfWeek%}(SET txtBackup = Full SET swXCopy = / e)ELSE(SET txtBackup =增量SET swXCopy = / s / d:%FileDate%)ECHO开始复制文件。 如果不存在“%dirTempBackup%” MKDIR“%dirTempBackup%” FOR / f“跳过= 1令牌= *” %% A IN(%filBackupConfig%)做(设置当前= %%〜如果不存在“!当前! “((ECHO ERROR!找不到:!Current!)ELSE(ECHO复制:!Current!SET Destination =%dirTempBackup%\!Current:〜0, 1!%%〜pnxA REM确定条目是文件还是目录。 IF“ %%〜xA” ==“”(REM目录。XCOPY“!Current!”“!目的地!” / v / c / i / g / h / q / r / y%swXCopy%)ELSE(REM文件。COPY / v / y“!Current!”“!Destination!”)))ECHO复制文件。 回声。 SET BackupFileDestination =%BackupStorage%\ Backup_%FileDate%_%txtBackup%.zip REM如果存在备份文件,请删除它以使用新文件。 如果存在“%BackupFileDestination%” DEL / f / q“%BackupFileDestination%” ECHO压缩备份的文件。 (新窗口)REM以较低优先级进程使用7-Zip压缩文件。 开始“压缩备份。请勿关闭” /低于正常水平/等待“%exe7Zip%” -tzip -r -mx5“%BackupFileDestination%”“%dirTempBackup%\” ECHO完成压缩备份文件。 回声。 回声清理。 如果存在“%dirTempBackup%” RMDIR / s / q“%dirTempBackup%” ECHO。 :End回声结束。 回声。 本地
纯文本源位于此处:备份
如果您需要帮助开始实施此脚本,请使用以下几个链接来帮助您:
- 如何创建批处理文件
- 如何创建Windows计划任务
这与我每天备份计算机时使用的脚本相同(当然要进行一些修改),因此我知道它可以很好地工作。 希望对你有帮助。
请享用!
