Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах


Приложение C. Новые программы командной строки - Работа с файлами
Дата: 12 июня 2009, пятница

Полезные ссылки

"Журнал Эффективная работа на компьютере"- компьютер для начинающих.
Бесплатный Журнал Эффективная работа на компьютере. Научитесь грамотно работать с полезными и нужными утилитами, узнайте что-то новое для себя из авторских статей. Ни на одном форуме вам не расскажут, того что могу дать вам я. Ведь видеоматериал усваивается человеком в несколько раз лучше, чем обычный печатный текст. В статьях и уроках используется мой личный опыт, а не пустая переписка текстов с сайтов, которая возможно даже не работает! Прежде чем что-то сообщить, я проверяю действие тех или иных программ и методов, выявляю их эффективность. И только после этого преподношу это вам.

С уважением Артём Ющенко.

Адрес сайта http://artomu.com
E-mail: admin@artomu.com

В конец записи

Данное приложение содержит перечень всех программ командной строки, впервые появившихся в операционной системе Windows Vista (точнее, которых не было в операционной системе Windows XP, хотя, возможно, они уже существовали в Windows Server 2003 или как отдельные программы, которые можно скачать с сайта Microsoft).

В приложении не описаны стандартные команды командной строки cmd.exe, которые являются частью cmd.exe, а не являются отдельными программами. Например, к таким командам относятся следующие.

CHCP «кодовая страница». Изменяет кодовую страницу, используемую командной строкой. Если не указывать номер кодовой страницы, тогда отобразится номер текущей кодовой страницы.

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

PATH «каталог;каталог…». Позволяет указать каталоги, исполняемые файлы из которых можно выполнять из диалога Выполнить, не указывая при этом путь к файлу. Если в данной команде не указать каталог, тогда отобразится текущий список каталогов.

PROMPT «строка». Позволяет изменить пригласительную строку, отображаемую в cmd.exe. При этом вы можете указать как произвольный текст, так и, если использовать специальные символы, различные переменные. Список возможных переменных можно отобразить, введя команду prompt /?. По умолчанию используется пригласительная строка, отображающая путь к текущему каталогу.

SET «переменная»=«значение». Позволяет изменить значения переменных среды.

TIME. Отображает текущее время и предлагает ввести новое время.

VER. Отображает версию операционной системы.

VOL «буква диска». Отображает метку диска и серийный номер.

PAUSE. Приостанавливает работу командной строки cmd.exe.

Большинство новых программ Windows Vista уже было описано в предыдущих главах данной книги, поэтому их мы описывать не будем. Это такие программы, как: auditpol.exe, icacls.exe, wbadmin.exe, where.exe, bitsadmin.exe, msfeedssync.exe, netcfg.exe, query.exe, quser.exe, RpcPing.exe, winrm.exe, winrs.exe, certreq.exe, certutil.exe, fveupdate.exe, TpmInit.exe, ocsetup.exe, PkgMgr.exe, wusa.exe, wevtutil.exe, WinSAT.exe, takeown.exe.

Описание остальных программ, о которых в книге еще не упоминалось, также будет включать в себя примеры работы с опциями этих программ командной строки.

forfiles.exe

Данная программа предназначена для обработки файлов, хранящихся в одном каталоге, и позволяет выполнить определенную команду для этих файлов. Основной синтаксис данной программы следующий: forfiles /p «путь к каталогу» /m «маска файлов» /c «команда». При этом в значении опции /c можно использовать следующие константы программы.

  • @file. При выполнении команды данная константа заменяется именем текущего файла, удовлетворяющего указанной в опции /m маске.
  • @fname. При выполнении команды данная константа заменяется именем текущего файла (но без расширения), удовлетворяющего указанной в опции /m маске.
  • @ext. При выполнении команды данная константа заменяется расширением текущего файла, удовлетворяющего указанной в опции /m маске.
  • @path. При выполнении команды данная константа заменяется полным путем к текущему файлу, удовлетворяющему указанной в опции /m маске.
  • @relpath. При выполнении команды данная константа заменяется относительным путем к текущему файлу, удовлетворяющему указанной в опции /m маске.
  • @isdir. При выполнении команды данная константа заменяется значением true, если текущий, удовлетворяющий маске, файл является каталогом. В противном случае константа заменяется значением false.
  • @fsize. При выполнении команды данная константа заменяется размером текущего файла, удовлетворяющего указанной в опции /m маске.
  • @fdate. При выполнении команды данная константа заменяется датой последнего изменения текущего файла, удовлетворяющего указанной в опции /m маске.
  • @ftime. При выполнении команды данная константа заменяется временем последнего изменения текущего файла, удовлетворяющего указанной в опции /m маске.

