Интернет-журнал "Домашняя лаборатория", 2007 №10 - Журнал «Домашняя лаборатория»
SHIFT
Команда SHIFT изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, %2 — в %1 и т. д. Это полезно для написания командного файла, выполняющего с любым числом параметров одну и ту же операцию. С помощью SHIFT вы можете также построить командный файл, воспринимающий более 10 параметров: те параметры, которые задаются после десятого (%9), будут сдвигаться по одному в %9.
Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT вы не сможете восстановить первый параметр (%0), который был перед сдвигом.
Приведем в качестве примера командный файл DIRCOP.BAT, который копирует список файлов в заданный каталог. В качестве параметра задаются имя каталога и любое число файлов.
@echo off
set ddir=%1
: getname
shift
if "%1"=="" goto end
copy %1 %ddir%
goto getname
: end
set ddir=
Команда SMARTDRV
Запускает и настраивает конфигурацию программы SMARTDrive, которая создает в дополнительной памяти кэш диска, существенно ускоряющий операции MS-DOS с диском. При использовании для кэширования диска SMARTDrive загружается с помощью команды SMARTDRV в файле AUTOEXEC.BAT или в ответ на командную подсказку.
SMARTDrive может также выполнять двойную буферизацию, которая обеспечивает совместимость с контроллерами жесткого диска, не работающими с памятью, поддерживаемой EMM386 или Windows в улучшенном режиме 386. Для использования двойной буферизации загрузите с помощью команды DEVICE в CONFIG.SYS драйвер устройства SMARTDRV.EXE. Команду SMARTDRV не следует применять после запуска Windows.
При запуске SMARTDrive в AUTOEXEC.BAT или из командной строки используется синтаксис:
[диск: ][маршрут]SMARTDRV [/Х][[диск[+ —]]…] [/U] [/С /R]
[/F /N] [/L] [/V /Q /S] [нач_разм_кэш][разм_кэш_Win]]
[/Е: разм_элем] [/В: разм_буф]
После запуска SMARTDrive используйте синтаксис:
SMARTDRV [/X] [[диск[+ —]]…] [/С /R] [/F /N] [/Q /S]
Для просмотра текущего состояния после загрузки SMARTDrive используйте синтаксис:
SMARTDRV
Параметр [диск: ][маршрут] задает расположение файла SMARTDRV.EXE. Параметр [[диск+ —] задает буквенную метку диска, для которого вы хотите управлять кэшированием. Знак плюса (+) разрешает кэширование для заданного диска, а минус (-) — запрещает. Вы можете задать несколько дисков.
Если вы укажете буквенную метку диска без плюса или минуса, то кэширование при чтении разрешается, а при записи — запрещается. При указании буквы диска с плюсом разрешается кэширование при чтении и записи. При указании минуса запрещаются оба вида кэширования. Если вы не укажете буквенную метку диска, то гибкие диски и диски, созданные с помощью Interlnk будут кэшироваться при чтении, но не при записи, жесткие диски — при чтении и записи, а диски CD-ROM, сетевые диски и диски на плате памяти Microsoft Flash игнорируются.
Параметр "нач_разм_кэш" задает в килобайтах размер кэша при запуске SMARTDrive (когда не работает Windows). Этот размер влияет на эффективность работы SMARTDrive. В общем случае, чем больше кэш, тем реже SMARTDrive считывает информацию с диска. Это, в свою очередь, увеличивает производительность системы. Если вы не зададите данного значения, SMARTDrive устанавливает его в соответствие с объемом памяти системы.
Параметр "pa3M_K3in: _Win" задает в килобайтах, насколько SMARTDrive будет уменьшать размер кэша для Windows. При запуске Windows SMARTDrive уменьшает размер кэша для освобождения памяти для Windows. При выходе из Windows размер кэша становится нормальным. Параметр "paзм_кэш_Win" задает наименьший размер, до которого SMARTDrive уменьшает кэш. Значение по умолчанию зависит от того, сколько имеется в системе доступной памяти. Если для параметра "нач_разм_кэш" вы зададите меньшее значение, чем для "разм_кэш_Win", то "нач_разм_кэш" устанавливается в значение, равное "разм кэш Win".
/В: разм_буф задает размер буфера предввода. Буфер предввода — это дополнительная информация, которую SMARTDrive считывает при чтении прикладной программой данных с жесткого диска. Например, если считываются данные объемом 512К, то SMARTDrive затем считывает объем информации, заданный в "разм_буф", и сохраняет ее в памяти. Когда прикладная программа в следующий раз считывает информацию с этого диска, она может считать ее сразу из памяти. По умолчанию буфер предввода имеет размер 16К. Это значение должно быть кратно значению "разм_элем". Чем больше значение "разм_буф", тем больше оперативной памяти использует SMARTDrive.
/С записывает всю кэшируемую информацию из памяти на кэшируемые диски. SMARTDrive записывает информацию на диск во время замедления активности других дисков. Вы можете использовать этот параметр, если хотите обеспечить запись на диск всей кэшируемой информации при перезапуске компьютера (по CTRL+ALT+DEL).
/Е: разм_элем задает (в байтах) объем памяти кэша, с которым единовременно работает SMARTDrive (1024, 2048, 4096 или 8192). По умолчанию задается значение 8192. Чем больше значение, тем больше оперативной памяти использует SMARTDrive.
Параметр /F после завершения каждой команды записывает кэшированные данные (задается по умолчанию).
/L предотвращает автоматическую загрузку SMARTDrive в блоки старшей памяти (UMB), даже если они доступны. Указывать параметр /L можно, если старшая память доступна для использования программами. Если вы применяете средство двойной буферизации SMARTDrive, и вам кажется, что система работает слишком медленно, попробуйте задать в AUTOEXEC.BAT в команде SMARTDrive параметр /L.
/N записывает кэшированные данные при простое системы. Когда на экране появляется командная подсказка, на диск могут быть записаны не все кэшированные данные. Чтобы обеспечить запись всех данных, используйте параметр /С.
/Q указывает SMARTDrive, что при запуске не нужно выводить сообщения на экран (по умолчанию это сообщение не выводится). Если SMARTDrive обнаруживает в процессе запуска ошибку, то сообщение о ней выводится независимо от параметра /Q. /Q не может использоваться в сочетании с /V.
/R очищает содержимое существующего кэш-буфера, записывая на диск всю информацию кэширования записи, и перезапускает SMARTDrive.
Параметр /S выводит дополнительную информацию о состоянии SMARTDrive.
Следующая таблица показывает, как значения "нач_разм_буф" и "разм_буф_Win" зависят от объема доступной дополнительной памяти компьютера.
Дополнительная память ∙ "нач_разм_буф" ∙ "разм_буф_Win"
До 1 Мб ∙ Вся дополнительная память ∙ 0 (нет кэширования)
До 2 Мб ∙ 1 Мб ∙ 256К
До 4 Мб ∙ 1 Мб ∙ 512К
До 6 Мб ∙ 2 Мб ∙ 1 Мб
6 Мб или более ∙ 2 Мб ∙ 2 Мб
Параметр /U не загружает модуль кэширования диска CD-ROM программы SMARTDrive даже при наличие дисковода для оптических дисков. Если SMARTDrive загружена с параметром /U, то вы не можете разрешить кэширование CD-ROM. Если SMARTDrive загружается без параметра /U, то разрешить или запретить кэширование отдельных дисков CD-ROM можно с помощью параметр "диск+|-".
/V задает в