NirCmd

NirCmd v2.00
Copyright (c) 2003 - 2007 Nir Sofer

Описание

NirCmd - маленькая утилита для командной строки, которая позволяет Вам выполнить некоторые полезные задачи, не отображая никакого пользовательского интерфейса. Выполняя NirCmd с простой опцией командной строки, Вы можете записать и удалить значения ключи в реестре, записать значения в INI файл, позвонить по вашей учетной интернет-записи или соединяться с VPN сетью, перезапускать Windows или завершать работу компьютера, создавать ярлык к файлу, изменять дату создания/модификации файла, изменять ваши параметры настройки экрана, выключать ваш монитор, открывать лоток вашего CD-ROM привода, и многое другое...

Примеры того, что Вы можете сделать с NirCmd

Открыть лоток CD-ROM привода J: | nircmd.exe cdrom open j:
Закрыть лоток CD-ROM привода Y: | nircmd.exe cdrom close y:
Увеличить системную громкость на 2000 единиц (из 65535) | nircmd.exe changesysvolume 2000
Уменьшить системную громкость на 5000 единиц (из 65535) | nircmd.exe changesysvolume -5000
Установить громкость в самое высокое значение | nircmd.exe setsysvolume 65535
Выключить системную громкость | nircmd.exe mutesysvolume 1
Включить системную громкость | nircmd.exe mutesysvolume 0
Переключить системную громкость между между выключенным и включенным состоянием. | nircmd.exe mutesysvolume 2
Создать ярлык на вашем Рабочем столе, который переключает системную громкость между между выключенным и включенным состоянием. | nircmd.exe cmdshortcut "~$folder.desktop$" "Switch Volume" mutesysvolume 2
Выключить монитор | nircmd.exe monitor off
Запустить хранитель экрана по умолчанию | nircmd.exe screensaver
Перевести ваш компьютер в 'standby' режим | nircmd.exe standby
Выход текущего пользователя | nircmd.exe exitwin logoff
Спросить, хотите ли Вы перезагрузиться, и если Вы отвечаете 'Да' - перезагрузить компьютер. | nircmd.exe qboxcom "Do you want to reboot ?" "question" exitwin reboot
Выключить ваш компьютер | nircmd.exe exitwin poweroff
Выключить все компьютеры, определенные в computers.txt ! | multiremote copy "c:\temp\computers.txt" exitwin poweroff force
Звонить на подключение "My Internet" | nircmd.exe rasdial "My Internet"
Разъединить подключение "My Internet" | nircmd.exe rashangup "My Internet"
Сделать окна вашего Internet Explorer-а прозрачными на 75 %! (192 / 256) | nircmd.exe win trans ititle "internet explorer" 192
Свернуть все ваши окна Internet Explorer-а | nircmd.exe win min class "IEFrame"
Закрыть все ваши окна Internet Explorer-а | nircmd.exe win close class "IEFrame"
Закрыть все ваши окна Проводника (Мой компьютер, папки, и т.д.) | nircmd.exe win close class "CabinetWClass"
Скрыть все ваши окна Internet Explorer-а | nircmd.exe win hide class "IEFrame"
Показать все ваши окна Internet Explorer-а (после того, как Вы сделали их скрытыми в предыдущем примере) | nircmd.exe win show class "IEFrame"
Центрировать все окна верхнего уровня | nircmd.exe win center alltop
Удалить область заголовка окна Мой компьютер. | nircmd.exe win -style title "my computer" 0x00C00000
Возвратить область заголовка окна Мой компьютер, которое Вы удаляли в предыдущем примере. | nircmd.exe win +style title "my computer" 0x00C00000
Заставить окно Мой компьютер отображать справа налево (Для еврейского и арабского языков) | nircmd win +exstyle title "my computer" 0x00400000
Установить все дочерние окна окна Мой компьютер, чтобы отображать справа налево (Для еврейского и арабского языков) | nircmd win child title "my computer" +exstyle all 0x00400000
Создать ярлык на вашем Рабочем столе, который закрывает, все ваши окна Internet Explorer-а | nircmd.exe cmdshortcut " "~$folder.desktop$ "Close All IE" win close class "IEFrame"
Создать ярлык на вашем Рабочем столе, который скрывает, все ваши окна Internet Explorer-а | nircmd.exe cmdshortcut " "~$folder.desktop$ "Hide All IE" win hide class "IEFrame"
Создать ярлык на вашем Рабочем столе, который снова покажет все ваши окна Internet Explorer-а | nircmd.exe cmdshortcut " "~$folder.desktop$ "Show All IE" win show class "IEFrame"
Установить Windows Калькулятор, как самое верхнее окно (выше всех других окон) | nircmd.exe win settopmost title "Calculator" 1
Установить Windows Калькулятор в нормальное окно (не самое верхнее окно) | nircmd.exe win settopmost title "Calculator" 0
Создать ярлык для Windows Калькулятор в меню Пуск-> Программы->Calculators | nircmd.exe shortcut "f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators" "Windows Calculator"
Скрыть окно Рабочего стола | nircmd.exe win hide class progman
Показать окно Рабочего стола (После того, как оно было скрыто в предыдущем примере) | nircmd.exe win show class progman
Скрыть кнопку Пуск на системном трее | nircmd.exe win child class "Shell_TrayWnd" hide class "button"
Показать кнопку Пуск на системном трее | nircmd.exe win child class "Shell_TrayWnd" show class "button"
Скрыть часы на системном трее | nircmd.exe win child class "Shell_TrayWnd" hide class "TrayClockWClass"
Показать часы на системном трее | nircmd.exe win child class "Shell_TrayWnd" show class "TrayClockWClass"
Убить (закончить) все процессы Internet Explorer-а | nircmd.exe killprocess iexplore.exe
Создать ярлык на вашем Рабочем столе, который открывает лоток CD-ROM привода K:, когда Вы запустите его. | nircmd.exe cmdshortcut "~$folder.desktop$" "Open CDROM" cdrom open k:
Создать ярлык на вашем Рабочем столе к вебсайту NirSoft | nircmd.exe urlshortcut "http://www.nirsoft.net" "~$folder.desktop$" "NirSoft"
Добавить вебсайт NirSoft в ваше Избранное в папку Links. | nircmd.exe urlshortcut "http://www.nirsoft.net" "~$folder.favorites$\Links" "NirSoft"
Создать ярлык на вашем Рабочем столе к вебсайту NirSoft всех компьютеров, перечисленных в computers.txt | nircmd.exe multiremote copy "c:\temp\computers.txt" urlshortcut "http://www.nirsoft.net" "~$folder.common_desktop$" "NirSoft"
Установить режим дисплея в 800x600x24бита цвета | nircmd.exe setdisplay 800 600 24
Создать ярлык на вашем Рабочем столе, который устанавливает режим дисплея в 800x600x24бита цвета | nircmd.exe cmdshortcut "~$folder.desktop$" &quot800x600x24" setdisplay 800 600 24
Скопировать все ярлыки с вашего Рабочего стола в другую папку (f:\temp\desktop). | nircmd.exe execmd copy "~$folder.desktop$\*.lnk" f:\temp\desktop
Перезапустите ваш Apache сервер (под Windows NT/2000/XP.03) | nircmd.exe service restart apache
Создать ярлык на вашем Рабочем столе, который перезапускает, Apache сервер | nircmd.exe cmdshortcut "~$folder.desktop$" "Restart Apache" service restart apache
Перезапустить ваши IIS | nircmd.exe service restart w3svc
Перезапустить MySql | nircmd.exe service restart MySql
Открыть нужный ключ/значение реестра в RegEdit | nircmd.exe regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"
Открыть ключ реестра, который Вы скопировали в буфер обмена, в RegEdit. | nircmd regedit "~$clipboard$"
Отключить хранитель экрана | nircmd.exe regsetval sz "HKCU\control panel\desktop" "ScreenSaveActive" 0
Разрешить хранитель экрана | nircmd.exe regsetval sz "HKCU\control panel\desktop" "ScreenSaveActive" 1
Изменить дату/время файла с указанным именем (время создания и время модификации) | nircmd.exe setfiletime "c:\temp\myfile.txt" "24-06-2003 17:57:11" "22-11-2005 10:21:56"
Скопировать путь к вашей папке Рабочего стола в буфер обмена | nircmd.exe clipboard set ~$folder.desktop$
Скопировать путь к вашей папке меню Пуск в буфер обмена | nircmd.exe clipboard set ~$folder.start_menu$
Скопировать содержание info1.txt (простой текстовый файл) в буфер обмена | nircmd.exe clipboard readfile "c:\My Files\info1.txt"
Добавить текстовое содержание буфера обмена в info1.txt | nircmd.exe clipboard addfile "c:\My Files\info1.txt"
Очистить буфер обмена | nircmd.exe clipboard clear
Создать все папки, определенные в "c:\temp\folders.txt". Путь/имя папок разделены символами CRLF. | nircmd.exe paramsfile "c:\temp\folders.txt" "" "" execmd md ~$fparam.1$
Инсталлировать указанную .NET трансляцию{блок} в глобальный кэш трансляции{блока} (как gacutil) Install the specified .NET assembly in the global assembly cache (like gacutil) | nircmd.exe gac install "C:\temp\MyAssembly\bin\MyAssembly.dll"
Очистить Корзину на всех приводах. | nircmd.exe emptybin
Ответить 'Yes' в стандартное окно сообщения Windows. | nircmd.exe dlg "" "" click yes