Например, чтобы открыть в блокноте все файлы с расширением .vbs, расположенные в каталоге %systemroot%\system32, нужно воспользоваться следующей командой: forfiles /p c:\windows\system32 /m *.vbs /C "notepad.exe /c @path". Заметьте, что в значении опции /C после названия программы notepad.exe и перед константой идет опция /c. Если ее не указать, тогда просто будет открыта программа notepad.exe, а не удовлетворяющие маске файлы в ней. Также опцию /c нужно указывать и для других программ, если константы являются их аргументами.

В программе forfiles.exe также можно использовать опцию /D, значением которой должна быть дата в формате dd.MM.yyyy, перед которой может находиться знак + или знак -.

Если перед данной датой стоит знак +, тогда команда из опции /C будет применяться для всех файлов, дата создания которых больше, чем указано в опции /D. Если же перед датой стоит знак -, тогда команда будет применяться для всех файлов с датой создания меньше чем дата опции /D.

О других опциях данной программы вы можете узнать, введя в командной строке команду forfiles /?.

Robocopy.exe

Данная программа предназначена для выполнения копирования одного или множества файлов, расположенных в определенном каталоге и его подкаталогах. При этом каталоги могут находиться как на локальном компьютере, так и на удаленном.

После выполнения копирования программа отображает таблицу, описывающую каждый скопированный файл: имя файла, процент копирования, размер файла. Также программа строит таблицу, отображающую количество скопированных или пропущенных файлов, папок, байт, а также время копирования.

Основной синтаксис программы следующий: ROBOCOPY «каталог-источник» «каталог назначения» «список копируемых файлов» «опции». Если список файлов не указан, тогда будет выполнено копирование всех файлов (по умолчанию установлена маска файлов *.*). Можно использовать следующие опции.

Копирование файлов и каталогов

Чтобы копировать все файлы и каталоги, включая пустые файлы, нужно использовать опцию /E. Если же пустые каталоги копировать не нужно, тогда необходимо указать опцию /S. Также можно указать опцию /LEN:«уровень», чтобы определить максимальный уровень вложения папок, содержимое которого будет копироваться. Опция /LEN:«уровень» должна использоваться с одной из предыдущих опций, иначе копирование будет выполняться только в указанном каталоге, но не в каталогах, вложенных в него.

Например, для копирования файлов можно воспользоваться командой robocopy d:\windows c:\users\1\desktop\testing *as* /S /LEV:3, которая будет просматривать содержимое каталога d:\windows вплоть до третьего уровня вложения папок.

Копирование только файлов

Чтобы копировать только файлы, которые не открыты в монопольном режиме другими программами, нужно воспользоваться опцией /Z. Также можно воспользоваться опцией /B, чтобы выполнялось копирование даже тех файлов, которые открыты в монопольном режиме (теневое копирование). Теневое копирование проходит дольше, чем обычное.

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

Также можно указать опцию /EFSRAW, чтобы выполнялось копирование в режиме EFS RAW всех зашифрованных с помощью EFS файлов.

Определение копируемых сведений

Следующим набором опций, которые можно указывать в программе, являются опции, которые указывают атрибуты и метаданные файлов, копируемые от файлов и каталогов источников. Например, с помощью опции /COPY:«флаги» можно указать флаги копируемой у файлов источника информации (также можно использовать опцию /DCOPY:«флаги», чтобы указать флаги для копируемых каталогов). По умолчанию значение данной опции равно DAT. Существуют следующие флаги.

