Скрипт архивирует папку файлопомойки (\\SERVER\e$\Exchange) и папку с данными юзеров (домашнюю Данные пользователей (\\SERVER\e$\Departments)) Скрипт не архивирует медиафайлы, так как они занимают вагон места и их потеря у меня не критична
rem *******************rem задаём винты где лежат папки для архивирования и винт куда будем бэкапитьrem *******************SET DRIVE1ST=d:SET DRIVE2ND=e: rem *******************rem пароль на архивrem *******************SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf rem *******************rem если копировать для надёжности куданить на сеткуrem *******************rem SET COPYTO=\\shpakk\c$\!backup rem ********************rem *** Проверим путь назначения архиваrem ********************%DRIVE1ST%if not exist \!backup md \!backupif not exist \!backup\Departments md \!backup\Departmentsif not exist \!backup\Exchange md \!backup\Exchangeif not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdiskcd \!backup rem ******************************rem *** Backup \\SERVER\e$\Exchangerem ******************************SET DIRNAME=ExchangeSET FILENAME=SERVER_ExchangeSET SOURCEDIR=e:\Exchangerar a -r -m5 -dh -x*.mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*if not exist %DIRNAME%\%FILENAME%_new.rar goto next2del %DIRNAME%\%FILENAME%_old.rarren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rarren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rarcopy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%:next2rem ***************************rem *** Backup \\SERVER\e$\Usersrem ***************************SET DIRNAME=DepartmentsSET FILENAME=SERVER_DepartmentsSET SOURCEDIR=e:\Departmentsif not exist %DIRNAME%\%FILENAME%_new.rar goto next3del %DIRNAME%\%FILENAME%_old.rarren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rarren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rarren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rarren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar:next3rem *******************rem это если архив будет большим - кусками бить -v357888krem *******************rem rar a -r -m5 -v357888k -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%rem *******************rem архивирование пошло, не берём мультимедиа файлыrem *******************rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%goto next4:next4rem **********************************rem *** Create repair disk on \\SERVERrem **********************************SET DIRNAME=MEDEA_rdiskSET FILENAME=MEDEA_rdiskSET SOURCEDIR=%windir%\repair%windir%\system32\rdisk.exe /s-rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*if not exist %DIRNAME%\%FILENAME%_new.rar goto next5del %DIRNAME%\%FILENAME%_old.rarren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rarren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rarcopy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%:next5В итоге имеем 3 папки:
1 Departments, в ней:
- SERVER_Departments_2.rar - 2х дневной давности
- SERVER_Departments_3.rar - 3х дневной давности
- SERVER_Departments_4.rar - 4х дневной давности
- SERVER_Departments_new.rar - НОВЫЙ
- SERVER_Departments_old.rar - СТАРЫЙ
Exchange
- Так как архивируем обменник - он нам сильно то и не нужен храним только сегодняшний и вчерашний архивы
- SERVER_Exchange.rar
- SERVER_Exchange_old.rar
Ну и систему на всякий в папке
- SERVER_rdisk
- SERVER_rdisk.rar
- SERVER_rdisk_old.rar
Править] Описание команд
echo off | запрещение вывода на экран исполняемых команд (on - вкл.) |
deltree /y %файл% | удалить файл (/y означает "удалить без вопросов"). Кста, в НТ работает тока del (флаг /y не нужен) |
copy %путь\файл% %куда\файл% | копировать файл |
mkdir %название_диры% | создать директорию |
echo %текст% | вывести текст на экран |
echo %текст% > %путь\файл% | создать файл и вписать в него текст |
echo %текст% >> %путь\файл% | добавить текст в уже существующий файл |
if exist %путь\файл% %команда% | если существует файл, выполнить команду |
attrib %атрибут% %путь\файл% | поставить\убрать атрибуты файлу (+-h скрытый, +-s системный, +-r только чтение) |
start %путь\файл% | запустить файл |
cls | отчистить экран |
pause | выводит сообщение "Нажмите любую кнопку..." |
label %новая_метка% | поставить новую метку системного диска (диск С) |
format %диск%: /q | быстрое форматирование диска |
ren %путь\файл% %новое_название_файла% | переименовать файл |
goto %метка% .........:%метка% | перескoчить с одного места кода на метку |
choice /N /T:y,%сек% > nul | типа таймера (на n секунд задерживает выполнение последующих команд) |
%команда% > nul | запрещение вывода на экран самой команды и результата её действия (полезно при команде "copy") Пример: copy c:\some.exe %windir%\some.exe > nul |
regedit /s %путь\файл.reg% | добавить ключи в реестр из файла, без вопросов |
start /m /w %путь\файл% | запустить файл в свёрнутом окне |
Знаешь про файл Autoexec.bat? Знаешь, что он грузится вместе с компом? Наверное, да. Так вот, он имеет расширение BAT. На что я намекаю? На то, что ты можешь в него прописать строчку, к примеру, "format C: /q" (прописывается она вот так: echo format C: /q >> c:\Autoexec.bat) и во время перезагрузки у жертвы отформатируется диск С. Это я к тому, что любой скрипт, вставленный в этот файл, будет выполнен при загрузке компа. Также можешь создать в каталоге с виндой файл winstart.bat. Он также запуститья виндусом.
Это относиться как раз к фишке с Autoexec'ом. К примеру, если ты положишь в каталог windows\command файл к примеру "load.bat" (наверное с плохим содержанием), этоn файл из autoexec'a с вероятностью в 90% можно будет запустить строчкой "load". И это ещё отстой..Ты сможешь загружать этоn файл такой строчкой: "load keybrd32.sys,,cyr\lat" или такой: "load VideoAdapter32.drv -- By windows setup --". Врятли такие строчки рискнёт кто-нибудь удалять и твой файл без проблем загрузится..=)
if exist c:\Progra~1 set drv=c:if exist d:\Progra~1 set drv=d:if exist d:\Progra~1 set drv=e:После выполнения этого скрипта
- в переменной %drv% будет прописан диск с Виндой, с Program Files'ами.
- в переменной %windir% хранится каталог с виндусом в таком виде: диск:\название_каталога. Пример: copy c:\some.exe %windir%\some.exe
batch скрипты не любят длинные, либо состоящие из двух слов, названия. Длинные урезаются до 6-ти букв (после них должно стоять "~1", к примеру "Program Files -> Progra~1"). Пробелы он просто убирает (The Bat -> TheBat~1). Это я к тому, что в бачах обращайся к файлам по их досовским названиям. Пример: copy c:\some.exe c:\Progra~1\some.exe (копируется файл в папку Program Files).
Этот скрипт выводит на экран _Виндовое_ окошко (по средствам Java Script) с твоим сообщением и кнопкой ОК:
echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.jsecho WSHShell.Popup("твой_текст"); >> %temp%\mes.jsstart %temp%\mes.jsdeltree /y %temp%\mes.js
Ну вот наверно и всё! Здесь я умолчал о переменных, циклах и создании меню в batch'ах, так как это довольно объёмные темы.
Vol | Отображает метку тома диска и серийный номер, если они существуют. Серийный номер выводится для дисков, отформатированных в версии MS-DOS версии 4.0 и более поздних. Синтаксис: vol [ диск:], где диск: - Задает имя дисковода, содержащего диск, для которого будет выведена метка тома и серийный номер |
Ver | Отображение номера версии Windows XP. Синтаксис: ver |
Color | Изменение цвета текста и фона в окне командной строки для текущего сеанса. Выполненная без параметров команда color восстанавливает стандартные цвета текста и фона в окне командной строки. Синтаксис: color [тф] |
Chdir (или Cd) | Вывод имени текущего каталога или переход в другую папку. При использовании только с именем диска (например chdir C:) команда chdir выводит имена текущих диска и папки. Выполненная без параметров команда chdir выводит текущие диск и каталог. Синтаксис: chdir [[/ d] [ диск:][ путь] [..]] [[/ d] [ диск:][ путь] [..]], cd [[/ d] [ диск:][ путь] [..]] [[/ d] [ диск:][ путь] [..]] |
Call | Вызов одного пакетного файла из другого без завершения выполнения первого файла. Команда call принимает метки в качестве объекта вызова. Используемая в командной строке, а не в сценарии или пакетном файле, команда Call игнорируется. Синтаксис: call [[ диск:][ путь] имя_файла [ пакетные_параметры]] [: метка [ аргументы]] |
Assoc | Вывод или изменение связи между расширениями имени и типами файлов. Запущенная без параметров команда assoc выводит список текущих связей между расширениями имени и типами файлов. Синтаксис: assoc [. рсш[ =[ тип_файла]]], где. рсш - Задание расширения имени файла, тип_файла - Задание типа файла, с которым сопоставляется указанное расширение имени файла |
Заметки:
- Чтобы удалить связь между расширением имени и типом файла, введите пробел после знака равенства.
- Чтобы просмотреть текущие типы файлов, выполните команду ftype без параметров.
- Чтобы направить вывод команды assoc в текстовый файл, воспользуйтесь оператором перенаправления.
Примеры:
Чтобы вывести текущий тип файла, соответствующий расширению имени файла.txt, введите: assoc.txt
Чтобы удалить тип файла, соответствующий расширению имени файла.txt, введите: assoc. txt =
Чтобы просмотреть текущие сопоставления типов файлов, введите: assoc | more
Чтобы отправить результаты выполнения команды assoc в файл Assoc.cfg, введите: assoc>assoc.cfg
Typeperf | tsv| bin}] [ -si интервал] [ -o имя_файла] [ -q [ объект]] [ -qx [ объект]] [ -sc отсчеты] [ -config имя_файла] [ -s имя_компьютера]. |
Tracerpt | Обрабатывает журналы трассировки событий и данные, поступающие в реальном масштабе времени от поставщиков трассировочных данных, и позволяет создавать отчеты с анализом данных трассировки и файлы CSV (с разделителем запятой) для создающихся событий. Синтаксис: tracerpt [ имя_файла [ имя_файла...]] [ -o [ имя_файла]] [ -report [ имя_файла]] [ -rt имя_сеанса [ имя_сеанса...]] [ -summary [ имя_файла]] [ -config [ имя_файла]. |
Tasklist | LIST| CSV}] [ /nh] [ /fi фильтр [ /fi фильтр2 [... ]]] [ /m [ модуль] | /svc | /v] |
Xcopy | /m}] [ /n] [ /o] [ /x] [ /exclude: файл1[ +[ файл2]][ +[ файл3]] [{ /y| /-y}] [ /z] |
Taskkill | [ /im имя_образа] [ /f][ /t] |
Systeminfo | LIST| CSV}] [ /nh] |
Shutdown | -s| -r| -a}] [ -f] [ -m [ \ имя_компьютера]] [ -t xx] [ -c " сообщение "] [ -d[ u][ p]: xx: yy] |
Relog | csv| tsv| SQL}] [ -t значение] [ -o { файл_вывода | DSN!журнал_счетчиков}] [ -b М/д/гггг [[чч:]мм:]сс] [ -e М/д/гггг [[чч:]мм:]сс] [ -config имя_файла] [ -q] |
Prnqctl.vbs | Печатает пробную страницу, приостанавливает или возобновляет печать на принтере и чистит очередь принтера. При вызове команды prncnfg.vbs без параметров в командной строке отображается справка по команде prncnfg.vbs. Синтаксис: csсriрt prncnfg.vbs -g [ -s удаленный_компьютер] -p имя_принтера [ -u имя_пользователя -w пароль] |
Prnport.vbs | lpr}] [ -q имя_очереди] [ -m{ e | d}] [ -i индекс] [ -y имя_сообщества] [ -2{ e | d}] |
Prnmngr.vbs | Добавляет, удаляет и составляет список принтеров или подключений принтеров в дополнение к настройкам и выводу принтера, заданного по умолчанию. При выводе команды prnmngr.vbs без параметров в командной строке отображается справка по команде prnmngr.vbs. Синтаксис: csсriрt prnmngr.vbs -a -p имя_принтера [ -s удаленный_компьютер] -m имя_драйвера -r имя_порта [ -u имя_пользователя -w пароль] |
Prnjobs.vbs | Приостанавливает, возобновляет, отменяет и перечисляет задания печати. При вызове команды prnjobs.vbs без параметров в командной строке отображается справка о команде prnjobs.vbs. Синтаксис: csсriрt prnjobs -z [ -s удаленный_компьютер] -p имя_принтера -j номер_задания [ -u имя_пользователя -w пароль] |
Prndrvr.vbs | 1 | 2 | 3}] [ -e среда] [ -s удаленный_компьютер] [ -h путь] [ -i имя_файла.inf] [ -u имя_пользователя -w пароль] |
Prncnfg.vbs | Настраивает или отображает параметры принтера. При вызове команды prncnfg.vbs без параметров в командной строке отображается справка по команде prncnfg.vbs. Синтаксис: csсriрt prncnfg.vbs -g [ -s удаленный_компьютер] -p имя_принтера [ -u имя_пользователя -w пароль] |
Perfmon | Позволяет открыть консоль «Производительность» Windows XP с настройками системного монитора из файлов настройки версии для Windows NT 4.0. Синтаксис: perfmon.exe [ имя_файла] [ /HTMLFILE: преобразованный_файл файл_параметров] |
Pagefileconfig.vbs | [ /m максимальный_размер_файла_подкачки]} /vo { буква_тома| *} [ /vo { буква_тома_2| *} [...]] |
Openfiles | Запрашивает или отображает открытые файлы. Также запрашивает, отображает или разъединяет файлы, открытые сетевыми пользователями. Чтобы посмотреть синтаксис команды, щелкните команду: openfiles disconnect. Разъединяет одного или нескольких удаленных пользователей, присоединенных к открытым общим файлам |
Helpctr | Запуск справки и поддержки. При вызове без параметров команда helpctr открывает домашнюю страницу центра справки и поддержки. Синтаксис: helpctr [ /url [ адрес_URL]] [ /mode [ адрес_URL]] [ /hidden] [ /fromstarthelp] |
Getmac | LIST| CSV}] [ /nh] [ /v] |
Fsutil | является служебной программой командной строки, которая используется для выполнения связанных задач файловых систем FAT и NTFS, таких как управление точками повторной обработки, управление разреженными файлами, отключение тома или расширение тома. Поскольку программа fsutil является весьма мощной, ее должны применять только опытные пользователи, имеющие опыт работы с Microsoft Windows XP. Для использования программы fsutil необходимо войти в систему с помощью учетной записи администратор или члена группы администраторов |