NirCmd命令
remote {copy} [\\computer] [NirCmd command] 在远程计算机上执行NirCmd命令。如果指定了{copy}参数,NirCmd将会复制自身到远程计算机的 Windows目录下。如果远程计算机的Windows目录下不存在NirCmd.exe,则必须指定{copy}参数。例: remote copy comp1 exitwin poweroff remote comp2 infobox "This is a message from NirCmd" "Hello !" remote comp3 lockws |
multiremote {copy} [computers file] [NirCmd command] 在多台远程计算机上执行 NirCmd命令。如果指定了{copy}参数,NirCmd将会复制自身到远程计算机的 Windows目录下。如果远程计算机的Windows目录下不存在NirCmd.exe,则必须指定{copy}参数。参数[computers file]指定一个文件,此文件包含了以回车符分隔的计算机列表。 文件[computers file] 举例: \\comp1 \\comp2 \\winxp1 \\winxp2 \\nirsoft 在参数[NirCmd command]中指定的命令会在所有[computers file]指定的计算机上运行。 例: 关闭所有在computers.txt中列出的计算机 multiremote "c:tempcomputers.txt" exitwin poweroff force 锁定所有在computers.txt中列出的计算机 multiremote "c:tempcomputers.txt" lockws 复制NirCmd.exe到所有computers.txt中列出的计算机上,并且关闭其显示器。 multiremote copy "c:tempcomputers.txt" monitor off 复制NirCmd.exe到所有computers.txt中列出的计算机上,运行wul.exe (WinUpdatesList),以便保存所有计算机上的Windows更新信息。 multiremote copy "c:tempcomputers.txt" exec hide c:tempwul.exe /shtml "c:tempwul_~$sys.computername$.html" |
cmdwait [Number of Milliseconds] [NirCmd Command] 等待指定的毫秒数,然后执行指定的NirCmd命令。 例: cmdwait 1000 monitor off |
loop [Number of Times] [Number of Milliseconds] [NirCmd Command] 指定命令执行循环次数, 命令执行期间,NirCmd 等待第二个参数指定的毫秒数, 通过~%loopcount% 变量指定循环中的呼叫号码(从1 到 n). 例: loop 3 2000 speak text "Call Number ~%loopcount%" loop 10 60000 savescreenshot c:tempscr~%loopcount%.png |
paramsfile [Parameters File] [Delimiters] [Quote Character] [NirCmd Command] 这是一个很强大的命令,它允许从一个文本文件中加载一个或多个参数,从而可以成倍的执行NirCmd命令。此文本文件内容可以以逗号、Tab、分号或者 任何在参数[Delimiters]中指定的符号作为分隔符。 举一个例子:假设有如下文本文件,包含了一些用户名和密码,以','隔开: user01, 123456 user02, abcfg user03, 5fr23 user04, 33333 下面的NirCmd命令将会创建在以上文本文件中指定的4个用户名和密码。(通过使用Windows 2000/XP操作系统提供的net user命令) nircmd.exe paramsfile "c:tempusers.txt" "," "" execmd net user ~$fparam.1$? ~$fparam.2$ /add ~$fparam.1$指每行的第一个词条,即用户名。 ~$fparam.2$指每行的第二个词条,即密码。 例: paramsfile "c:tempfolders.txt" "" "" execmd md ~$fparam.1$ paramsfile "c:tempshortcuts.txt" "," "~q" shortcut ~$fparam.1$ "~$folder.desktop$" ~$fparam.2$ |
infobox [message text] [title] 在屏幕上显示一个简单的信息框。 例: infobox "This is a message box !" "message" |
qbox [message text] [title] [program to run] 在屏幕上显示一个询问对话框。如果用户回答是,则运行程序。 例: qbox "Do you want to run the calculator ?" "question" "calc.exe" |
qboxtop [message text] [title] [program to run] 同qbox命令类似,但显示的对话框为最上层窗口。 |
qboxcom [message text] [title] [NirCmd Command] 在屏幕上显示一个询问对话框。如果用户回答是,则执行参数[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 |
qboxcomtop [message text] [title] [NirCmd Command] 同qboxcom命令类似,但现实的对话框为最上层窗口。 |
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 [key] [value name] 打开注册表编辑器的指定项/值。 例: regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir" regedit "HKEY_CURRENT_USER\Control Panel\Desktop" "Wallpaper" |
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 [key] [value] 删除注册表中的某个值 例: regdelval "HKEY_CURRENT_USER\Software\Test" "Value1" |
regdelkey [key] 删除注册表中的整项。如果指定的项有一个或多个子项时,此命令失效。 例: regdelkey "HKEY_CURRENT_USER\Software\Test" |
inisetval [INI filename] [section] [key] [value] 把值写入ini文件。如果文件不存在,则自动创建。 例: inisetval "c:\windows\test.ini" "section1" "TestValue" "1" |
inidelval [INI filename] [section] [key] 删除ini文件中的一对项-值。 例: inidelval "c:\windows\test.ini" "section1" "TestValue" |
inidelval [INI filename] [section] 删除ini文件的整段(以[]分段),且删除此段中包含的所有值。 例: inidelsec "c:\windows\test.ini" "section1" |
regsvr [reg or unreg] [filename or wildcard] {log file} 注册或解除注册DLL/OCX文件。 在第一个参数[reg or unreg]中,指定"reg"表示注册文件,指定"unreg"表示解除注册文件。 在第二个参数[filename or wildcard]中,可以指定要注册或解除注册的某个单一文件,多个文件用通配符指定。 第三个为可选参数,指定一个日志文件来保存注册操作的结果。 例: regsvr reg "f:\winnt\system32\fv*.ocx" "c:\temp\log1.txt" regsvr unreg "f:\winnt\system32\ab*.dll" |
rasdial [Entry Name] {Phonebook File} {User Name} {Password} {Domain} 不显示任何用户界面,建立拨号连接到RAS服务接口(VPN网络或电话线)。除了参数[Entry Name]为必需,其他参数都为可选参数。如果没有指定可选参数,或者指定为空字符串(""),将会使用默认值。 例: rasdial "My Internet" rasdial "VPN1" "" "user1" "abc1234" "domain1" |
inetdial [Entry Name] 建立拨号连接到RAS服务接口(VPN网络或电话线),显示拨号进程的信息对话框。 此命令只适用于IE版本4.0及其以上。注意:此命令在旧版本的Windows 98上可能无效。 例: inetdial "VPN1" |
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 {Entry Name} 中断RAS连接。可以用此命令来中止之前用命令inetdial或者rasdial创建的连接。如果没有指定参数{Entry Name},所有活动连接都将被终止。 例: rashangup "VPN1" rashangup |
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 [shutdown type] {additional option} 此命令用来关闭当前会话窗口。 参数[shutdown type]可以是一下值之一: logoff: 结束所有进程,注销当前用户,显示登录对话框来切换用户 reboot: 关闭系统,重新启动 poweroff: 关闭系统,关闭电源(只对支持此性质的系统有效)。 shutdown: 只关闭系统,不重启,不关电源 还可以使用一下的附加选项: force: 立即强制终止所有应用程序。使用此选项可能会是正在运行的程序丢失数据。建议只在特殊情况下使用! forceifhung: 终止无响应的应用程序。适用于Windows 2000/XP 例: exitwin reboot exitwin poweroff force exitwin logoff forceifhung |
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 取消用initshutdown命令进行的关机操作,不接受任何参数。 例: abortshutdown |
lockws 锁定计算机。锁定计算机后,必须输入密码来解锁。只适用于Windows 2000/XP。 |
monitor [action] 改变显示器状态。参数[action]可以包含下列值: off: 关闭显示器 on:打开显示器 low: 设置为低耗电状态 此命令只适用于支持此性质的系统。 例: monitor off monitor on |
screensaver 开启默认屏保 |
standby {force} 关闭计算机,并处于待机模式。如果指定{force}参数,系统会不经过所有应用程序许可直接进入待机状态,不推荐使用此参数。适用于支持待机模式的系统 例: standby force standby |
hibernate {force} 关闭计算机,并处于休眠模式。如果指定{force}参数,系统会不经过所有应用程序许可直接进入休眠状态,不推荐使用此参数。适用于支持休眠模式的系统 例: hibernate force hibernate |
shortcut [filename] [folder] [shortcut title] {arguments} {icon file} {icon resource number} {ShowCmd} {Start In Folder} {Hot Key} 创建文件的快捷方式: 参数: [filename]: 指定要创建快捷方式的文件 [folder]: 指定快捷方式的创建位置。可以指定任何有效的文件夹,包括一些代表系统文件夹的特殊变量,如:~$folder.programs$ (开始/程序文件夹)等等 [shortcut title]: 此快捷方式的名字 {arguments}:可选参数 - 执行此文件的附加参数。 {icon file}:可选参数 - 如果想使用其他图标来代替默认图标则使用此参数。 {icon resource number}: 可选参数 - 图标文件中的图标号码 {ShowCmd}:可选参数 - 最大化或最小化程序运行窗口。指定"max"最大化窗口,"min"最小化窗口。 {Start In Folder}: 可选参数 - 指定开始位置。如果没有制定此参数,起始位置就自动设置为在参数[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 [folder] [shortcut title] [command] 创建一个NirCmd命令快捷方式。运行快捷方式时(双击),命令中指定的[command]参数将被执行。 例: cmdshortcut "~$folder.desktop$" "Open CDROM" cdrom open k: cmdshortcut "c:temp" "Turn Monitor Off" monito |
cmdshortcutkey [folder] [shortcut title] [hot key] [command] 创建一个指定快捷键的NirCmd命令快捷方式。当运行此快捷方式(双击),参数[command]指定的命令会被执行。 例: cmdshortcut "~$folder.desktop$" "Open CDROM" cdrom open k: cmdshortcut "c:\temp" "Turn Monitor Off" monitor off |
urlshortcut [URL] [Folder] [Shortcut Title] 创建网页快捷方式(类似收藏夹中的网页快捷方式)。参数[Folder]指定此快捷方式的创建位置,如果想创建快捷方式到收藏夹,则使用:~$ folder.favorites$ variable. 例: 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 [show/hide] [application + command-line] 运行应用程序,可为此程序指定一个或多个命令行参数。参数[show/hide]指定显示运行还是隐藏运行。如果指定 'hide',则将在后台运行此程序。 例: exec show "f:\winnt\system32\calc.exe" exec hide "c:\temp\wul.exe" /savelangfile |
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 [command] 执行命令提示符下(控制台)命令,屏幕上不显示任何信息。 例: execmd del "~$folder.desktop$\calc.lnk" execmd mkdir f:\temp\desktop1 execmd copy "~$folder.desktop$\*.lnk" f:\temp\desktop |
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 [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 [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 {drive} 清空回收站。参数{drive}指定想要清空的回收站所在的磁盘。如果没有指定此参数,则清空所有磁盘的回收站。 例: emptybin f: emptybin |
setdisplay [width] [height] [color bits] {refresh rate} {-updatereg} {-allusers} 修改显示设置。参数[width]和[height]代表的屏幕上的像素点数。参数[color bits]表示屏幕的颜色位数(8 - 256 color, 16 - 16bit color, 24 - 24bit color等等)。{refresh rate}是可选参数,指定显示器的刷新频率。如果指定了{-updatereg}参数,新设置会保存在注册表中。如果同时指定{-updatereg} 和{-allusers}参数,新设置会应用与计算机上所有用户,并且保存在注册表中。 例: setdisplay 800 600 24 -updatereg setdisplay 1024 768 24 90 setdisplay 1024 768 8 |
killprocess [process] 结束指定进程。在参数[process]中,可以指定进程名的完整路径(如:C:\Program Files\Internet Explorer\iexplore.exe)或者只指定进程名(如: iexplore.exe)。还可以通过后缀'/'指定进程的ID(如: /1120)。 例: killprocess iexplore.exe killprocess "c:\winnt\system32\calc.exe" killprocess /1830 |
closeprocess [process] 通过关闭*窗口来结束指定进程。与killprocess命令相反,closeprocess并不强制立即结束进程。相反,它给指定进程的*窗口发送 一个WM_CLOSE消息。注意:此命令对没有用户界面的进程无效。 在参数[process]中,可以指定进程名的完整路径(如:C:\Program Files\Internet Explorer\iexplore.exe)或者只是进程名(如:iexplorer.exe)。还可以通过后缀'/'指定进程的ID(如: /1120)。 例: closeprocess iexplore.exe closeprocess "c:\winnt\system32\calc.exe" closeprocess /1830 |
waitprocess [process] {Command} 等待直到指定进程结束 在参数[process]中,可以指定进程名的完整路径(如:C:\Program Files\Internet Explorer\iexplore.exe)或者只是进程名(如:iexplorer.exe)。还可以通过后缀'/'指定进程的ID(如: /1120)。 例: waitprocess iexplore.exe waitprocess "c:\winnt\system32\calc.exe" waitprocess /1830 |
setprocesspriority [process] [priority] 为指定进程设置新的优先级 在参数[priority]中,可以指定以下值:normal, low, belownormal, abovenormal, high, realtime。 在参数[process]中,可以指定进程名的完整路径(如:C:\Program Files\Internet Explorer\iexplore.exe)或者只是进程名(如:iexplorer.exe)。还可以通过后缀'/'指定进程的ID(如: /1120)。 例: setprocesspriority iexplore.exe high setprocesspriority "c:\winnt\system32\calc.exe" low setprocesspriority /1830 abovenormal |
setprocessaffinity [process] [list of processor numbers] 设置进程关联, 在参数[process]中,指定进程使用的处理器(仅具有多个处理器的计算机),可以指定完整路径名的进程 (如: 'C:Program Files\Internet Explorer\iexplore.exe') 或者只是进程名(如: iexplore.exe). )。还可以通过后缀'/'指定进程的ID(如: /1120)。在参数[list of processor numbers] 中,可以指定需要的处理器数字,0是第一个处理器,1是第二个,依此类推。 例: setprocessaffinity iexplore.exe 0 1 setprocessaffinity "c:winntsystem32calc.exe" 0 1 2 3 setprocessaffinity /1830 0 |
memdump [process] [dump file] [bytes per line] {bytes to read} {start address} {nohex} {noascii} 根据指定的参数,读取进程的内存,并写入文件。 参数: [process]: 想要读取其内存的进程。可以指定完整路径,或仅进程名,或用后缀'/'指定进程ID。 [dump file]: 用来保存指定进程内存的内容的文件名。 [bytes per line]: dump file中每行的内存字节数。 {bytes to read}: 读取的字节数 {start address}: 指定进程的开始读取地址 {nohex}:可选参数。如果指定此参数,内存数据不会以十六进制形式保存。 {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 {Computer} [action] [service name] 改变驱动和服务的状态和启动类型 参数: {\\Computer}:可选参数。指定远程计算机名。如果忽略此参数,默认使用本地计算机。 [action]: 要进行的操作。此参数包含以下值: start:开启指定的服务或驱动程序。 stop: 停止指定的服务或驱动程序。 pause: 暂停指定的服务或驱动程序。 continue: 继续指定的服务或驱动程序。 restart: 停止并开启指定的服务或驱动程序。 auto:修改指定的服务或驱动程序为自动。 manual:修改指定的服务或驱动程序为手动。 disabled:禁用指定的服务或驱动程序 boot: (只适用于驱动程序)修改指定的驱动程序为引导(boot)。 system:(只适用于驱动程序)修改指定的驱动程序为系统(system)。 [service name]: 服务或驱动程序名 例: service start schedule service \\remote stop schedule service restart w3svc |