D. Копировать содержимое файлов.
A. Копировать атрибуты файлов.
T. Копировать временные метки файлов.
S. Копировать информацию об ACL-файла.
O. Копировать информацию о владельце файла.
U. Копировать сведения аудита для файла.

Также можно указать одну из следующих опций, которые заменяют собой опцию /COPY:«флаги» с ее флагами.

  • /SEC. Заменяет собой опцию /COPY:DATS.
  • /COPYALL. Заменяет собой опцию /COPY:DATSOU.
  • /NOCOPY. Не копировать информацию о файлах. В этом случае не будет скопировано ни одного файла, однако в командной строке будет построено дерево каталогов и файлов каталога-источника.

А можно самостоятельно указать атрибуты, которые будут добавляться к копируемым файлам или удаляться из них. Для этого применяются, соответственно, команды /A+:«атрибуты» и /A-:«атрибуты». В качестве атрибутов могут указываться стандартные флаги атрибутов, применяемые к программе attrib.exe.

  • R. Только чтение.
  • A. Архивный.
  • S. Системный.
  • H. Скрытый.
  • C. Сжимать файл. Не может устанавливаться вместе с атрибутом E.
  • E. Шифровать файл. Не может устанавливаться вместе с атрибутом C.

Определение копируемых файлов

Также можно указать опции, которые определяют файлы, которые будут копироваться. Например, чтобы указать копирование файлов, имеющих только определенные атрибуты, нужно воспользоваться одной из следующих опций.

  • /A. Копировать только файлы с установленным атрибутом Архивный.
  • /M. Копировать только файлы с установленным атрибутом Архивный, после чего снимать данный атрибут.
  • /IA:«атрибуты». Копировать только файлы с указанными атрибутами.
  • /XA:«атрибуты». Копировать только файлы, не имеющие данных атрибутов.
  • /XF «файлы». Не копировать файлы с указанными именами.
  • /XD «файлы». Не копировать каталоги с указанными именами.
  • /MAX:«размер в байтах». Не копировать файлы, размер которых больше, чем указан в опции.
  • /MIN:«размер в байтах». Не копировать файлы, размер которых меньше, чем указан в опции.
  • /MAXLAD:«время последнего доступа». Не копировать файлы, время последнего доступа к которым больше, чем указано в атрибуте. Время можно указывать в днях (не больше, чем 1900) или в формате даты: yyyymmdd.
  • /MINLAD:«время последнего доступа». Не копировать файлы, время последнего доступа к которым меньше, чем указано в атрибуте. Время можно указывать как в днях, так и в виде даты.
  • /MAXAGE:«время создания». Не копировать файлы, время создания которых больше, чем указано в атрибуте. Время можно указывать как в днях, так и в виде даты.
  • /MINAGE:«время создания». Не копировать файлы, время создания которых меньше, чем указано в атрибуте. Время можно указывать как в днях, так и в виде даты.

Дополнительные атрибуты

Также можно указывать следующие специфические атрибуты.

  • /MOV. Вместо копирования, перемещать файлы.
  • /MOVE. Вместо копирования, перемещать как файлы, так и каталоги.
  • /CREATE. В каталоге назначения создает только дерево каталога-источника: содержащиеся в нем папки, а также все файлы, однако их размер будет равен нулю.
  • /MON:«количество минут». Копирует файлы в режиме мониторинга. То есть, программа через указанное количество минут проверяет содержимое каталога-источника, и если находит в нем новые файлы, тогда копирует их в каталог назначения.

Об остальных опциях программы вы сможете прочитать, введя команду robocopy /?.

Продолжение следует

Рейтинг: 5.00 [ 3 ] 
Оцените: 1 2 3 4 5
moemesto.ru bobrdobr.ru - добавить в социальные закладки
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=552

В избранное