Команда ROBOCOPY SET SETLOCAL SC

ROBOCOPY       Улучшенное средство копирования файлов и деревьев каталогов

Применение:: ROBOCOPY источник назначение [файл [файл]…] [Параметры]

             Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).

        Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь)

.

               Файл :: Копировать файлы   (имена и подстановочные знаки: по умолчанию «*.*»).

::

:: Параметры копирования:

::

                 /S :: Копировать вложенные папки, кроме пустых.

                 /E :: Копировать вложенные папки, включая пустые.

             /LEV:n :: Копировать только верхние n уровней исходного дерева папок.

                 /Z :: Копирование файлов с возобновлением.

                 /B :: Копирование файлов в режиме архивирования.

                /ZB :: используется режим с возобновлением; если доступ запрещен

, используется режим архивации.

            /EFSRAW :: Копирование всех зашифрованных файлов в режиме EFS RAW.

  /COPY:флаги копирования :: что копируется для файлов (по умолчанию /COPY:DAT).

                       (флаги копирования: D=Данные, A=Атрибуты, T=Метки времени

).

                       (S=Безопасность=NTFS ACLs, O=Сведения о владельце, U=Сведения аудита).

           /DCOPY:T :: Копирование меток времени папки.

               /SEC :: Копировать файлы с параметрами безопасности (эквивалентно

 /COPY:DATS).

           /COPYALL :: Копировать все сведения о файле (эквивалентно /COPY:DATSO

U).

            /NOCOPY :: Не копировать никаких сведений о файле (удобно использовать с параметром /PURGE).

            /SECFIX :: Исправлять параметры безопасности для всех файлов, даже пропущенных.

            /TIMFIX :: Исправлять атрибуты времени для всех файлов, даже пропущенных.

             /PURGE :: Удалять файлы и папки назначения, которых больше не существует в источнике.

               /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

               /MOV :: Перемещать файлы (удаление из источника после копирования

).

              /MOVE :: Перемещать файлы и папки (удаление из источника после копирования).

     /A+:[RASHCNET] :: Добавлять заданные атрибуты скопированным файлам.

     /A+:[RASHCNET] :: Удалять заданные атрибуты из скопированных файлов.

            /CREATE :: Создать только дерево папок и файлы нулевой длины.

               /FAT :: Создать файлы назначения только в формате 8.3 FAT.

               /256 :: Отключить поддержку длинных путей ( > 256 знаков).

             /MON:n :: Наблюдать за источником; перезапустить после n изменений.

             /MOT:m :: Наблюдать за источником; перезапустить через m минут, если произошли  изменения.

      /RH:hhmm-hhmm :: Часы запуска — время, когда можно запускать новое копирование.

                /PF :: Проверять часы запуска по файлам (не по проходам).

             /IPG:n :: Интервал между пакетами (мс) для снижения нагрузки на сеть при низкоскоростных подключениях.

                /SL :: копирование самих символических ссылок вместо копирования   целевого объекта этих ссылок.

            /MT[:n] :: Выполнить многопотоковое копирование с помощью n потоков  (по умолчанию 8).

                       n должно быть не меньше 1 и не больше 128.

                       Этот параметр несовместим с параметрами /IPG и /EFSRAW.

                       Для повышения производительности перенаправьте вывод с по  мощью параметра /LOG.

::

:: Параметры выбора файлов:

::

                 /A :: Копировать только файлы с установленным атрибутом «Архивный».

                 /M :: Копировать только файлы с атрибутом «Архивный» и сбросить   его.

    /IA:[RASHCNETO] :: Включить файлы, у которых установлен какой-либо из заданных атрибутов.

    /XA:[RASHCNETO] :: Исключить файлы, у которых установлен какой-либо из заданных атрибутов.

 /XF file [файл]… :: Исключить файлы, соответствующие заданным именам, путям и   подстановочным знакам.

 /XD dirs [папки]… :: Исключить папки, соответствующие заданным именам и путям.

                /XC :: Исключить измененные файлы.

                /XN :: Исключить более поздние файлы.

                /XO :: Исключить более ранние файлы.

                /XX :: Исключить дополнительные файлы и папки.

                /XL :: исключить отдельно расположенные файлы и папки.

                /IS :: Включить те же файлы.

                /IT :: Включить оптимизированные файлы.

             /MAX:n :: Максимальный размер файла — исключить файлы, размер которых более n байт.

             /MIN:n :: Минимальный размер файла — исключить файлы, размер которых менее n байт.

          /MAXAGE:n :: Максимальный возраст файла — исключить файлы, возраст которых превышает n дней.

          /MINAGE:n :: Минимальный возраст файла — исключить файлы, возраст которых менее n дней.

          /MAXLAD:n :: Наиболее поздняя дата последнего обращения — исключить файлы, которые не использовались с даты n.

          /MINLAD:n :: Наиболее ранняя дата последнего обращения — исключить файлы, которые использовались после даты n.

                       (Если n < 1900, то n = n дней, в противном случае n — дата в формате ДДММГГГГ).

                /XJ :: исключить точки соединения. (по умолчанию обычно включаются).

               /FFT :: Использовать время файлов FAT (двухсекундная точность).

               /DST :: Учитывать одночасовую разницу при переходе на летнее время.

               /XJD :: Исключить точки соединения для папок.

               /XJF :: Исключить точки соединения для файлов.

::

:: Параметры повторных попыток:

::

               /R:n :: число повторных попыток для неудавшихся копий: по умолчанию — 1 миллион.

               /W:n :: Время ожидания между повторными попытками: по умолчанию — 30 секунд.

               /REG :: Сохранить /R:n и /W:n в реестре как параметры по умолчанию.

               /TBD :: Ждать, пока будут определены имена общих ресурсов (ошибка  повторной попытки 67).

::

:: Параметры ведения журнала:

::

                 /L :: Только список — файлы не копируются, не удаляются, не помечаются отметками времени.

                 /X :: Сообщать обо всех дополнительных файлах, а не только о выбраных.

                 /V :: Подробный вывод с указанием пропущенных файлов.

                /TS :: Включать в вывод метки времени исходных файлов.

                /FP :: Включать в вывод полные пути файлов.

             /BYTES :: Печатать размеры в байтах.

                /NS :: Без размера — не заносить в журнал размер файлов.

                /NC :: Без класса — не заносить в журнал классы файлов.

               /NFL :: Без списка файлов — не заносить в журнал имена файлов.

               /NDL :: Без списка папок — не заносить в журнал имена папок.

                /NP :: Без хода процесса — не отображать число скопированных процентов.

               /ETA :: Показывать оценку времени окончания копирования файлов.

          /LOG:файл :: Записывать состояние в файл журнала (перезаписывать существующий журнал).

         /LOG+:файл :: Записывать состояние в файл журнала (добавлять к существующему журналу).

       /UNILOG:файл :: Записывать состояние в файл журнала в формате Юникод (перезаписывать существующий журнал).

      /UNILOG+:файл :: Записывать состояние в файл журнала в формате Юникод (добавлять к существующему журналу).

               /TEE :: Направлять выходные данные в окно консоли и в файл журнала.

               /NJH :: Без заголовка задания.

               /NJS :: Без сведений о задании.

           /UNICODE :: Cостояние вывода в формате Юникод.

::

:: Параметры задания:

::

       /JOB:имя_задания :: Взять параметры из указанного файла задания.

      /SAVE:имя_задания :: Сохранить параметры в указанный файл задания

              /QUIT :: Выйти после обработки командной строки (для просмотра параметров).

              /NOSD :: Не указывается исходная папка.

              /NODD :: Не указывается папка назначения.

                /IF :: Включить следующие файлы.

SET            Показывает, устанавливает и удаляет переменные среды Windows.

SET [переменная=[строка]]

  переменная  Имя переменной среды.

  строка      Строка символов, присваиваемая указанной переменной.

Введите SET без параметров для вывода текущих переменных среды.

Изменение команды SET при включении расширенной обработки команд:

Если при вызове указать только имя переменной без знака равенства и значения,

команда SET выведет значения всех переменных, имя которых начинается

с указанной строки.  Например:

    SET P

Эта команда выведет значения всех переменных, имена которых начинаются с ‘P’.

Если имя переменной не найдено в текущей среде, при возврате команда SET

