Потребителите на компютри, които са израснали с модерни компютри с Mac и Windows, може да не са наясно с това, но веднъж, отдавна всички персонални компютри бяха контролирани чрез интерфейс на командния ред. Да, тази тромава командна кутия на вашата машина с Windows е била буквално единственият начин, по който повечето хора някога са взаимодействали с компютър. Интерфейсите на командния ред разчитат до голяма степен на малки програми, наречени „скриптове“, които са колекции от команди на операционна система, използвани за изпълнение на общи задачи.
Въпреки че графичните потребителски интерфейси на днешните персонални компютри са на светлинни години по-сложни и лесни за използване от старите командни линии, все още има приложения за по-стария метод за управление на вашия компютър. Едно от най-често срещаните и добре пригодени приложения за скрипт на командния ред е архивиране на данни. Сценариите на командния ред могат да бъдат автоматизирани да се изпълняват по всяко време без човешко взаимодействие и да имат малки ограничения. Най-доброто от всичко - те са вградена част от операционната система Windows.


Защо скриптове на командния ред?
Защо да използвате скрипта на командния ред, когато има както търговски, така и безплатни програми за архивиране? Е, скриптите от командния ред имат редица уникални предимства. Ето няколко от тях:
- Native Commands : Какъв по-добър начин за архивиране на данни от използването на функциите, предоставени чрез програмата, която създава данните? Независимо дали това е самата операционна система чрез обикновена команда за копиране на файлове или команда на база данни за създаване на възстановим двоичен файл, изходната програма знае най-добре как да се архивира.
- Краен контрол : Тъй като скриптът на командния ред следва проста стъпка по стъпка процедура, вие знаете точно какво се случва и можете лесно да променяте поведението.
- Бързо : Тъй като всичко е родна команда, нищо не подлежи на тълкуване. Отново използвате команди, предоставени от самата програма, така че режийните разходи се свеждат до минимум.
- Мощен : Предстои да видя задача за архивиране, която не може да бъде изпълнена чрез скрипт на командния ред … и съм направил някои забавни неща. Въпреки че може да се наложи да направите някои изследвания и опити и грешки, ако имате наистина уникални нужди, обикновено вградените функции и функции на скриптовия език, който използвате, са повече от достатъчни.
- Безплатен и гъвкав : Очевидно скриптът на командния ред не струва нищо (извън времето за разработването му), така че можете да копирате скриптовете си на произволен брой машини и системи с малко или никакво време или разходи. Сравнете това с цената на закупуване на лицензи за софтуер за архивиране на няколко сървъра и / или настолни машини.
Бърз преглед на резервния пакетен скрипт
Повечето хора никога не са се научили да използват скриптове на командния ред и това се счита донякъде за „черно изкуство“. Въпреки това, всъщност е доста просто нещо за научаване. За да демонстрирам силата на командния ред, предоставям обикновен пакетен скрипт на Windows, който можете да използвате за архивиране на важните си данни. Този конфигурируем и променящ се скрипт не изисква никакви познания (или желание да се научат) на пакетния скриптови език на Windows, но ако решите, че искате да научите повече за пакетните скриптове на Windows, ще намерите този скрипт като добро начално място,
Какво прави скриптът за архивиране:
- Създава пълни или ежедневни инкрементални (вижте по-долу за определение) архивиране на файлове и папки, които сте посочили в отделен текстов файл за конфигурация (вижте по-долу).
- Когато папка е именувана, тази папка и всички подпапки се архивират.
- Когато файл е кръстен, точно този файл се архивира.
- Компресира (цип) архивираните файлове. След като всички файлове за архивиране се копират, те се компресират, за да спестят място. 7-Zip е необходим за инсталиране на вашата система, за да работи това.
- Датира компресирания файл и го премества на място за съхранение. След като архивираните файлове се компресират, полученият архив получава име на файл според текущата дата и след това се премества на конфигурирано място за съхранение, като например външно устройство или мрежово местоположение.
- Почиства след себе си. След приключване на всички задачи, пакетният скрипт изчиства всички създадени от него временни файлове.
Изисквания:
Windows 2000 / XP / 2003 / Vista или по-нова версия
7-Zip (безплатно е)
Конфигурационен файл:
Конфигурационният файл е просто текстов файл, който съдържа файлове и папки за архивиране, въведени по един резервен елемент на ред. Този файл трябва да носи името „BackupConfig.txt“ и да бъде разположен в същата папка като скрипта за архивиране. Ето пример за файл BackupConfig.txt (обърнете внимание, символът "#" на първия ред показва, че редът е коментар; коментарите винаги се игнорират, когато се изпълнява скриптът):
# Въведете имена на файлове и папки, по едно на ред.
C: \ Документи и настройки \ Джейсън Фолкнер \ Desktop C: \ Документи и настройки \ Джейсън Фолкнер \ Моите документи \ Важни файлове C: \ Сценарии \ BackupScript.bat
Примерът по-горе ще архивира десктопа на потребителя на Windows Джейсън Фолкнер (и всички папки на работния плот), папката, наречена „Важни файлове“ вътре в „Моите документи“ (и всички папки в „Важни файлове“) и файла „BackupScript.bat“ вътре директория C: \ Scripts.
Видове архивиране:
- Пълно архивиране: Пълното копие на всички файлове и папки (включително подпапки) са включени в архива.
- Постепенно архивиране: Когато се предоставя папка, са само файлове, създадени или модифицирани на текущата дата
подкрепена. Когато е предоставен файл, той винаги се архивира, независимо кога е бил променен.
Пакетният скрипт за архивиране на данни
Искам да подчертая, че този скрипт е много основен, тъй като всичко, което прави, е създаване на резервни копия чрез използване на обикновено копие на файл. Има някои опции за конфигуриране, които можете да зададете:
- Мястото за резервно съхранение, където се съхраняват получените компресирани архивни файлове.
- В деня от седмицата се изпълнява пълното архивиране (всеки друг ден ще се изпълни постепенно архивиране).
- Местоположение на мястото, където 7-Zip е инсталиран на вашия компютър. Скриптът се настройва автоматично, за да изглежда в местоположението по подразбиране.
Ако имате някакви предложения или заявки за функции, моля, коментирайте по-долу. Наистина бих искал да направя последваща статия към тази публикация, която съдържа актуализиран скрипт въз основа на въвеждането на читателя. Ако имате нужда от инструкции за това как да използвате този скрипт или да зададете планирана задача, разгледайте връзките под източника на скрипт.
Без допълнително обожание, ето го:
Забележка : Тъй като кавичките не се показват правилно отдолу (и в резултат могат да объркат скрипта), аз включих обикновена текстова връзка под скрипта, която можете да използвате, за да получите точен източник, от който да копирате.
@ECHO OFF REM BackupScript REM Версия 1.01, Актуализирано: 2008-05-21 REM От Джейсън Фолкнер (articles132solutions.com) REM Извършва пълни или инкрементални резервни копия на папки и файлове, конфигурирани от потребителя. REM Usage --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Опции за конфигуриране --- REM Местоположение на папка, където искате да съхранявате получения архивен архив. REM Тази папка трябва да съществува. Не поставяйте "\" в края, това ще бъде добавено автоматично. REM Можете да въведете местен път, буквата на външния диск (напр. F :) или мрежово местоположение (напр. \\ сървър \ резервно копие) SET BackupStorage = C: \ Backup REM Кой ден от седмицата искате да изпълните пълно резервно копие на? REM Въведете едно от следните: Sun, Mon, Tue, Wed, Thu, Fri, Sat, * REM Всеки ден от седмицата, различен от посочения по-долу, ще изпълни допълнително резервно копие. REM Ако въведете „*“, всеки път ще се изпълнява пълна резервна копия. SET FullBackupDay = * REM Местоположение, където е инсталиран 7-Zip на вашия компютър. REM По подразбиране е в папка, "7-Zip" в вашата директория Program Files. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Не променяйте нищо по-долу тук, освен ако не знаете какво правите. | REM + ------------------------------------------------ ----------------------- + REM Променливи за използване. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt Валидиране на REM. АКО НЕ СЪЩЕСТВУВА%% filBackupConfig% (ECHO Не е намерен конфигурационен файл, липсва:% filBackupConfig% GOTO End) АКО НЯМА „% exe7Zip%“ (ECHO 7-Zip не е инсталиран на мястото:% dir7Zip% ECHO Моля, актуализирайте директорията, където Инсталиран е 7-Zip.GOTO End) REM Backup променливи. FOR / f "жетони = 1, 2, 3, 4 delims = /" %% a IN ('дата / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) АКО {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = Пълен SET swXCopy = / д) ELSE (SET txtBackup = Инкрементален SET swXCopy = / s / d:% FileDate%) ECHO Започва да копира файлове. АКО НЕ СЪЩЕСТВУВА "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 символа = *" %% A IN (% filBackupConfig%) DO (SET Current = %% ~ A АКО НЕ съществува "! Current! "(ECHO ERROR! Не е намерен:! Текущ!) ELSE (ECHO Copying:! Current! SET Destination =% dirTempBackup% \! Current: ~ 0, 1! %% ~ pnxA REM Определете дали записът е файл или директория. АКО "%% ~ xA" == "" (директория REM. XCOPY "! Текуща!" "! Дестинация!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (REM файл . COPY / v / y "! Актуално!" "! Дестинация!"))) ECHO Копиране на файлове. Хуманитарна помощ. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Ако файлът за архивиране съществува, го премахнете в полза на новия файл. Ако съществува "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Компресиране на архивирани файлове. (Нов прозорец) REM Компресиране на файлове с помощта на 7-Zip в процес с по-нисък приоритет. НАЧАЛО "Компресиране на архивиране. НЕ ЗАКЛЮЧВАЙТЕ" / belownormal / изчакайте "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Готово компресиране на архивирани файлове. Хуманитарна помощ. ECHO Почистване. АКО ИМА "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Край ECHO Завършен. Хуманитарна помощ. ENDLOCAL
Тук е наличен обикновен източник на текст: резервно копие
Ако имате нужда от помощ, за да започнете с прилагането на този скрипт, ето няколко връзки, които ще ви помогнат:
- Как да създадете Batch файл
- Как да създадете задача по график на Windows
Това е същият скрипт, който използвам за архивиране на компютъра си всеки ден (с няколко модификации разбира се), така че знам, че работи много добре. Надявам се да го намерите полезен.
Наслади се!