Системные требования

Эта утилита может работать во всех 32-разрядных операционных системах Windows: Windows 9x/ME, Windows NT, Windows 2000, и Windows XP. Однако, некоторые из команд NirCmd работают только в Windows NT/2000/XP.

История версий

Дата | Версия | Описание
16.06.07 2.00
  • Все команды управления звуком и монитором теперь работают под Vista.
  • Новые команды: dlg, dlgany, sendkey, sendmouse, returnval
  • Новые опции в команде win - dlgclick, dlgsettext, dlgsetfocus
24.07.06 1.85
  • Новая команда: cmdshortcutkey
15.07.06 1.84
  • Начиная с этой версии, если Вы не определяете индекс звукового устройства в setsysvolume, changesysvolume, setsysvolume2, changesysvolume2 и mutesysvolume командах, используется звуковое устройство по умолчанию в панели управления ("Используемое по умолчанию устройство:" "preferred device").
  • Новая опция find в команде win: active, foreground, desktop
20.05.06 1.83
  • Исправлена ошибка с переменными параметра: диалоговое окно параметра появляется более чем один раз.
  • Новая опция find в команде win: alltopnodesktop
18.02.06 1.82
  • Новые опции в команде win: postmsg и sendmsg.
  • Новая команда: closeprocess
  • NirCmd теперь возвращает ненулевое значение при ошибке.
19.11.051.81
  • Новая команда: emptybin - освобождает Корзину.
  • Новый дополнительный параметр в команде setdisplay: refresh rate.
  • Команда rashangup без параметра - разъединяет все активные подключения.
24.09.05 1.80
  • Новые команды: exec2, cmdwait.
  • Новые опции в команде clipboard.
  • Команды громкости (setsysvolume, changesysvolume, setsysvolume2, changesysvolume2, mutesysvolume) теперь позволяют Вам изменять громкость звуковой платы не по умолчанию.
07.07.05 1.70
  • Новые опции в команде win: activate, hideshow, +style, -style, +exstyle, -exstyle
  • Новые команды: movecursor, setcursor.
  • Новая команда: setfilefoldertime - позволяет Вам изменять дату/время папок, только под Windows 2000/XP.
10.06.05 1.62
  • Новые действия в команде win: focus, enable, disable
26.05.05 1.61
  • Новая команда: sysrefresh - делает общее системное обновление после изменения ваших настроек системных параметров в реестре.
07.05.05 1.60
  • Новая команда paramsfile: позволяет Вам выполнять команду многократно, загружая параметры из текстового файла.
  • Новые действия в команде win: move, center, settext.
  • Новое действие 'child' в команде win: позволяет Вам перемещать/скрываться дочерние окна (например: кнопка Пуск в системном трее)
  • Новая команда clipboard: позволяет Вам помещать строку в буфер обмена, и очищать буфер обмена.
  • Новая команда gac: позволяет Вам устанавливать трансляции{блоки} в Глобальный Кэш Трансляции{Блока}. New gac command: Allows you to install assemblies in Global Assembly Cache.
28.12.04 1.56
  • Новая переменная: ~$clipboard$ - вставляет текст, который Вы скопировали в буфер обмена, в командную строку.
  • Переменные параметра: ~$param.ParamName$ - отображают входное окно, чтобы набрать текст, который Вы хотите вставить в командную строку.
07.12.04 | 1.55 | Добавлена команда RegEdit.
18.11.04 1.54
  • В командах reg (regsetval, regdelval, regdelkey), Вы теперь можете также использовать следующие аббревиатуры ключей: HKCU для HKEY_CURRENT_USER, HKLM для HKEY_LOCAL_MACHINE, HKCR для HKEY_CLASSES_ROOT, HKU для HKEY_USERS, HKCC для HKEY_CURRENT_CONFIG.
  • Действие redraw для команды win.
03.11.04 | 1.53 | Исправлена проблема 'monitor off' в XP SP2.
09.10.04 | 1.52 | rasapi32.dll теперь загружается только при использовании команды набора номера (rasdial, rasdialdlg, rashangup). В предыдущих версиях, NirCmd был статически связан с rasapi32.dll, и это вызвало проблемы в старых системах NT.
29.09.04 | 1.51 | Имена переменных теперь заключены в символы '$' вместо символов '%'. Я сделал это изменение, потому что символ '%' вызывает проблемы, выполнения NirCmd из cmd/bat файла. Использование символа '%' для имен переменных все еще поддерживается для совместимости вниз.
22.09.04 1.50
  • Новые команды: cmdshortcut, regsvr, mutesysvolume, changesysvolume, changesysvolume2, setsysvolume2.
  • Новые действия в команде win: trans, setsize, settopmost, ititle.
  • Новые переменные: folder.nircmd, nir.exefile
  • nircmdc.exe - консольная версия NirCmd
  • Измененное название - с NirComLime на NirCmd.
05.05.04 1.40
  • Новые команды: wait, setvolume, setsysvolume, execmd, exec.
  • Новые команды для того, чтобы выполнять NirCmd на удаленных машинах: remote и multiremote.
  • Папка и системные переменные.
  • Новая опция в команде setfiletime - устанавливала время файла в текущее время (теперь параметр)
  • Новый параметр в команде shortcut - hot key.
01.03.04 1.30
  • Новые команды: qboxcom, beep, stdbeep, cdrom, urlshortcut, monitor, screensaver, standby, и hibernate.
  • Исправлена ошибка с ~x последовательностью строки.
08.01.04 1.20
  • Новые команды: setdialuplogon, script
  • Специальные последовательности строки (~q, ~t, ~n и т.д.), чтобы позволить Вам, вставить кавычки и символы новой строки в параметры любой команды.
19.11.03 | 1.11 | Новые опции в команде shortcut
10.10.03 | 1.10 | Новые команды: killprocess, service, memdump, win, lockws.
09.09.03 | 1.00 | Первый выпуск.

Лицензия

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

Использование утилиты NirCmd

