главная    •    Новости    •    софт    •    RSS-ленты    •    реклама    •    PDA-Версия    •    Контакты
Windows XP     •    Windows 7    •    Windows 8    •    Windows 10   •    Windows Server     •    Железо
Полезные советы      •     Администрирование      •     Сеть      •     Безопасность      •     статьи
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • В Microsoft работают над "едиными приложениями" для настольных версий и UWP
  • WhatsApp решил самую раздражающую проблему всех мессенджеров
  • На Xiaomi опять подали иск: кто и почему судится с китайской корпорацией
  • Функция Copypaste в Windows 10 изменится уже этой осенью
  • Эксперты определили самые быстро заряжающиеся Android-смартфоны
  • После очередного обновления Windows 10 из диспетчера устройств исчезла функция
  • Создание сценария командной строки

    Для примера я собираюсь создать сценарий резервного копирования файлов данных из папки своего профиля «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
    Назад Вперед


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

    Материалы по теме:
  • Диагностика драйверов с помощью команды Driverquery в Windows 7
  • Быстрое резервное копирование данных с помощью Robocopy в Windows 7
  • Как облегчить управление файлами с помощью средства XCopy Tool
  • Как заставить утилиту резервного копирования Windows XP записывать данные на оптические носители
  • Стратегия резервного копирования и архивации данных в Microsoft SBS 2003 для малого офиса
    1. #2

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

    2. #1

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



    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

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

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




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

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