@run help\ntcmds.chm -- Вызвать справку по CMD.EXE @run replacestr.htm -- Вызвать справку по утилите replacestr.exe @run dimtree.exe -- Вызвать браузер для обзора сервисов DIM @run dns -- Вызвать сервер имен DIM @run -term:a wo.bat x*.exe -- Вызвать в терминальном окне команду поиска всех файлов x*.exeВ состав пакета CRW-DAQ входит библиотека утилит, включающая большое число маленьких программ (по большей части консольных), свободно распространяемых на условиях лицензий freeware, GPL, public и т.д. Многие из этих утилит распространяются вместе с исходными кодами. Большинство из них являются узко специализированными консольными программами, которые для решения определенных задач можно вызывать командой @run из главной консоли CRW-DAQ или запустить с помощью функции task_run из программ DaqPascal.
Подробности по каждой утилите (программе) можно узнать, вызвав их с ключем /? или -h, или прочитав сопроводительный .HTM, .CHM или .TXT файл. Например, если вы хотите получить справку по программе cpau.exe, то можно набрать команду @run cpau.htm.
Поскольку утилит много и набор их будет расширяться, предприняты меры для облегчения использования утилит, заключающиеся в первую очередь в функциях поиска. Во-первых, наиболее значимые утилиты внесены в секцию [@run] основного конфигурационного файла и могут быть найдены через нее. Однако это не очень удобно и к тому же мало пригодно для использования в дочерних процессах, запускаемых из-под CRW-DAQ. Поэтому все каталоги утилит вносятся в переменные окружения CRW_DAQ_SYS_PATH, CRW_DAQ_CONFIG_PATH и используются в функциях поиска, как описано ниже.
В список переменных окружения при запуске пакета, а также при запуске конфигурации DAQ-системы добавлены, кроме прочих, такие полезные переменные:
--Создание общего каталога командой rmtshare.exe:
@run rmtshare.exe \\.\postbox=c:\Postbox /REMARK "Почтовый ящик" /GRANT Все:"FULL CONTROL"
--Вызов утилиты DIMTree.exe:
@run dimtree
Команда @run находит требуемый исполняемый файл, используя указанные выше переменные окружения.
Команда @run описана подробнее ниже.
s:=ParamStr('FileSearch rmtshare.exe'); // Поиск в Path,CRW_DAQ_SYS_PATH,CRW_DAQ_CONFIG_PATH
s:=ParamStr('FileSearch rmtshare.exe CRW_DAQ_SYS_PATH'); // Поиск только в пути CRW_DAQ_SYS_PATH
Найденный файл затем запускается функциями типа task_run.
set arj=
rem -- Поиск утилиты arj.exe в CRW_DAQ_CONFIG_PATH
if "%arj%" == "" (for %%i in (arj.exe) do ( set arj=%%~CRW_DAQ_CONFIG_PATH:i))
rem -- Поиск утилиты arj.exe в CRW_DAQ_SYS_PATH, если не найдена
if "%arj%" == "" (for %%i in (arj.exe) do ( set arj=%%~CRW_DAQ_SYS_PATH:i))
rem -- Поиск утилиты arj.exe в Path, если не найдена
if "%arj%" == "" (for %%i in (arj.exe) do ( set arj=%%~Path:i))
rem -- Выполнение найденной команды
if "%arj%" == "" (echo ARJ.EXE не найдена) else (%arj%)
Другой вариант:
rem -- Включение списков каталогов в путь поиска
set path=%CRW_DAQ_CONFIG_PATH%;%CRW_DAQ_SYS_PATH%;%path%;
rem -- Выполнение команды
arj.exe
Следует учесть, что в секцию [DAQ] добавлен список путей поиска SearchPath, например:
[DAQ] SearchPath = ..\Help SearchPath = ..\UtilityЭти пути добавляются в переменную окружения CRW_DAQ_CONFIG_PATH, что делает файлы в этих каталогах доступными для команды @run и функции ParamStr('FileSearch ...'). Добавление каталога dir в список поиска SearchPath эквивалентно вызову функции ParamStr('AddSearchPath CRW_DAQ_CONFIG_PATH dir'). Следует учитывать, что при завершении конфигурации переменная CRW_DAQ_CONFIG_PATH очищается.
Следует учитывать следующее поведение консольной команды @run.
Примеры:
@run c:\root\bin\root.exe --Запуск программы root.exe с полным путем @run root.exe --Запуск с поиском в Path,CRW_DAQ_SYS_PATH,CRW_DAQ_CONFIG_PATH @run -Path Path root.exe --Запуск с поиском в Path @run root --Запуск программы с поиском в путях и расширениях @run -cd c:\temp root --Запуск программы с указанием начального каталога @run -Term:a cmd /c dir c:\ --Запуск команды DIR C:\ к теминальном окне
При запуске утилит из DaqPascal надо использовать возможности функции
ParamStr для поиска утилит по короткому имени.
s:=ParamStr('FileSearch root.exe'); --Поиск root.exe в CRW_DAQ_CONFIG_PATH,CRW_DAQ_SYS_PATH,Path
s:=ParamStr('FileSearch root.exe Path'); --Поиск root.exe в Path
s:=ParamStr('FileSearch root.exe CRW_DAQ_SYS_PATH+Path'); --Поиск root.exe в CRW_DAQ_SYS_PATH,Path
s:=ParamStr('AddSearchPath CRW_DAQ_CONFIG_PATH ..\Temp'); --Добавление каталога в список путей поиска
s:=ParamStr('RemSearchPath CRW_DAQ_CONFIG_PATH ..\Temp'); --Удаление каталога из списка путей поиска
| AdmiRun.exe AdmiLink.exe InstallAdmiLink.exe |
Утилита AdmiLink позволяет создавать ярлыки для запуска программ с правами Администратора из-под ограниченного пользователя без ввода пароля. |
| InstallWinKeyLock.exe | Утилита WinKeyLock для блокировки клавиатуры и мыши. |
| dns.exe did.exe dimtree.exe dimbridge.exe dim_send_command.exe |
Компоненты пакета DIM. |
| arj.exe gzip.exe |
Популярные консольные файловые архиваторы. |
| rmtshare.exe |
Консольная утилита для создания общедоступных сетевых ресурсов (каталогов и принтеров),
позволяет также задавать и изменять права доступа разным пользователям к ресурсам.
Примеры:
rmtshare.exe \\crwbox\postbox=c:\postbox /REMARK "Почтовый ящик" /GRANT Все:Read
rmtshare.exe \\crwbox\postbox /GRANT "Опытные пользователи":Change /GRANT Администраторы:"FULL CONTROL"
|
| md5.exe fsum.exe calcmd5.exe |
Консольные утилиты для вычисления и проверки контрольных сумм файлов (MD5 и других). Примеры:
md5.exe *.*
fsum -md5 *.* >digest.md5
calcmd5.exe *.* > checksum.md5
|
| cdimage.exe mkisofs.exe cdrecord.exe |
Консольные утилиты для создания и записи ISO образов CD\DVD дисков.
Примеры:
cdimage.exe -lDemoCD -m -h -x -j1 -oci c:\SourceDir c:\DemoCD.iso
|
| rusconv.exe |
Консольная утилита для конверсии текстовых файлов из одной кодировки в другую.
Пример:
rusconv.exe -alt +win -close -o file.cfg - преобразовать file.cfg из кодировки DOS в WIN
|
| nconvert.exe |
Консольная утилита для конверсии файлов изображений из одного формата в другой.
Поддерживает более 40 форматов, изменение размера и цветовой палитры, вращение
и отражение, групповые операции с файлами и т.д. В рамках пакета может применяться
для формирования изображений для &WebSrv сервера, сжатия изображений
для посылки почтой через &EmlSrv и т.д.
Пример:
nconvert.exe -out gif demo.bmp - преобразовать BMP в GIF
|
| chown.exe |
Изменяет владельца файлов. Примеры:
chown.exe -r -d MyDomain Administrator *.*
|
| close.exe |
Закрывает окно с заданным именем (заголовком). Примеры:
close.exe "Main Tools"
|
| grun.exe |
Запускает программы с различными режимами окна, с ожиданием завершения или без него.
Примеры:
grun -hw cmd /c dir > dir.txt --Hidden execute command, wait
grun -h cmd /c dir > dir.txt --Hidden execute command, no wait
|
| initlo.exe logoff.exe exitwin |
Завершение работы системы.
Примеры:
logoff.exe -- Logoff
initlo.exe -g 60 -p c:\logoff.bat -t "Logoff in 60 sec after logoff.bat execution."
exitwin.exe -r -- Reboot
exitwin.exe -s -- Shutdown
exitwin.exe -l -- Logoff
|
| junc.exe hardlink.exe |
Создание жестких ссылок (Hard Link).
Это когда у файла или каталога становится несколько эквивалентных имен.
Например, файлы могут реально (физически) располагаться в каталоге d:\root,
а для работы с ним можно использовать виртуальный каталог c:\root.
Это полезно, например, если истемный диск переполняется - можно переместить файлы
на другой диск и сделать на них жесткую ссылку.
А иногда надо, чтобы физически файлы располагались на каком-то надежном
хранилище (резервируемый диск), а работать с ними надо в каталоге на обычном диске.
В этом случае повреждение обычного диска не приведет к порче информации, которая
реально находится на другом диске.
Примеры:
junc.exe c:\root d:\root -- Create c:\root as hard link of physical directory d:\root
hardlink c:\root d:\root -- Create c:\root as hard link of physical directory d:\root
|
| pushkeys.exe |
Симуляция клавиатуры, то есть посылка символов заданному окну, как будто была нажата клавиатура.
Может помочь закрывать всякие вредные окна или автоматизировать работу со стандартными пакетами.
Примеры:
pushkeys "notepad" "Matrix has you!{Enter}{Enter}"
|
| chown.exe | Устанавливает владельца файлов. |
| purger.exe |
Программа умеет очищать диск от старых файлов. Можно удалять файлы по сроку давности,
по общему объему и т.д. Незаменимая штука для систем автоматического обслуживания дисков и архивов.
Например, в паре с nnCron может применяться для автоматической чистки каталогов данных,
чтобы они не переполнялись.
Примеры:
PURGER.EXE -r C:\*.tmp
Удалить все файлы с расширением tmp на диске C:
PURGER.EXE -tr C:\*.tmp
Просто создать в файле PURGER.LOG список всех файлов с расширением
tmp на диске C:, с указанием их числа и суммарного объема.
PURGER.EXE -rd 5 C:\EServ\NEWS\*.*
Удалить из дерева (каталога и подкаталогов) C:\EServ\NEWS\ все файлы старше 5 дней.
PURGER.EXE -rs 50 C:\EServ\NEWS\*.*
В каждом каталоге дерева C:\EServ\NEWS\ оставить не более чем
по 50 килобайт (51200 байт) свежих файлов.
PURGER.EXE -ra 500 C:\EServ\NEWS\*.*
В дереве C:\EServ\NEWS\ оставить не более чем 500 килобайт свежих файлов.
PURGER.EXE -re E:\Program Files\*.*
Удалить все файлы и каталоги в каталоге Program Files на диске E:
|
| sleep.exe |
Задержка на заданное число секунд. Применяется в командных файлах. Пример: sleep.exe 5 |
| sleepms.exe |
Задержка на заданное число миллисекунд. Применяется в командных файлах. Пример: sleepms.exe 5000 |
| spchapi.exe lhttsrur.exe lhttseng.exe |
Компоненты для инсталляции Speech API. Необходимы для речевого синтезатора. |
| vidchng.exe |
Утилита предназначена для изменения разрешения и частоты обновления экрана из командной строки.
Пример:
VidChng.exe 1024x768x32@85 -q
Установит разрешение 1024x768 при глубине цвета 32-бит и частоте обновления 85 Гц.
Ключ -q обеспечивает незаметную (quiet) работу программы.
|
| ask.exe |
Утилита позволяет организовать диалог ввода параметров в командных файлах.
Пример:
ask -v:comport -p:"Введите номер COM-порта"
--Спрашивает номер COM-порта и запоминает в переменной окружения comport
ask.exe -v:password -p:"Please enter password" -h -e:"cmd /c msg * You enter password %password%"
--Показывает диалог ввода (скрытого) с заголовком "Please enter password", запоминает результат
в переменной окружения password и затем показывает пароль в окне сообщения.
|
| cltimer.exe |
Утилита измерения времени.
Пример:
cltimer -clear -- Clear timer
cltimer -start -- Start timing
MakeWork1.exe -- Do some work
cltimer -stop -- Print time since start
MakeWork2.exe -- Do one more work
cltimer -stop -- Print time since start
|
| countln.exe |
Счетчик строк в текстовых файлах.
Пример:
countln *.pas -- Сколько строк кода написано...
|
| replacestr.exe |
Консольный фильтр (использует стандартный ввод-вывод) для замены строк.
Для работы утилиты используется переназначение потоков ввода-вывода.
Пример:
type file1 | replacestr "one" "two" > file2
-- Заменяет в файле file1 все строки "one" на "two" и помещает результат в файл file2.
|
| replacetxt.exe | Утилита замены строк в текстовых файлах. Смотри справку @run replacetxt.htm. |
| wo.exe wo.bat |
Поиск всех файлов с заданной маской в путях поиска Path.
wo.bat отличается тем, что ищет программы также в путях CRW_DAQ_SYS_PATH, CRW_DAQ_CONFIG_PATH.
Пример:
wo x*.exe -- Показывает список всех исполняемых exe-файлов начинающихся на букву x в пути Path.
wo.bat x*.exe -- Показывает список x*.exe-файлов в путях CRW_DAQ_CONFIG_PATH,CRW_DAQ_SYS_PATH,Path.
|
| userid | Печатает имя пользователя в формате Domain\UserName. |
| gif2bmp |
Преобразует (в памяти) изображение GIF в BMP.
Пример:
gif2bmp source.gif target.bmp
|
| gnuplot | Мощная утилита для научной графики. Поскольку утилита непростая, рекомендуется почитать Help, Man. |
| ROOT | Мощнейший пакет для анализа, обработки и графического представления данных, разработан в CERN. Пакет стал фактическим стандартом в ядерной физике и физике высоких энергий. |
| unix |
Команда unix дает простой доступ к пакету
UnixUtils, содержащему более сотни
UNIX-подобных команд,
(частично) портированных под Windows.
Предполагается, что эти команды будут использоваться
в командных файлах или в командной строке CRW-DAQ.
|