Эта утилита - автономно выполняемая, и она не требует никакой инсталляции, или дополнительных DLL-ок. Только скопируйте .exe файл в любую папку, которую Вы хотите, и выполните его с нужной опцией командной строки, согласно вашим потребностям. Рекомендуем скопировать .exe файл из NirCmd (nircmd.exe) в ваш каталог Windows, или в любую другую папку, перечисленную в вашей переменной среды PATH, таким образом Вам не надо будет набирать полный путь nircmd каждый раз, когда Вы хотите использовать ее. Начинаясь с версии 1.50, также доступна консольная версия NirCmd (nircmdc.exe). В консольной версии, все сообщения об ошибках идут в консольное окно, вместо того, чтобы использовать окно сообщений.

Общий синтаксис NirCmd

nircmd.exe {showerror} [команда] [параметры команды]
Параметр showerror является дополнительным. Если Вы определите этот параметр, то сообщение об ошибках будет отображено на экране, если ошибка произойдет в ходе выполнения команды. Иначе, любая ошибка будет игнорироваться. Например:
nircmd.exe showerror rasdial "dial1"
nircmd.exe rasdial "dial1"
В вышеупомянутых двух примерах, NirCmd будет пробовать звонить с "dial1" входом. Если процесс набора номера будет неудавшимся в первом примере, то сообщение об ошибках, описывающее проблему будет отображено. Если процесс набора номера будет неудавшимся на втором примере, то сообщение об ошибках не будет отображено.

Специальные последовательности строки