установит значение ошибки ERRORLEVEL 1.

Команда SET не допускает использование знака равенства в имени  переменной среды.

Команда SET поддерживает два дополнительных ключа:

    SET /A выражение

    SET /P variable=[promptString]

Ключ /A указывает, что строка справа от знака равенства является числовым

выражением, значение которого вычисляется.  Обработчик выражений очень

прост и поддерживает следующие операции, перечисленные в порядке убывания

приоритета:

    ()                  — группировка

    ! ~ —               — унарные операторы

    * / %              — арифметические операторы

    + —                 — арифметические операторы

    << >>               — двоичный сдвиг

    &                   — двоичное И

    ^                   — двоичное исключающее ИЛИ

    |                   — двоичное ИЛИ

    = *= /= %= += -=    — присвоение

      &= ^= |= <<= >>=

    ,                   — разделитель операторов

При использовании любых логических или двоичных операторов необходимо

заключить строку выражения в кавычки.  Любые нечисловые строки в выражении

рассматриваются как имена переменных среды, значения которых преобразуются

в числовой вид перед использованием.  Если переменная с указанным именем

не определена в системе, вместо нее подставляется нулевое значение.  Это

позволяет выполнять арифметические операции со значениями переменных среды,

причем не нужно вводить знаки % для получения значений.  Если команда

SET /A вызывается из командной строки, а не из пакетного файла, она выводит

окончательное значение выражения.  Слева от любого оператора присваивания

должно стоять имя переменной среды.  Числовые значения рассматриваются как

десятичные, если перед ними не стоит префикс 0x для шестнадцатеричных чисел,

и 0 для восьмеричных чисел.  Например, числа 0x12,

и 022 обозначают десятичное число 18.  Обратите внимание на запись

восьмеричных числе: 08 и 09 не являются допустимыми числами, так как в

восьмеричной системе исчисления цифры 8 и 9 не используются.

Ключ /P позволяет установить значение переменной для входной строки, введенной

пользователем.  Показывает указанное приглашение promptString перед чтением

введенной строки.  Приглашение promptString может быть пустым.

Подстановка переменной среды может быть расширена следующим образом:

    %PATH:str1=str2%

расширит действие переменной среды PATH, заменяя каждое вхождение «str1» в

расширенном результате на «str2».  «str2» может быть пустой строкой для

эффективного удаления вхождений «str1» из расширенного вывода. «str1» может

начинаться со звездочки, и в этом случае это будет соответствовать любому

началу расширенного вывода до первого вхождения оставшейся части «str1».

Можно также использовать строки расширения.

    %PATH:~10,5%

расширит действие переменной среды PATH, затем использует только 5

символов, которые начинаются с 11-го символа (пропустив 10) расширенного

результата.  Если длина не указана, по умолчанию используется оставшееся

значение переменной.  Если оба значения (длина и число пропускаемых символов)

отрицательны, следующим используемым значением будет длина значения переменной

среды, добавленной к указанному значению пропуска или указанной длины.

    %PATH:~-10%

извлечет последние 10 символов переменной PATH.

    %PATH:~0,-2%

извлечет все символы переменной PATH, за исключением 2-х последних.

Наконец, добавлена поддержка связывания времени выполнения для переменных среды

окружения. По умолчанию эта поддержка отключена. Ключ /V командной строки

CMD.EXE позволяет включать и выключать ее. Для вызова справки, наберите CMD /?

Связывание времени выполнения для переменных среды окружения полезно при обходе

ограничений раннего связывания, которое происходит при первом чтении текстовой

строки, а не при ее выполнении. Следующий пример демонстрирует возникающую

проблему при использовании раннего связывания переменных:

    set VAR=before

    if «%VAR%» == «before» (

        set VAR=after

        if «%VAR%» == «after» @echo Тело внутреннего оператора сравнения

    )

Данное сообщение не будет выводиться, т.к. %VAR% в ОБОИХ выражениях IF

подставляется в момент первого использования в первом IF, в том числе и в тело

первого ветвления IF, которое является составным выражением. В IF внутри

составного выражения в действительности сравниваются значения «before» и

