Почитал сегодня справку по командам Нира (маленькой консольной утилитки в 100 кб) по советам 0raven и i0, нашёл для себя немного интересных моментов с примерами:
[spoiler=Бенефиты Нира]
speak text ~$clipboard$ - читает текст из буфера
speak file "c:\temp\speak.txt" 0 100 "c:\temp\speak.wav" 48kHz16BitStereo - превращает текстовый файл в аудио, озвучивает письмена автоматом
changesysvolume -5000 - уменьшает громкость на компе
mutesysvolume 2 - заглушает/включает звук (триггер)
cmdshortcut "~$folder.desktop$" "Switch Volume" mutesysvolume 2 - кидает на Рабочий стол
ярлык, которым можно сделать предыдущее действие
monitor off - выключает моник
cmdshortcut " "~$folder.desktop$ "Close All IE" win close class "IEFrame" - создаёт ярлык, закрывающий
все окна ослика Ие
win trans ititle "internet explorer" 192 -
делает полупрозрачным нужное окноrasdial "My Internet" - автодозвон для неимеющих роутера
win hide class "CabinetWClass" - прячет все окна проводника со всеми открытыми папками
win -style title "my computer" 0x00C00000 - удаляет слова из заголовка программы
win settopmost title "Calculator" 1 -
закрепляет окно поверх остальныхwin child class "Shell_TrayWnd" hide class "button" - прячет Пуск, не знаю кому это нужно
win child class "Shell_TrayWnd" show class "TrayClockWClass" - прячет часы, можно над другом поугарать до перезагрузки
urlshortcut "
http://www.nirsoft.net" "~$folder.desktop$" "NirSoft" - создаёт ярлык для сайта, можно на его основе создать
автологгер-историю посещений в формате ярлыков
setdisplay 800 600 24 - устанавливает режим монитора и поллитру
execmd copy "~$folder.desktop$\*.lnk" f:\temp\desktop -
бесшумно бекапит Рабочий стол
nircmd regedit "~$clipboard$" - открывает в редакторе Реестра винды ключ из буфера
setfiletime "c:\temp\myfile.txt" "24-06-2003 17:57:11" "22-11-2005 10:21:56" - дата созд/изм файла
clipboard readfile "c:\My Files\info1.txt" - копируем текст файла в буфер
paramsfile "c:\temp\folders.txt" "" "" execmd md ~$fparam.1$ - создаём дерево папок по шаблону в файле
dlg "" "" click yes - кликаем Да
во всех вылетающих диалогах этих ваших Виндов
cmdwait 2000 savescreenshot "f:\temp\shot.png" - ждём 2 сек и сейваем скрин
waitprocess firefox.exe speak text "Firefox was closed" -
озвучивает выход из программы
elevatecmd runassystem c:\windows\regedit.exe - запускает Регедит
от админаsendkeypress ctrl+alt+del - жмакает комбинацию клавиш
Переменные системы
folder.cookies - возвращает путь к кукам юзера
folder.system - путь к System32
loopcount - указывает количество повторов скрипта/батника
infobox "The current logged-on user is ~$sys.username$" "logged-on user" - показывает имя пользователя
savescreenshot c:\temp\scr~$currdate.MMddyyyy$-~$currtime.HHmmss$.png - сохраняет скриншот с датой/временем
multiremote - выполняет указанные команды на многих удалённых компах, например:
multiremote copy "c:\temp\computers.txt" monitor off - выключает мониторы
на нужных компьютерах в локалкеcmdwait 1000 monitor off - тушит экран после паузы
loop 10 60000 savescreenshot c:\temp\scr~$loopcount$.png - 10 раз один раз в минуту делает скрин по маске
shortcut "f:\Program Files" "c:\temp\MyShortcuts" "Program Files Folder" "" "f:\winnt\system32\shell32.dll" 45 - вешает нужную
иконку на ярлыкcmdshortcutkey "c:\temp" "Turn Monitor Off" "Ctrl+Shift+M" monitor off - создаёт
ярлык с хоткеемurlshortcut "
http://www.google.com" "~$folder.favorites$\Search Engines" "Google" - кидает
ярлык в нужную папку Избранного
exec hide "c:\temp\wul.exe" /savelangfile -
запускает программу в скрытом режиме, без окна/иконки в трее
execmd del "~$folder.desktop$\calc.lnk" - втихую выполняет операции, опять повод для пранка
shexec "open" "
http://www.nirsoft.net" - открывает веб-страничку в вашем любимом браузере по умолчанию
shexec "print" "d:\files\1.pdf" - печатает указанные доки
clonefiletime "c:\temp\file1.txt" "c:\temp\file2.txt" - клонирует дату создания из файла
setbrightness 60 2 - меняет яркость на нубуке
killprocess "c:\winnt\system32\calc.exe" - убивает процесс, быстро и с крахом информации
closeprocess /1830 - выключает нужный процесс/окно,
медленно, надёжно и по всем канонам гуи
suspendprocess "c:\winnt\system32\calc.exe" -
замораживает программу, она перестаёт отвечать/закрываться
setprocesspriority iexplore.exe high - устанавливает нужный приоритет программе
setprocessaffinity "c:\winnt\system32\calc.exe" 0 1 2 3 -
выделяет программе определённые ядра процессора
service pause w3svc - ставит службу на паузу
win hide ititle "culat" - прятать все окна
с этим текстом в заголовке
win show class "SciCalc" - показать
все окна нужного класса, одной программы
win max handle 0x00009c01 - разворачивает окно с указанным хендлером
win setsize class "IEFrame" 50 50 400 300 - меняет размер окна
win child class "Shell_TrayWnd" show class "button" - показывает все дочерние окна указанного класса/айди
win sendmsg title "calculator" 0x10 0 0 - посылает биты состояния окну через мессидж WinAPi
win dlgclick class "#32770" cancel - жмёт автоматом Отмену во всех всплывающих окнах нужной программы
win togglehide class MozillaWindowClass - скрывает-прячет/снова показывает окно (работает как
переключалка)
clipboard saveimage "c:\temp\clip01.png" - сохраняет картинку
из буфера в прописанный файл
в нужном форматеclipboard clear - очищает, дезинфицирует буфер обмена
clipboard set ~$folder.desktop$ - копирует путь папки десктопа в буфер
clipboard saveclp "c:\temp\1.clp" - сохраняет содержимое буфера в файл стандарта, понимаемого Виндой
stdbeep -
озвучивает стандартно для Винды сообщение об ошибке
setappvolume wmplayer.exe 0.75 Speakers - устанавливает уровень
громкости в программе и переключает аудио
muteappvolume /1275 2 1 -
отключает звук в указанном по айди процессе
setdefaultsounddevice "Microphone" 2 - устанавливает/переключает звуковые устройства по умолчанию
setcursor 100 50 - перемещает курсор в нужное место
sendkeypress ctrl+shift+esc alt+tab - посылает окну несколько хоткеев/нажатий через командную строку
sendkeypress Shift+n i r spc shift+s o f t - пишет "НирСофт" по буквам, эмулируя ввод, в активном окне
Нажатия клавиш
sendkey enter press - указываем константой
sendkey 0x2e press - по коду клавиши
sendkey shift down - полунажатие, первая фаза, без релиза
Управлению мышью на автомате
sendmouse wheel 1200 - прокрутка-робот
sendmouse left down
sendmouse move -30 20
sendmouse left dblclick
convertimage "c:\temp\test1.gif" "c:\temp\test1.png" -
конвертирует картинки межформатно
convertimages "c:\temp\*.jpg" .gif - конвертит фотки
по маскеsavescreenshotwin *clipboard* - скриншотит
в буфер нужное окно, в котором находится фокус
shellcopy "c:\temp\*.*" "d:\temp" yestoall noerrorui - копирует файло
без шуму и пыли, подавляя ошибки/вопросы
filldelete "c:\temp\*.*" - затирает выбранные файлы нулями и затем удаляет, без возможности восстановления
speak file "c:\temp\speak1.txt" -
озвучивает текст из файла
elevatecmd runassystem c:\windows\regedit.exe - выполняет программу от имени нужного юзера, в данном случае -
из-под системной учётки
trayballoon "Hello" "This is a test..." "shell32.dll,22" 15000 - системное
уведомление в трее с иконкой и таймеромmediaplay 10000 "c:\temp\1.mp3" - проигрывает файл с аудио
в течение 10 секундwriteufile - пишет файл
в уникодеsetprimarydisplay - устанавливает выбранный дисплей дефолтным из нескольких
shellrefresh -
обновляет шелл после обнов реестра, но без перезагрузки?
..
Много других вкусностей, но уже задолбался писать
[/spoiler]
Самое интересное/неожиданное на мой лук выделил жирным.
Только опробовать всё не хватило времени, да и остались ещё некоторые непонятки/тупняки в нире:
[spoiler=NirLags]
Есть разные однотипные функции - enable, active, activate, focus.
paramsfile "c:\temp\shortcuts.txt" "," "~q" shortcut ~$fparam.1$ "~$folder.desktop$" ~$fparam.2$ - мозг отказывается понимать ЭТО, надеюсь что только сегодня
dlg "explorer.exe" "run" settext 12298 "calc.exe" - самые нужные функции бывают и самыми непонятными
execmd copy "~$folder.desktop$\*.lnk" f:\temp\desktop - вместо копирования файлов в папку у меня создался один файл (с именем папки) в непонятном формате, может не хватило привилегий?
[/spoiler]
Сразу после прочтения почудилось, что и наш, русский кликер должен уметь все нировские красоты кода из строки запуска с параметрами, тем более что функционал у кликера мощнее нировского. Да и некоторые фишки нира не выглядят настолько продуманными.
В справке нашёл также пару слов про консольную версию нира и про отличие от обычной: Starting from version 1.50, console version of NirCmd (nircmdc.exe) is also available. In the console version, all error messages goes to the console window, instead of using a message box. Вот.
Пишите в комментариях, какие интересные реализации вы используете и как хитрите с ниром, можете также рассказать о необычном опыте с другими консолями. Чего из данных выше указанных функций вы не знали/не ждали от возможностей нира?