Начинаясь с версии 1.20, NirCmd позволяет Вам вставлять специальные символы в любой параметр в командах NirCmd.
Следующая таблица описывает специальные последовательности строки, которые Вы можете использовать:
Последовательность | Описание
~n | Символы новой строки (CR-LF)
~q | Символ кавычки ( " )
~t | Символ табуляции
~xnn | Позволяет Вам представить любой символ, представив его ASCII код - HEX числом с двумя цифрами. Например: ~x41 символ ( A) ~x27 символ апострофа ( ' )
~$variable$ | Представляет системную переменную. Для получения дополнительной информации об этой опции, читайте ниже
~~ | Представляет одиночный символ ( ~ )

Пример:
infobox "This is the first line~n~qThis is a second line, in quotes~q" "Example"
Вышеупомянутый пример отображает окно сообщений, содержащее 2 строки.

Системные переменные

Начинаясь с версии 1.40, NirCmd обеспечивает специальные переменные, который представляют папки и другие переменные в вашей системе. Каждая переменная начинается с символа '~', сопровождаемого именем переменной, заключенным в символы '$'. Например: ~$folder.desktop$ представляет папку вашего Рабочего стола.

Следующая таблица определяет переменные, которые Вы можете использовать:
Имя переменной | Описание
clipboard | Представляет текст, который Вы скопировали в буфер обмена.
param.paramname | Когда Вы определяете переменную param, окно ввода появится на экране, и попросит, чтобы Вы набрали текст для этой переменной. Текст, который Вы набрали, будет вставлен в командную строку. Например: в следующей команде, Вас попросят набрать 2 параметра (1 и 2), и текст, который Вы набрали, появится в окне сообщений. nircmd infobox ~$param.1$ ~$param.2$
fparam.number | Определяет параметр, загруженный из текстового файла. Для получения дополнительной информации, см. команду paramsfile
sys.varname | Вы можете использовать эту опцию, чтобы представить любую переменную среды на вашей системе. Например: ~$sys.username$, ~$sys.windir$, ~$sys.computername$, ~$sys.logonserver$, ~$sys.temp$, и т.д....
nir.exefile | Представляет полный путь .exe файла текущего, выполняемого NirCmd (например: c:\winnt\nircmd.exe)
folder.nircmd | Представляет папку, из которой выполняется NirCmd.
folder.desktop | Представляет папку Рабочего стола пользователя.
folder.start_menu | Представляет папку меню Пуск пользователя.
folder.programs | Представляет папку Программы пользователя (под папкой меню Пуск).
folder.startup | Представляет папку запуска пользователя. Represents the user's startup folder.
folder.recent | Представляет последнюю использованную папку пользователя. Represents the user's recent folder.
folder.favorites | Представляет папку Избранное пользователя.
folder.cookies | Представляет папку Cookies пользователя.
folder.appdata | Представляет папку Application Data пользователя. (Например: C:\Documents and Settings\Administrator\Application Data)
folder.common_desktop | Представляет общую папку Рабочего стола.
folder.common_start_menu | Представляет общую папку меню Пуск.
folder.common_programs | Представляет общую папку Программы.
folder.common_startup | Представляет общую папку запуска. Represents the common startup folder.
folder.common_favorites | Представляет общую папку Избранное.
folder.windows | Представляет папку Windows. (например: C:\Windows)
folder.system | Представляет системную папку. (например: C:\Windows\System32)

Примеры:

  • Создать ярлык под папкой меню Пуск-Программы:
    shortcut "c:\winnt\system32\calc.exe" "~$folder.programs$\My Programs" "Calculator"
  • Удалить ярлык с Рабочего стола пользователя:
    execmd del "~$folder.desktop$\calc.lnk"
  • Показать текущего вошедшего пользователя:
    infobox "The current logged-on user is ~$sys.username$" "logged-on user"

Выполнение команд NirCmd на удаленных компьютерах

Начинаясь с версии 1.40 Вы можете выполнять все команды NirCmd в удаленных компьютерах. Однако, Вы должны знать о следующих ограничениях и проблемах:
  • Эта опция доступна только для Windows NT, Windows 2000 и Windows XP. Вы не можете использовать ее на машинах Windows 9x.
  • Вы должны войти на удаленную машину как администратор.
  • Служба планировщика в удаленной машине должно быть запущена. (по умолчанию, служба планировщика автоматически запущена во всех NT/2000/XP машинах, таким образом Вы не должны слишком волноваться об этом)
  • Из-за некоторых ограничений службы планировщика, Вы должны ожидать до 60 секундам, пока команда фактически не выполниться на удаленной машине.
  • Команда на удаленной машине выполняется под 'СИСТЕМНОЙ' учетной записью, и таким образом некоторые команды, возможно, не работают таким же образом, как когда Вы выполняете их локально.

Есть 2 команды для того, чтобы выполнить NirCmd в удаленных машинах:

  • remote - для того, чтобы выполнять команду на единственном удаленном компьютере.
  • multiremote - для того, чтобы выполнять команду на нескольких удаленных компьютерах.

Команды NirCmd

Команда Синтаксис и описание
remote
remote {copy} [\\computer] [NirCmd command]

Выполняет команду NirCmd в удаленном компьютере. Если параметр {copy} определен, NirCmd, скопирует себя в каталог Windows удаленной машины. Вы должны определить этот параметр, если NirCmd не существует в каталоге Windows удаленной машины.

Примеры:
remote copy \\comp1 exitwin poweroff
remote \\comp2 infobox "This is a message from NirCmd" "Hello !"
remote \\comp3 lockws

multiremote
multiremote {copy} [computers file] [NirCmd command]

Выполняет команду NirCmd в нескольких удаленных машинах. Если параметр {copy} определен, NirCmd, скопирует себя к каталогу Windows удаленных машин. Вы должны определить этот параметр, если NirCmd не существует в каталоге Windows удаленных машин.
Параметр [computers file] - файл, который содержит список компьютеров, отделенных символами Enter (CRLF).
Пример файла списка компьютеров:

\\comp1
\\comp2
\\winxp1
\\winxp2
\\nirsoft
Команда, определенная в [NirCmd command] выполнится на всех компьютерах, определенных в файле компьютеров.

Примеры:
  • Выключить все компьютеры, определенные в computers.txt
    multiremote "c:\temp\computers.txt" exitwin poweroff force
  • Блокировать все компьютеры, определенные в computers.txt
    multiremote "c:\temp\computers.txt" lockws
  • Скопировать NirCmd на все компьютеры, определенные в computers.txt, и затем выключить их мониторы.
    multiremote copy "c:\temp\computers.txt" monitor off
  • Скопировать NirCmd на все компьютеры, определенные в computers.txt, и выполнить, утилиту WinUpdatesList, чтобы сохранять информацию Windsows Updates на всех компьютерах.
    multiremote copy "c:\temp\computers.txt" exec hide c:\temp\wul.exe /shtml &quotc:\temp\wul_~$sys.computername$.html"
cmdwait
cmdwait [Number of Milliseconds] [NirCmd Command]
Ждать указанное число миллисекунд, и затем выполните указанную команду NirCmd.

Пример:
cmdwait 1000 monitor off

paramsfile
paramsfile [Parameters File] [Delimiters] [Quote Character] [NirCmd Command]
Эта мощная команда позволяет Вам выполнять команду NirCmd многократно, загружая один или более параметров из текстового файла. Текстовый файл может быть с разделителями: запятой, табуляцией, точкой с запятой, или любым символом, который Вы определяете в параметре [Delimiters].

Вот - пример... Скажем, что Вы имеете следующий текстовый файл, содержащий имена пользователей и пароли, разграниченные запятой:

user01, 123456
user02, abcfg
user03, 5fr23
user04, 33333

Следующая последовательность команд NirCmd создаст четырех пользователей с указанными именами пользователей и паролями (при использовании команды 'net user', обеспеченной операционной системой Windows 2000/XP )
nircmd.exe paramsfile "c:\temp\users.txt" "," "" execmd net user ~$fparam.1$ ~$fparam.2$ /add

~$fparam.1$ определяет первый вход в каждой строке - имени пользователя. ~$fparam.2$ определяет второй вход в каждой строке - пароль.

Примеры:
paramsfile "c:\temp\folders.txt" "" "" execmd md ~$fparam.1$
paramsfile "c:\temp\shortcuts.txt" "," "~q" shortcut ~$fparam.1$ "~$folder.desktop$" ~$fparam.2$

infobox
infobox [message text] [title]

Отображает простое окно сообщений на экране.

Пример:
infobox "This is a message box !" "message"

qbox
qbox [message text] [title] [program to run]
Отображает диалоговое окно вопроса на экране. Если пользователь отвечает "Да", выполнит программу в третьем параметре.

Пример:
qbox "Do you want to run the calculator ?" "question" "calc.exe"
qboxcom
qboxcom [message text] [title] [NirCmd Command]

Отображает диалоговое окно вопроса на экране. Если пользователь отвечает "Да", выполнит команду NirCmd в третьем параметре.

Примеры:
qboxcom "Do you want to lock your workstation ?" "question" lockws
qboxcom "Do you want to turn off the monitor ?" "monitor" monitor off

script
script [Script File]
Эта команда позволяет Вам выполнять последовательность команд, сохраненных в файле, определенном в параметре [Script File].

Пример:
script "c:\temp\msg.ncl"
Пример сценария:
infobox "Hello !" "This is the first message"
infobox "Hello !" "This is the second message"
infobox "Hello !" "This is the third message"
regedit
regedit [key] [value name]

Открывает RegEdit с указанным ключем/значением.

Примеры:
regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"
regedit "HKEY_CURRENT_USER\Control Panel\Desktop" "Wallpaper"

regsetval
regsetval [type] [key] [value name] [value]

Запишет значение в реестр. Параметр [type] может быть "sz" или "expand_sz" для строк, "dword" для 32-разрядного числа, или "binary" для двоичных данных. Если ключ, который Вы определяете в параметре [key], не будет существовать, то это будет автоматически создан.

Примеры:
regsetval dword "HKEY_CURRENT_USER\Software\Test" "Value1" "0xaabbccdd"
regsetval dword "HKCU\Software\Test" "Value2" "10561"
regsetval sz "HKCU\Software\Test" "Value3" "string value"
regsetval binary "HKLM\Software\Test" "Value4" "6a cb ab dd 80 86 95"

regdelval
regdelval [key] [value]

Удаляет значение из реестра.

Пример:
regdelval "HKEY_CURRENT_USER\Software\Test" "Value1"

regdelkey
regdelkey [key]

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

Пример:
regdelkey "HKEY_CURRENT_USER\Software\Test"

inisetval
inisetval [INI filename] [section] [key] [value]

Запишет значение в INI файл. Если файл не будет существовать, то он будет автоматически создан.

Пример:
inisetval "c:\windows\test.ini" "section1" "TestValue" "1"

inidelval
inidelval [INI filename] [section] [key]
Удаляет пару ключ-значение внутри INI файла.

Пример:
inidelval "c:\windows\test.ini" "section1" "TestValue"
inidelsec
inidelval [INI filename] [section]

Удаляет весь раздел в INI файле, включая все значения в нем.

Пример:
inidelsec "c:\windows\test.ini" "section1"

regsvr
regsvr [reg or unreg] [filename or wildcard] {log file}

Регистрирует или дерегистрирует файлы DLL/OCX.
В первом параметре, определите "reg" для того, чтобы регистрировать файлы, или "unreg" для того, чтобы дерегистрировать файлы.
Во втором параметре, Вы можете определить отдельный файл, который Вы хотите регистрировать или дерегистрировать, или множественные файлы, при использовании подстановочных знаков.
Третий параметр является дополнительным, и определяет имя лог файла для сохранения результатов операции регистрации.

Примеры:
regsvr reg "f:\winnt\system32\fv*.ocx" "c:\temp\log1.txt"
regsvr unreg "f:\winnt\system32\ab*.dll"

rasdial
rasdial [Entry Name] {Phonebook File} {User Name} {Password} {Domain}

Звонить на RAS вход (VPN или телефонная линия), не отображая никакого пользовательского интерфейса. Кроме параметра [Entry Name], все другие параметры являются дополнительными. Если Вы не определяете дополнительные параметры, или Вы определяете пустую строку (""), используются значения по умолчанию.

Примеры:
rasdial "My Internet"
rasdial "VPN1" "" "user1" "abc1234" "domain1"

inetdial
inetdial [Entry Name]

Звонить на RAS вход (VPN или телефонная линия), и отображать информационное диалоговое окно в ходе процесса набора номера. Эта команда поддержана только, если установлен Internet Explorer версии 4.0 или больше. Знайте, что эта команда не действует на старых версиях Windows 98.

Пример:
inetdial "VPN1"

rasdialdlg
rasdialdlg [Entry Name] {Phonebook File} {Phone Number or IP Address}

Отображает RAS вход для набора номера. Параметры {Phonebook File} и {Phone Number} является дополнительным. Если Вы не определяете параметр {Phonebook File}, или Вы определяете пустую строку, используется по умолчанию телефонная книга.
Эта команда поддержана только на Windows NT, Windows 2000, и Windows XP. Она не поддержана на Windows 98/ME.

Примеры:
rasdialdlg "Internet1" "" "9876543"
rasdialdlg "VPN1"

rashangup
rashangup {Entry Name}

Повесить трубку RAS подключения. Вы можете использовать эту команду, чтобы разъединить подключение, которое Вы предварительно создали командами inetdial или rasdial. Если Вы не будете определять параметр {Entry Name}, то будут разъединены все активные подключения.

Примеры:
rashangup "VPN1"
rashangup

setdialuplogon
setdialuplogon [Entry Name] [User Name] {Password} {Domain} {Phonebook File}

Изменяет имя пользователя, пароль и домен пункта модемной связи.
Параметры:

  • [Entry Name]: имя входа модемной связи
  • [User Name]: имя пользователя для установки указанного входа модемной связи.
  • {Password}: пароль для установки указанного входа модемной связи.
  • {Domain}: имя домена для установки указанного входа модемной связи.
  • {Phonebook File}: файл телефонной книги, содержащий вход, который Вы хотите изменить. Если Вы не определяете этот параметр, используется по умолчанию телефонная книга.
Примеры:
setdialuplogon "VPN1" "user1" "asder443" "domain1"
setdialuplogon "Internet1" "nirs3" "q5r4df7yh5"
exitwin
exitwin [shutdown type] {additional option}
Эта команда заканчивает текущий сеанс Windows. Параметр [shutdown type] может быть одним из следующих значений:
  • logoff: закрывает все выполняемые процессы, выходит из системы текущего пользователя, и отображает диалог входа, чтобы позволить другому пользователю войти в систему.
  • reboot: завершает всю систему, и затем перезагружается.
  • poweroff: завершает всю систему, и затем выключает питание. (Только для систем, которые поддерживают эту возможность!)
  • shutdown: просто завершает всю систему, без перезагрузки и не выключая питание.
Вы можете также использовать одну из следующих дополнительных опций:
  • force: принуждает все приложения закончить немедленно. Используя эту опцию может, заставил текущую выполняемую прикладную программу потерять данные. Используйте это только в критических случаях!
  • forceifhung: принуждает приложения закончить, если они не отвечают. Эта опция доступна только в Windows 2000/XP.
Примеры:
exitwin reboot
exitwin poweroff force
exitwin logoff forceifhung
initshutdown
initshutdown {message} {timeout value in seconds} {force} {reboot}

Инициирует завершение работы системы. Эта команда подобна команде exitwin, но она имеет некоторые другие особенности, которые exitwin не поддерживает. Эта команда не поддержана на Windows 95/98/ME. Все параметры этой команды являются дополнительными. Если Вы не определяете никакого параметра, завершение работы системы инициируется без отображения сообщение и без ожидания.
Параметры:

  • {message}: сообщение для отображения перед началом завершения системы.
  • {timeout value in seconds}: число секунд для ожидания перед началом завершения системы.
  • {force}: принуждает все приложения закончить, даже без сохранения вашей работы.
  • {reboot}: перезагрузить после завершения работы системы.
Примеры:
initshutdown "shutting down the system within 60 seconds" 60 reboot
initshutdown "" 0 force
abortshutdown
abortshutdown
Отменяет завершение работы системы, которое инициировано командой initshutdown. Эта команда не принимает никаких дополнительных параметров.

Пример:
abortshutdown
lockws
lockws
Блокирует рабочую станцию. После блокировки вашей рабочей станции, Вы должны набрать ваш пароль, чтобы продолжить вашу работу. Эта команда только доступна на Windows 2000 и Windows XP.
monitor
monitor [action]
Изменяет состояние монитора. Параметр [action]может содержать следующие значения:
  • off: выключить монитор
  • on: включить монитор
  • low: установить монитор в состояние малой мощности.
Эта команда работает только в системах, которые поддерживают эту особенность.

Примеры:
monitor off
monitor on
screensaver
screensaver
Запускает хранитель экрана по умолчанию.
standby
standby {force}

Завершает компьютер и переводит его в режим 'standby'. Если параметр{force} определен, система принуждается к переходу в резервный режим, не спрашивая разрешение от всех приложений. Вообще, не рекомендуют использовать этот параметр.
Эта команда работает только в системах, который поддерживает режим 'standby'.

Примеры:
standby force
standby

hibernate
hibernate {force}

Завершает компьютер и переводит его в 'hibernate' режим. Если параметр {force} определен, система принуждается к переходу в 'hibernate' режим, не спрашивая разрешение от всех приложений. Вообще, не рекомендуют использовать этот параметр.
Эта команда работает только в системах, которые поддержки режим 'hibernate'.

Примеры:
hibernate force
hibernate

shortcut
shortcut [filename] [folder] [shortcut title] {arguments} {icon file} {icon resource number} {ShowCmd} {Start In Folder} {Hot Key}
Создает ярлык к файлу.
Параметры:
  • [filename]: создает ярлык к файла с этим именем.
  • [folder]: определят папку - получатель в которой будет создан этот ярлык. Вы можете определить любую допустимую папку, включая специальные переменные, которые представляют системные папки, как ~$folder.desktop$ (папка Рабочего стола), ~$folder.programs$ (папка меню-Пуск-Программы), и т.д....
  • [shortcut title]: текст, отображенный в ярлыке.
  • {arguments}: необязательный параметр - дополнительные параметры для исполняемого файла.
  • {icon file}: необязательный параметр - используйте этот параметр, если Вы хотите, что бы ярлык отображался не с иконкой по умолчанию.
  • {icon resource number}: необязательный параметр - номер ресурса в файле иконки.
  • {ShowCmd}: необязательный параметр - используйте этот параметр, если Вы хотите развернуть или свернуть окно программы. Определите "max", чтобы развернуть окно или "min", чтобы свернуть его.
  • {Start In Folder}: необязательный параметр - определяет папку "Start In". Если Вы не определяете этот параметр, папка "Start In" автоматически заполняется папкой программы, которую Вы определяете в параметр [filename].
  • {Hot Key}: необязательный параметр - определяет вызывающую клавишу, которая активизирует ярлык. Например: Alt+Ctrl+A, Alt+Shift+F8, Alt+Ctrl+Shift+Y

Примеры:
shortcut "f:\winnt\system32\calc.exe" "~$folder.desktop$" "Windows Calculator"
shortcut "f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators" "Windows Calculator"
shortcut "f:\Program Files\KaZaA\Kazaa.exe" "c:\temp\MyShortcuts" "Kazaa"
shortcut "f:\Program Files" "c:\temp\MyShortcuts" "Program Files Folder" "" "f:\winnt\system32\shell32.dll" 45
shortcut "f:\Program Files" "c:\temp\MyShortcuts" "Program Files Folder" "" "" "" "max"

cmdshortcut
cmdshortcut [folder] [shortcut title] [command]
Создает ярлык к команде NirCmd. Когда Вы активизируете ярлык (дважды нажимая его), выполнится команда, которую Вы определяете в параметре [command].

Примеры:
cmdshortcut "~$folder.desktop$" "Open CDROM" cdrom open k:
cmdshortcut "c:\temp" "Turn Monitor Off" monitor off
cmdshortcutkey
cmdshortcutkey [folder] [shortcut title] [hot key] [command]
Подобна команде cmdshortcut, но также позволяет Вам определять комбинацию "hot key" для активизации команды.

Примеры:
cmdshortcutkey "~$folder.desktop$" "Open CDROM" "Ctrl+Shift+K" cdrom open k:
cmdshortcutkey "c:\temp" "Turn Monitor Off" "Ctrl+Shift+M" monitor off
urlshortcut
urlshortcut [URL] [Folder] [Shortcut Title]
Создает ярлык к адресу URL. (Как ярлыки в Избранное Internet Explorer) параметр [Folder] определяет папку - получатель, в которой будет создан этот ярлык. Если Вы хотите создать ярлык в вашей папке по умолчанию Избранное, используйте переменную ~$folder.favorites$.

Примеры:
urlshortcut "http://www.nirsoft.net" "~$folder.favorites$" "NirSoft Web Site"
urlshortcut "http://www.google.com" "~$folder.favorites$\Search Engines" "Google"
urlshortcut "http://www.yahoo.com" "c:\temp" "Yahoo"
exec
exec [show/hide] [application + command-line]
Выполняет приложение, и произвольно определяет один или более параметров командной строки для выполняемого приложения. Параметр [show/hide] определяет, будет ли выполняющаяся прикладная программа видима или нет. Если определен 'hide', выполняющаяся прикладная программа не будет видна пользователю.

Примеры:
exec show "f:\winnt\system32\calc.exe"
exec hide "c:\temp\wul.exe" /savelangfile
exec2
exec2 [show/hide] [working folder] [application + command-line]
Подобна команде exec, но также обеспечивают и другой параметр, [working folder], который определяет рабочую папку по умолчанию для приложения, которое Вы выполняете.

Примеры:
exec2 show "f:\winnt\system32" "f:\winnt\system32\calc.exe"
exec2 hide c:\temp "c:\temp\wul.exe" /savelangfile
execmd
execmd [command]
Выполняет команду Командной строки (консольное окно), не отображая ни чего на экране.

Примеры:
execmd del "~$folder.desktop$\calc.lnk"
execmd mkdir f:\temp\desktop1
execmd copy "~$folder.desktop$\*.lnk" f:\temp\desktop
shexec
shexec [operation] [filename]
Открывает или печатает файл с указанным именем согласно определению расширения файла в реестре. Например: файл с расширением .doc будет открыт в MS Word, файл с расширением .html будет открыт в вашем браузере по умолчанию. Если Вы определите допустимый адрес вебсайта, то вебсайт будет открыт в вашем браузере по умолчанию. Параметр [operation] может быть "open" или "print".

Примеры:
shexec "open" "c:\my documents\abc.doc"
shexec "print" "d:\files\1.pdf"
shexec "open" "http://www.nirsoft.net"
setfiletime
setfiletime [filename or wildcard] [Created Date] {Modified Date} {Accessed Date}
Изменяет дату создания/модификации/обращения одного или более файлов. Первый параметр может быть единственным именем файла или строкой подстановочных знаков. Параметры дат должны быть определены в следующем формате: "dd-mm-yyyy hh:nn:ss", если параметр даты не определен или Вы определяете пустую строку (""), дата не будет изменена. Если Вы определите "now" как параметр даты, то будет использоваться текущая дата и время.

Примеры:
setfiletime "c:\temp\*.exe" "15-05-2004 11:22:12" "22-01-2005 21:22:55"
setfiletime "c:\temp\myfile.txt" "24-06-2003 17:57:11" "" "22-11-2005 10:21:56"
setfiletime "c:\temp\myfile.txt" now now
setfilefoldertime
setfilefoldertime [filename, folder or wildcard] [Created Date] {Modified Date} {Accessed Date}
Изменяет дату создания/модификации/обращения одного или более файлов/папок. Эта команда подобна команде setfiletime. Единственное различие - то, что команда setfilefoldertime может также изменить дату папки - только под Windows 2000/XP.

Примеры:
setfilefoldertime "c:\temp\myfolder" "10-01-2003 11:22:12" "12-11-2002 02:34:11"
setfilefoldertime "c:\temp\myfolder" now now
emptybin
emptybin {drive}
Освободит Корзину. Параметр {drive} определяет диск Корзины, которую Вы хотите освободить. Если параметр {drive} не будет определен, то будут освобождены все Корзины на всех дисках.

Примеры:
emptybin f:
emptybin
setdisplay
setdisplay [width] [height] [color bits] {refresh rate} {-updatereg} {-allusers}
Изменяет ваши параметры настройки экрана. Параметры [width] и [height] представляют число пикселей на вашем экране. Параметр [color bits] представляет число цветов, которые отображает ваш экран (8 - 256 цветов, 16 - 16bit цвет, 24 - 24bit цвет, и т.д.). {refresh rate} - необязательный параметр, который определяет частоту обновления экрана. Если Вы определите параметр {-updatereg}, то новые параметры настройки будут сохранены в Реестре. Если Вы определите параметры и {-updatereg} и {-allusers}, то новые параметры настройки будут сохранены в Реестре для всех пользователей.

Примеры:
setdisplay 800 600 24 -updatereg
setdisplay 1024 768 24 90
setdisplay 1024 768 8
killprocess
killprocess [process]
Заканчивает указанный процесс. В параметре [process], Вы можете определить полный путь имени файла процесса (например: 'C:FilesExplorer.exe') или только имя процесса, без пути (например: iexplore.exe). Вы можете также определить ID процесса, добавляя символ '/' как префикс (например, /1120).

Примеры:
killprocess iexplore.exe
killprocess "c:\winnt\system32\calc.exe"
killprocess /1830
closeprocess
closeprocess [process]

Заканчивает указанный процесс, закрывая его окна верхнего уровня. В противоположность команде killprocess, closeprocess не вынуждает процесс быть закрытым немедленно. Вместо этого она посылает WM_CLOSE сообщение всем окнам верхнего уровня указанного процесса. Однако, знайте, что эта команда не будет воздействовать на процесс без пользовательского интерфейса.
В параметре [process], Вы можете определить полный путь файла процесса (например: 'C:FilesExplorer.exe') или только имя процесса, без пути (например: iexplore.exe). Вы можете также определить ID процесса, добавляя символ '/' как префикс (например: /1120).

Примеры:
closeprocess iexplore.exe
closeprocess "c:\winnt\system32\calc.exe"
closeprocess /1830

memdump
memdump [process] [dump file] [bytes per line] {bytes to read} {start address} {nohex} {noascii}
Читает память о процессе согласно параметрам, которые Вы определяете, и запишет это в текстовый файл.
Параметры:
  • [process]: процесс, дамп памяти которого Вы хотите формировать. Вы можете определить полный путь файла процесса, только имя процесса, или ID процесса, добавляя символ '/' как префикс (например, /520)
  • [dump file]: имя файла, дамп памяти которого Вы хотите сохранить.
  • [bytes per line]: число байтов памяти в строке в сохраненном файле дампа.
  • {bytes to read}: число байтов для чтения.
  • {start address}: запускает процесс формирования дампа с этого адреса памяти.
  • {nohex}: необязательный. Если Вы определите этот параметр, то данные памяти не будут сохранены в HEX формате.
  • {noascii}: необязательный. Если Вы определите этот параметр, то данные памяти не будут сохранены в ASCII формате.
Примеры:
memdump iexplore.exe "c:\temp\dump.txt" "16" "0x10000" "0x400000"
memdump calc.exe "c:\temp\calc.txt" "32" "0x30000" "0x400000" nohex
memdump /525 "c:\temp\dump.txt" "16" "0x100000" "0x120000" noascii
service
service {\\Computer} [action] [service name]
Изменяет состояние и тип запуска служб и драйверов.
Параметры:
  • {\\Computer}: необязательный. Определяет имя удаленного компьютера. Если Вы опускаете этот параметр, используется локальный компьютер.
  • [action]: действие, которое Вы хотите сделать. Этот параметр может содержать одно из следующих значений:
    • start: запускает указанную службу или драйвер.
    • stop: останавливает указанную службу или драйвер.
    • pause: приостанавливает указанную службу или драйвер.
    • continue: продолжает указанную службу или драйвер.
    • restart: останавливает и затем запускает снова указанную службу или драйвер.
    • auto: изменяет тип запуска указанной службы или драйвера на Автоматический.
    • manual: изменяет тип запуска указанной службы или драйвера на Ручной.
    • disabled: изменяет тип запуска указанной службы или драйвера на Отключенный.
    • boot: (только для драйверов) изменяет тип запуска указанного драйвера, на 'Загружать'.
    • system: (только для драйверов) изменяет тип запуска указанного драйвера на 'Система'.
  • [service name]: имя службы или драйвера.
Примеры:
service start schedule
service \\remote stop schedule
service restart w3svc
win
win [action] [find] [window to find] [Additional Parameters]
Для дочерних окон:
win child [find] [top window to find] [action] [find] [child window to find] [Additional Parameters]
Эта команда позволяет Вам закрывать, скрывать, показывать, развертывать, и свертывать указанное окно.
Параметры:
  • [action]: действие, которое Вы хотите сделать в указанном окне:
    • child: позволяет Вам совершать действие в дочернем окне указанного окна верхнего уровня.
    • close: закрывает указанные окна.
    • hide: скрывает указанные окна.
    • show: показывает снова указанные окна. (после того, как они были скрыты командой 'hide')
    • hideshow: скрывает указанные окна и затем показывает их снова. Вы можете использовать это действие, чтобы обновить содержание окна.
    • activate: вызывает указанное окно на передний план.
    • max: развертывает указанные окна.
    • min: свертывает указанные окна.
    • normal: восстанавливает указанные окна в нормальное состояние, после их свертывания или развертывания.
    • trans: делает указанные окна прозрачными. Значение в [Additional Parameters] - число 0...255, которое определяет уровень прозрачности. 0 = полностью прозрачное. 255 = полностью непрозрачное.
    • setsize: устанавливает размер указанных окон. Значения в [Additional Parameters] определяют нужный размер окна - x, y, ширина, высота.
    • move: перемещает/изменяет размеры окна. Значения в [Additional Parameters] определяют число пикселей для перемещения/изменения: x, y, ширина, высота.
    • center: центрирует указанные окна.
    • settopmost: устанавливает самое верхнее состояние указанных окон. Если значение в [Additional Parameters] будут 1, то указанные окна станут самыми верхними окнами, если значение будет 0, то самое верхнее состояние будет отменено.
    • redraw: перерисует указанные окна.
    • settext: изменит заголовок указанных окон.
    • focus: установит фокус в указанное окно.
    • disable: отключит указанное окно.
    • enable: включит указанное окно.
    • +style: добавит биты стиля указанному окну. Значение [Additional Parameters] определяет биты стиля для добавления.
    • -style: удалит биты стиля указанного окна. Значение [Additional Parameters] определяет биты стиля, для удаления.
    • +exstyle: добавит расширенные биты стиля указанному окну. Значение [Additional Parameters] определяет расширенные биты стиля для добавления.
    • -exstyle: удалит расширенные биты стиля стиля указанного окна. Значение [Additional Parameters] определяет расширенные биты стиля для удаления.
    • postmsg: отправит сообщение указанному окну. 3 значения в [Additional Parameters] определяют параметры сообщения: Msg, wParam, lParam.
    • sendmsg: пошлет сообщение указанному окну. 3 значения в [Additional Parameters] определяют параметры сообщения: Msg, wParam, lParam.
    • dlgclick: пошлет команду щелчка кнопки в диалоговом окне. Значение в [Additional Parameters] определяет ID управления кнопки, или одну из следующих предопределенных кнопок: yes, no, ok, cancel, retry, ignore, close, help.
    • dlgsettext: установит текст в указанное управление в диалоговом окне. Значение в [Additional Parameters] определяет ID управления.
    • dlgsetfocus: установит фокус в указанное управление в диалоговом окне. Значение в [Additional Parameters] определяет ID управления.
  • [find]: метод поиска окна:
    • handle: находит нужное окно, определяя дескриптор окна в параметре [window to find].
    • id: находит нужное дочернее окно, определяя id дочернего окна. Полезно только для дочерних окон.
    • class: находит нужное окно, определяя имя класса окна в параметре [window to find].
    • title: находит нужное окно, определяя точный заголовок окна в параметре [window to find].
    • stitle: находит нужное окно, определяя первые несколько символов окна в параметре [window to find].
    • ititle: находит нужное окно, определяя последовательность символов, которая существует в заголовке окна.
    • alltop: все окна, которые на верху.
    • alltopnodesktop: все окна, которые на верху, кроме рабочего стола и окон системного трея.
    • active: текущее активное окно.
    • foreground: окно на переднем плане.
    • desktop: окно рабочего стола.
  • [window to find]: определяет окно дескриптором, именем класса, или заголовком, согласно значению предыдущего параметра.

Примеры:
win close title "calculator"
win hide stitle "calculat"
win hide ititle "culat"
win show class "SciCalc"
win activate title "my computer"
win max handle 0x00009c01
win redraw alltop
win trans ititle "internet explorer" 192
win setsize class "IEFrame" 50 50 400 300
win settopmost class "SciCalc" 1
win child class "Shell_TrayWnd" hide class "button"
win child class "Shell_TrayWnd" show class "button"
win child title "calculator" hide id 128
win -style title "my computer" 0x00C00000
win child title "my computer" +exstyle all 0x00400000
win sendmsg title "calculator" 0x10 0 0
win dlgclick class "#32770" cancel

cdrom
cdrom [action] {drive:}
Эта команда позволяет Вам открывать и закрывать лоток вашего CD-ROM привода. Параметр [action] может быть 'open' или 'close'. Если Вы не определяете параметр {drive:}, будет использоваться CD-ROM по умолчанию.

Примеры:
cdrom open
cdrom close
cdrom open J:
cdrom close R:
clipboard
clipboard [Action] [Parameter]
Позволяет Вам устанавливать значение в буфере обмена и очищать буфер обмена.

[Action] может содержать одно из следующих значений:

  • set - устанавливает указанный текст в буфер обмена.
  • readfile - устанавливает содержание указанного текстового файла в буфер обмена.
  • clear - очищают буфер обмена.
  • writefile - записывает содержание буфера обмена в файл. (только текст)
  • addfile - добавляет содержание буфера обмена к файлу. (только текст)
Примеры:
clipboard set "123456"
clipboard set ~$folder.desktop$
clipboard set ~$folder.start_menu$
clipboard readfile "c:\temp\info1.txt"
clipboard addfile "c:\temp\clip1.txt"
clipboard clear
gac
gac [Action] [Parameter]
Позволяет Вам устанавливать трансляцию{блок} в Глобальный Кэш Трансляции{Блока}.

Пример:
gac install "C:\temp\MyAssembly\bin\Release\6\MyAssembly.dll"
beep
beep [Frequency] [Duration]
Воспроизводит звуковой сигнал. Параметр [Frequency] определяет частоту в герцах. Параметр [Duration] определяет продолжительность звука в миллисекундах. Под Windows 95/98/ME, вышеупомянутые параметры игнорируются, и воспроизводиться только стандартный звуковой сигнал (beep) Windows.

Пример:
beep 500 2000
stdbeep
stdbeep
Воспроизводит стандартный звуковой сигнал (beep) Windows.

Пример:
stdbeep
setvolume
setvolume [device] [left-volume] [right-volume]
Установит уровень громкости вашего звукового устройства. Параметр [device] представляет идентификатор устройства. В большинстве случаев, Вы должны использовать значение '0' для этого параметра. Параметры [left-volume] и [right-volume] должны содержать значение между 0 (тишина) и 65535 (полная громкость), который представляет уровень громкости для левого и правого каналов.

Примеры:
setvolume 0 0 0
setvolume 0 32768 32768
setvolume 0 0xffff 0
setsysvolume
setsysvolume [volume] {Component} {Device Index}

Установите громкость звука для вашей системы. Изменение этого значения также затрагивает параметры настройки громкости звука в 'Панели управления'. Параметр [volume] должен содержать значение между 0 (тишина) и 65535 (полная громкость).
{Component} - дополнительный параметр, который определяет один из следующих компонентов звука: master, waveout, synth, cd, microphone, phone, aux, line, headphones, wavein. По умолчанию - 'master' (для общей громкости)
{Device Index} - дополнительный параметр, который определяет индекс звукового устройства. Этот параметр полезен, если Вы имеете более одной звуковой платы. Если Вы не определяете этот параметр, используется звуковая плата по умолчанию в Панели управления.

Примеры:
setsysvolume 0x8000
setsysvolume 0
setsysvolume 25000 waveout
setsysvolume 25000 master 1

setsysvolume2
setsysvolume2 [left volume] [right volume] {Component} {Device Index}
Подобна setsysvolume, но вместо того, чтобы устанавливать общую громкость звука, setsysvolume2 устанавливает правый канал и левый канал отдельно.

Примеры:
setsysvolume2 10000 20000
setsysvolume2 30000 0
setsysvolume2 25000 15000 waveout
setsysvolume2 30000 0 master 1
changesysvolume
changesysvolume [volume change] {Component} {Device Index}
Увеличивает или уменьшает громкость. Параметр [volume change] определяет число единиц громкости для увеличения или уменьшения (отрицательное значение - для уменьшения, положительное значение - для увеличения).
{Component} - дополнительный параметр, который определяет один из следующих звуковых компонентов: master, waveout, synth, cd, microphone, phone, aux, line, headphones, wavein. По умолчанию - 'master' (для общей громкости)
{Device Index} - дополнительный параметр, который определяет индекс звукового устройства. Этот параметр полезен, если Вы имеете более одной звуковой платы. Если Вы не определяете этот параметр, используется звуковая плата по умолчанию в Панели управления.

Примеры:
changesysvolume 5000
changesysvolume -3000
changesysvolume 0x1000 waveout
changesysvolume 0x1000 master 1
changesysvolume2
changesysvolume2 [left volume change] [right volume change] {Component} {Device Index}
Подобна changesysvolume, но вместо того, чтобы устанавливать общую громкость звука, changesysvolume2 устанавливает правый канал и левый канал отдельно.

Примеры:
changesysvolume2 1000 -1000
changesysvolume2 -3000 0
changesysvolume2 0 -5000 waveout
changesysvolume2 -3000 0 master 1
mutesysvolume
mutesysvolume [action] {Component} {Device Index}

Выключит/включит системную громкость.
В параметре [action], определите 1 для выключить, 0 для включить, или 2 для переключения между выключенным и включенным состоянием.
Второй параметр является дополнительным, и Вы можете определить один из следующих звуковых компонентов: master, waveout, synth, cd, microphone, phone, aux, line, headphones, wavein. Значение по умолчанию - 'master' (для общей громкости)
{Device Index} - дополнительный параметр, который определяет индекс звукового устройства. Этот параметр полезен, если Вы имеете более одной звуковой платы. Если Вы не определяете этот параметр, используется звуковая плата по умолчанию в Панели управления.

Примеры:
mutesysvolume 1
mutesysvolume 0
mutesysvolume 2 waveout
mutesysvolume 1 master 1

wait
wait [milliseconds]
Просто ждет указанное число миллисекунд.

Примеры:
wait 1000
wait 500
sysrefresh
sysrefresh {Refresh Type}
Инициирует общую системную регенерацию. Вы можете использовать эту команду, чтобы обновить вашу систему после изменения ваших системных параметров настройки в реестре (например: изменяя размер иконок Рабочего стола, переменные среды, и т.д...)
{Refresh Type} является дополнительным. Вы можете определить одно из следующих значений: "environment" - чтобы обновить переменные среды, "policy" - для параметров настройки политики, "intl" для локальных параметров настройки.

Примеры:
sysrefresh
sysrefresh environment
sysrefresh policy
setcursor
setcursor [X] [Y]
Установит позицию курсора мыши. Параметры [X] и [Y] определяют нужную позицию курсора.

Пример:
setcursor 100 50
movecursor
movecursor [X] [Y]
Переместит курсор мыши. Параметры [X] и [Y] определяют число пикселей для перемещения.

Пример:
movecursor 10 10
dlg
dlg [Process Name] [Window Title] [Action] [Parameters]
Позволяет Вам взаимодействовать со стандартными диалоговыми окнами и окнами сообщения Windows. Когда диалоговое окно открыто, Вы можете использовать эту команду, чтобы "щелкнуть" кнопками ok/cancel/yes/no, или заполнить текстовые поля в диалоговом окне.
Например, следующие команды заполняют стандартное диалоговое окно 'Run' Windows с процессом 'calc.exe', и затем щелкают кнопкой 'OK'. '12298' - это ID управления текстового поля в диалоговом окне Run. Вы можете найти ID управления, используя утилиту Spy++ от Microsoft, или используя мою утилиту WinExplorer.
dlg "explorer.exe" "run" settext 12298 "calc.exe"
dlg "explorer.exe" "run" click ok

Следующая команда выберет ответ 'Yes' для любого диалогового окна вопроса процесса Explorer:
dlg "explorer.exe" "" click yes

Следующая команда выберет ответ 'Cancel' для любого диалогового окна вопроса любого процесса:
dlg "" "" click cancel

Описание параметров:

  • [Process Name]: Определяет процесс, который создал нужное окно. Вы можете определить только название процесса или полный путь процесса. Если этот параметр будет пустой строкой (""), то команда будет выполнена на любом процессе.
  • [Window Title]: Определяет заголовок окна, в котором Вы хотите выполнять действие. Если этот параметр будет пустой строкой (""), то команда будет выполнена на любом окне, независимо заголовок окна.
  • [Action]: Вы можете определить одну из следующих опций:
    • click: Щелкнуть указанной кнопкой. Вы можете определить одно из следующих предопределенных значений (Только для стандартных диалоговых окон Windows!): yes, no, ok, cancel, retry, ignore, close, help. Вы можете также определить любой ID управления как числовое значение.
    • settext: Установить текст указанного управления. Первый параметр этого действия определяет ID управления, а второй параметр определяет текст.
dlgany
dlgany [Process Name] [Window Title] [Action] [Parameters]
Подобна команде dlg, но также работает и с любым окном, даже если оно не идентифицировано как стандартное диалоговое окно Windows.
returnval
returnval [Return Value]
Эта команда позволяет Вам определять значение возвращаемое NirCmd. Возвращаемое значение может использоваться внешней программой из которой запущен NirCmd.
Например, в следующей команде, NirCmd возвращает значение 0x30, если пользователь выбирает ответ 'Yes':
qboxcom "Do you want to continue ?" "question" returnval 0x30
sendkey
sendkey [Key] [press | down | up]
Посылает нажатие клавиши в систему. Операционная система будет вести себя так, как будьто пользователь действительно нажимал указанные клавиши.
Параметр [Key] определяет клавишу как виртуальный ключевой код (Например: 0x2e для клавиши DELETE), или как одно из следующих предопределенных значений: a - z и 0 - 9 (для алфавитно-цифровых клавиш), F1 - F24 (для клавиш Fxx), shift, ctrl, alt, enter, esc.
Второй параметр определяет действие клавиши: 'press', 'down' или 'up'. Для каждой клавиши для действия down, Вы должны также добавить соответствующие действие up.

В следующем примере сценария система ведет себя как будь то пользователь нажал Shift+Ctrl+Esc (должен появиться Менеджер задач):
sendkey shift down
sendkey ctrl down
sendkey esc down
sendkey shift up
sendkey ctrl up
sendkey esc up

Больше примеров:
sendkey a press
sendkey f10 press
sendkey enter press
sendkey 0x2e press

sendmouse
sendmouse [right | left | middle] [down | up | click | dblclick]
sendmouse [move] [x] [y]
sendmouse [wheel] [Wheel Value]
Посылает указанное действие мыши в систему. Операционная система будет вести себя точно, как будь то пользователь действительно сделал указанное действие мыши.
Здесь несколько примеров посылки команд мыши:
  • Послать правый щелчок (для большинства приложений, открыть контекстное меню):
    sendmouse right click
  • Послать двойной щелчок левой кнопкой мыши:
    sendmouse left dblclick
  • Нажать левую кнопку мыши, переместите курсор мыши влево на 20 пикселей и вниз на 30 пикселей, а затем отпустить кнопку:
    sendmouse left down
    sendmouse move -30 20
    sendmouse left up
  • Прокрутите колесо мыши на 10 шагов в стандартном колесе мыши. (на стандартной мыши колеса значение колеса должно быть кратным числом 120).
    sendmouse wheel 1200

Обратная связь

Если Вы имеете какую-нибудь проблему, предложение, комментарий, или Вы нашли ошибку в моей утилите, Вы можете послать сообщение на nirsofer@yahoo.com