главная    •     Новости      •     софт      •     RSS-ленты     •     реклама      •     PDA-Версия      •    Контакты
Windows XP    •      Windows 7     •    Windows 8    •    Windows 9-10-11     •    Windows Server     •    Железо
Советы      •     Администрирование      •     Сеть      •     Безопасность      •     Статьи      •     Материалы
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Microsoft Edge - еще более безопасный!
  • ActiveCloud - надежный провайдер облачных услуг для вашей компании
  • ANYSERVER - ваш поставщик б/у серверов из Европы
  • Настройка контекстной рекламы в Yandex и Google: Эффективный путь к росту вашего бизнеса
  • Коммутаторы с функцией PoE: Обеспечение эффективной передачи данных и питания
  • Очередное обновление сломало выключатель компьютеров на Windows 11
  • Создание сценария командной строки

    Для примера я собираюсь создать сценарий резервного копирования файлов данных из папки своего профиля «C:\Users\Greg Shultz» в папку «TheBackup» на съемном жестком диске с меткой тома «J» (в своем сценарии, разумеется, надо заменить все имена и пути на свои собственные). Мой сценарий будет начинаться так:

    Robocopy “C:\Users\Greg Shultz” “J:\TheBackup”

    Я хочу создать копии всех папок, даже пустых, потому что они могут пригодиться для сохранения определенных типов данных в будущем. Копировать файлы, удаленные с жесткого диска, я не собираюсь. Можно было бы использовать для этого переключатели /S и /PURGE, но можно достичь поставленных целей и с помощью одного-единственного переключателя /MIR. Теперь моя команда выглядит так:

    Robocopy “C:\Users\Greg Shultz” “J:\TheBackup” /MIR

    В папке «C:\Users\Greg Shultz» хранятся некоторые скрытые системные файлы и папки, резервные копии которых мне совсем не нужны — например, файл NTUSER.DAT и папка AppData.

    Кроме того, в папке «C:\Users\Greg Shultz» хранится целый ряд точек соединения, которые мне тоже не нужны. Точки соединения в Vista используются для связи различных системных папок (например, Cookies и SendTo) с папкой профиля пользователя.

    Для исключения скрытых системных файлов я воспользуюсь переключателем /XA:SH, для исключения папки AppData — переключателем /XD AppData, а для исключения точек соединения — переключателем /XJD. Теперь мой сценарий выглядит так:

    Robocopy “C:\Users\Greg Shultz” “J:\TheBackup” /MIR /XA:SH /XD AppData /XJD

    Одна из особенностей Robocopy заключается в том, что когда утилита сталкивается с файлом, который используется в данный момент другой программой, она останавливается и ждет, пока файл закроют, чтобы продолжить операцию копирования. Через каждые 30 секунд Robocopy осуществляет попытку повторного копирования файла. Количество повторных попыток по умолчанию — один миллион (я не шучу)! При таком раскладе операции резервного копирования вряд ли суждено когда-нибудь завершиться, поэтому количество повторных попыток стоит ограничить каким-то разумным числом.

    Для изменения количества попыток повторного копирования используется переключатель /R, а для изменения интервала между повторными попытками — переключатель /W. Я решил сократить количество повторных попыток до пяти с интервалом в 15 секунд — тогда после разумного периода ожидания Robocopy сможет нормально продолжать работу:

    Robocopy “C:\Users\Greg Shultz” “J:\TheBackup” /MIR /XA:SH /XD AppData /XJD /R:5 /W:15

    Как и все утилиты с интерфейсом командной строки, Robocopy информирует пользователя о состоянии операции прямо в окне командной строки, но куда удобнее было бы сохранять эти сведения в файле журнала. Я люблю иметь полное представление о проделанных операциях, поэтому воспользуюсь для составления журнала переключателем /V. Но вот сведения о прогрессе копирования каждого файла в процентах мне вряд ли понадобятся, поэтому я включу в сценарий переключатель /NP. Чтобы создать файл журнала, я воспользуюсь переключателем /LOG, который предусматривает замену существующего журнала новым при каждом следующем резервном копировании. Теперь мой сценарий выглядит так:

    Robocopy “C:\Users\Greg Shultz” “J:\TheBackup” /MIR /XA:SH /XD AppData /XJD /R:5 /W:15 /V /NP /LOG:Backup.log

    Создание своего собственного сценария

    Теперь, когда вы знаете, как работают подобные сценарии и какие для этого нужны переключатели, можете открыть Блокнот, ввести команду и сохранить файл как «RobocopyBackup.cmd». Чтобы сценарий и открытый файл журнала не препятствовали процессу копирования, я создал в корневом каталоге отдельную папку «BackupTool» («C:\BackupTool») и сохранил сценарий в ней.

    Примечание от редактора: к статье прилагается образец файла RobocopyBackup.cmd.

    После каждой операции резервного копирования файл журнала будет появляться в той же папке, где хранится сценарий. Имейте в виду: несмотря на то, что журнал — это простой текстовый файл, он может оказаться слишком объемным для Блокнота, поэтому лучше открывать его в WordPad или другом текстовом процессоре.

    Теперь для создания дополнительной резервной копии данных достаточно дважды щелкнуть на ярлыке файла RobocopyBackup.cmd, чтобы запустить сценарий, а по завершении работы — посмотреть файл Backup.log. При желании можно запланировать автоматическое выполнение сценария с помощью Планировщика заданий (Task Scheduler).

    А что думаете вы?

    Приходилось ли вам пользоваться утилитой Robocopy в Windows Vista? Понравилась ли она вам? Какие еще переключатели вы включили бы в представленный выше образец сценария? Поделитесь с нами своим мнением в комментариях!

    Автор: Greg Shultz
    Перевод: SVET
    Назад Вперед


    Оцените статью: Голосов

    Материалы по теме:
  • Обеспечение быстрого доступа к командам "Копировать в папку" и "Переместить в папку"
  • Как пользоваться Панелью навигации Проводника Windows
  • Обзор изменений пользовательского интерфейса в Windows Vista SP1
  • Как обуздать неумеренные аппетиты средства «Восстановление системы» в Windows Vista
  • Автоматическое повышение прав с помощью Elevation PowerToys
    1. #2

      Да, для тех кому удобнее ставить галочки вместо ключей в cmd, добрые дяди написали GUI: http://technet.microsoft.com/en-us/magazine/2006.11.utilitys

    2. #1

      Понравилось данное изящное решение. Хотелось бы применять его в домене в качестве логон скрипта, но хотелось бы настроить запуск этой процедуры по времени (не при каждом включении ПК)




    Для отправки комментария, обязательно ответьте на вопрос

    Вопрос:
    Сколько будет десять плюс три?
    Ответ:*




    ВЕРСИЯ ДЛЯ PDA      СДЕЛАТЬ СТАРТОВОЙ    НАПИШИТЕ НАМ    МАТЕРИАЛЫ    ОТ ПАРТНЁРОВ

    Copyright © 2006-2022 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+