NirCmd v2.37帮助文档中文译本(二)

时间:2022-09-02 16:32:29

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