«after», что заведомо ложно. Следующий пример демонстрирует подобную ошибку:

    set LIST=

    for %i in (*) do set LIST=%LIST% %i

    echo %LIST%

в данном случае список файлов текущей папки никогда не будет построен. Вместо

этого, значением переменной LIST будет имя последнего найденного файла.

И вновь, это случилось потому, что %LIST% подставляется всего один раз —

в момент обработки выражения FOR, когда список еще пуст.

Фактически, приведенный фрагмент эквивалентен следующему примеру:

    for %i in (*) do set LIST= %i

в котором имя последнего найденного файла сохраняется в переменной LIST.

Связывание времени выполнения для переменных среды окружения происходит при

использовании специального символа (восклицательного знака), обозначающего

проведение сопоставления во время выполнения. Если включена поддержка

связывания времени выполнения, то для достижения ожидаемых результатов

приведенные выше фрагменты должны быть изменены следующим образом:

    set VAR=before

    if «%VAR%» == «before» (

        set VAR=after

        if «!VAR!» == «after» @echo Тело внутреннего оператора сравнения

    )

    set LIST=

    for %i in (*) do set LIST=!LIST! %i

    echo %LIST%

При включенной расширенной обработке команд доступны несколько переменных

среды, которые расширяются, но не отображаются в списке при вызове команды SET.

Значения этих переменных вычисляются динамически каждый раз при их извлечении.

Если пользователь явно задает переменные с одним из этих имен,

то это определение переопределяет соответствующее динамическое определение,

описанное ниже:

%CD% — заменяется строкой текущего каталога.

%DATE% — заменяется текущей датой с форматом команды DATE.

%TIME% — заменяется текущей датой с форматом команды TIME.

%RANDOM% — заменяется случайным десятичным числом в диапазоне от 0 до 32767.

%ERRORLEVEL% — заменяется текущим значением ERRORLEVEL

%CMDEXTVERSION% — заменяется текущим значением версии

                    расширенной обработки команд.

%CMDCMDLINE% — заменяется исходной командной строкой, которая вызвала

командный процессор.

%HIGHESTNUMANODENUMBER% — заменяется максимальным номером узла NUMA

    на этом компьютере.

***

***

***

SETLOCAL       Начинает локализацию изменений среды в пакетном файле.

Изменения среды,внесенные после выполнения команды SETLOCAL, являются локальными

относительно текущего пакетного файла. Для восстановления их прежних

значений необходимо выполнить команду ENDLOCAL. При достижении

конца пакетного файла автоматически выполняется команда ENDLOCAL для

всех действующих команд SETLOCAL, выполненных в этом пакетном файле.

SETLOCAL

Изменение команды SETLOCAL при включении расширенной обработки команд:

Команда SETLOCAL принимает необязательные аргументы:

        ENABLEEXTENSIONS / DISABLEEXTENSIONS

            Это позволяет включить или отключить расширенную обработку команд.

            Эти аргументы переопределяют параметры CMD /E:ON или /E:OFF. Для

            получения дополнительных сведений введите CMD /?.

        ENABLEDELAYEDEXPANSION и DISABLEDELAYEDEXPANSION

            включают или отключают отложенное расширение переменных среды. Эти

            аргументы переопределяют параметры CMD /V:ON или /V:OFF. Для

            получения дополнительных сведений введите CMD /?.

Эти изменения действуют до выполнения соответствующей команды ENDLOCAL,

независимо от их настройки до команды SETLOCAL.

Если команда SETLOCAL вызывается с аргументом, она  устанавливает значение

ERRORLEVEL.  Если указан один из двух допустимых аргументов, это значение будет

равно нулю, в противном случае возвращается единица.  Эту команду можно

использовать в пакетных файлах, чтобы определить доступность расширенной

обработки команд, следующим образом:

    VERIFY OTHER 2>nul

    SETLOCAL ENABLEEXTENSIONS

    IF ERRORLEVEL 1 echo Не удается включить расширенную обработку

Эта последовательность команд работает, так как в прежних версиях CMD.EXE

команда SETLOCAL НЕ устанавливала значение ERRORLEVEL. Команда VERIFY с

недопустимым аргументом необходима для установки ненулевого значения

ERRORLEVEL.

***

***

***

SC             Отображает и настраивает службы (фоновые процессы).

        SC представляет собой программу командной строки, используемую

        для связи со службами и диспетчером управления службами.

Использование:

        sc <сервер> [команда] [имя службы] <параметр1> <параметр2>…

        Параметр <сервер> задается в формате «\Имя_сервера».

        Для получения справки о командах введите «sc [команда]»

        Команды:

          query————Запрос состояния службы или перечисление

                          состояний типов служб.

          queryex———Запрос расширенного состояния службы или

                          перечисление состояний типов служб.

          start————Запуск службы.

          pause————Отправка службе управляющего запроса PAUSE.

          interrogate——Отправка службе управляющего запроса INTERROGATE.

          continue———Отправка службе управляющего запроса CONTINUE.

          stop————Отправка службе запроса STOP.

          config———-Изменение конфигурации службы (постоянное).

          description——Изменение описания службы.

          failure———Изменение действия, выполняемого службой при сбое.

          failureflag——Изменение флага действия, выполняемого службой при   сбое.

          sidtype———Изменение типа SID службы.

          privs————Изменение привилегий, требуемых для службы.

          qc—————Запрос данных конфигурации для службы.

          qdescription—-Запрос описания службы.

          qfailure———Запрос действия, выполняемого службой при сбое.

          qfailureflag—-Запрос флага действия, выполняемого службой при сбое.

          qsidtype———Запрос типа SID службы.

          qprivs———-Запрос привилегий, требуемых для службы.

          qtriggerinfo—-Запрос параметров службы.

          qpreferrednode—Запрос предпочтительного узла NUMA службы.

          delete———-Удаление службы (из реестра).

          create———-Создание службы (добавление ее в реестр).

          control———Отправка службе управляющего сигнала.

          sdshow———-Отображение дескриптора безопасности службы.

          sdset————Установка дескриптора безопасности службы.

          showsid———Отображение строки SID службы, соответствующей  произвольному имени.

          triggerinfo——Настройка параметров триггеров службы.

          preferrednode—Задание предпочтительного узла NUMA службы.

          GetDisplayName—Получение параметра DisplayName для службы.

          GetKeyName——Получение имени раздела для службы (ServiceKeyName).

          EnumDepend——Перечисление зависимостей службы.

        Следующие команды не требуют имени службы:

        sc <сервер> <команда> <параметры>

          boot————(ok | bad) Показывает, требуется ли сохранить

                          последнюю загрузку в качестве последней удачной

                          конфигурации загрузки

          Lock————Блокировка базы данных служб

          QueryLock——-Запрос состояния блокировки (LockStatus) базы данных

                          диспетчера управления службами (SCManager)

Пример:

        sc start MyService

Параметры QUERY и QUERYEX:

        Если после команды query указано имя службы, будет возвращено

        состояние этой службы.  В этом случае дополнительные параметры

        не используются.  Если после команды запроса указаны следующие

        параметры либо ничего не указано, выполняется перечисление служб.

    type=    Тип служб для перечисления (driver, service, all)

             (по умолчанию = service)

    state=   Состояние служб для перечисления (inactive, all)

             (по умолчанию = active)

    bufsize= Размер (в байтах) буфера перечисления

             (по умолчанию = 4096)

    ri=      Номер индекса возобновления для начала перечисления

             (по умолчанию = 0)

    group=   Группа служб для перечисления

             (по умолчанию = все группы)

Примеры использования:

sc query                — Перечисление состояний активных служб и драйверов

sc query eventlog       — Отображение состояния службы eventlog

sc queryex eventlog     — Отображение расширенного состояния службы eventlog

sc query type= driver   — Перечисление только активных драйверов

sc query type= service  — Перечисление только служб Win32

sc query state= all     — Перечисление всех служб и драйверов

sc query bufsize= 50    — Перечисление с буфером размером 50 байт

sc query ri= 14         — Перечисление с индексом возобновления = 14

sc queryex group= «»    — Перечисление активных служб, не входящих в группу

sc query type= interact — Перечисление всех интерактивных служб

sc query type= driver group= NDIS     — Перечисление всех драйверов NDIS

Написать комментарий