Main Page

Utilities

Passwords

Visual
Basic

Visual
C++

Components

.NET
Tools

FAQ

TOP
10

Links

Awards

Search

Pad Files

Contact

NirCmd v1.80 - Freeware command-line tool for Windows

Copyright (c) 2003 - 2005 Nir Sofer

Description
NirCmd is a small command-line
utility that allows you to do some useful tasks without displaying any
user interface. By running NirCmd with simple command-line option, you can
write and delete values and keys in the Registry, write values into INI
file, dial to your internet account or connect to a VPN network, restart
windows or shut down the computer, create shortcut to a file, change the
created/modified date of a file, change your display settings, turn off
your monitor, open the door of your CD-ROM drive, and more...

Examples of what you can do with NirCmd

Open the door of J: CD-ROM drive

nircmd.exe cdrom open j:

Close the door of Y: CD-ROM drive

nircmd.exe cdrom close y:

Increase the system volume by 2000 units (out of 65535)

nircmd.exe changesysvolume 2000

Decrease the system volume by 5000 units (out of 65535)

nircmd.exe changesysvolume -5000

Set the volume to the highest value

nircmd.exe setsysvolume 65535

Mute the system volume

nircmd.exe mutesysvolume 1

Unmute the system volume

nircmd.exe mutesysvolume 0

Switch the system volume between the mute and normal state.

nircmd.exe mutesysvolume 2

Create a shortcut on your desktop that switch the system volume
between the mute and normal state.

nircmd.exe cmdshortcut "~$folder.desktop$"
"Switch Volume" mutesysvolume 2

Turn off the monitor

nircmd.exe monitor off

Start the default screen saver

nircmd.exe screensaver

Put your computer in 'standby' mode

nircmd.exe standby

log off the current user

nircmd.exe exitwin logoff

Ask if you want to reboot, and if you answer 'Yes', reboot the
computer.

nircmd.exe qboxcom "Do you want to
reboot ?" "question" exitwin reboot

Turn off your computer

nircmd.exe exitwin poweroff

Turn off all computers specified in computers.txt !

multiremote copy
"c:\temp\computers.txt" exitwin poweroff force

Dial to "My Internet" connection

nircmd.exe rasdial "My Internet"

Disconnect the "My Internet" connection

nircmd.exe rashangup "My Internet"

Make your Internet Explorer windows 75% transparent ! (192 /
256)

nircmd.exe win trans ititle "internet
explorer" 192

Minimize all your Internet Explorer windows

nircmd.exe win min class "IEFrame"

Close all your Internet Explorer windows

nircmd.exe win close class "IEFrame"

Close all your Explorer windows (My Computer, folders, and so
on)

nircmd.exe win close class
"CabinetWClass"

Hide all your Internet Explorer windows

nircmd.exe win hide class "IEFrame"

Show all your Internet Explorer windows (after you made them
hidden with previous example)

nircmd.exe win show class "IEFrame"

Center all top-level windows

nircmd.exe win center alltop

Remove the title bar of My Computer window.

nircmd.exe win -style title "my
computer" 0x00C00000

Return the title bar of My Computer window that we removed in
the previous example.

nircmd.exe win +style title "my
computer" 0x00C00000

Set the My Computer window to right-to-left order (For hebrew
and arabic languages)

nircmd win +exstyle title "my computer"
0x00400000

Set all child windows of My Computer window to right-to-left
order (For hebrew and arabic languages)

nircmd win child title "my computer"
+exstyle all 0x00400000

Create a shortcut on your desktop that closes all your Internet
Explorer windows

nircmd.exe cmdshortcut " "~$folder.desktop$
"Close All IE" win close class "IEFrame"

Create a shortcut on your desktop that hides all your Internet
Explorer windows

nircmd.exe cmdshortcut " "~$folder.desktop$
"Hide All IE" win hide class "IEFrame"

Create a shortcut on your desktop that shows back all your
Internet Explorer windows

nircmd.exe cmdshortcut " "~$folder.desktop$
"Show All IE" win show class "IEFrame"

Set the Windows Calculator as top-most window (above all other
windows)

nircmd.exe win settopmost title
"Calculator" 1

Set the Windows Calculator back to regular window (non top-most
window)

nircmd.exe win settopmost title
"Calculator" 0

Create a shortcut to Windows calculator under Start
Menu->Programs->Calculators

nircmd.exe shortcut
"f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators"
"Windows Calculator"

Hide the desktop window

nircmd.exe win hide class progman

Show the desktop window (After hiding it in previous example)

nircmd.exe win show class progman

Hide the start button on the system tray

nircmd.exe win child class
"Shell_TrayWnd" hide class "button"

Show the start button on the system tray

nircmd.exe win child class
"Shell_TrayWnd" show class "button"

Hide the clock on the system tray

nircmd.exe win child class
"Shell_TrayWnd" hide class "TrayClockWClass"

Show the clock on the system tray

nircmd.exe win child class
"Shell_TrayWnd" show class "TrayClockWClass"

Kill (terminate) all instance of Internet Explorer processes

nircmd.exe killprocess iexplore.exe

Create a shortcut on your desktop that opens the door of K:
CDROM drive when you run it.

nircmd.exe cmdshortcut "~$folder.desktop$"
"Open CDROM" cdrom open k:

Create a shortcut to NirSoft Web site on your desktop

nircmd.exe urlshortcut
"http://www.nirsoft.net" "~$folder.desktop$" "NirSoft"

Add NirSoft Web site to your Favorities under Links folder.

nircmd.exe urlshortcut
"http://www.nirsoft.net" "~$folder.favorites$\Links" "NirSoft"

Create a shortcut to NirSoft Web site on the desktop of all
computers listed in computers.txt

nircmd.exe multiremote copy
"c:\temp\computers.txt" urlshortcut "http://www.nirsoft.net"
"~$folder.common_desktop$" "NirSoft"

Set the display mode to 800x600x24bit colors

nircmd.exe setdisplay 800 600 24

Create a shortcut on the desktop that set the display mode to
800x600x24bit colors

nircmd.exe cmdshortcut "~$folder.desktop$"
"800x600x24" setdisplay 800 600 24

Copy all shortcuts on your desktop to another folder
(f:\temp\desktop).

nircmd.exe execmd copy
"~$folder.desktop$\*.lnk" f:\temp\desktop

Restart your Apache server (under Windows NT/2000/XP/2003)

nircmd.exe service restart apache

Create a shortcut on your desktop that restarts the Apache
server

nircmd.exe cmdshortcut "~$folder.desktop$"
"Restart Apache" service restart apache

Restart your IIS

nircmd.exe service restart w3svc

Restart MySql

nircmd.exe service restart MySql

Open the desired Registry key/value in RegEdit

nircmd.exe regedit
"HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"

Open the Registry key that you copied to the clipboard in
RegEdit.

nircmd regedit "~$clipboard$"

Disable the screen saver

nircmd.exe regsetval sz "HKCU\control
panel\desktop" "ScreenSaveActive" 0

Enable the screen saver

nircmd.exe regsetval sz "HKCU\control
panel\desktop" "ScreenSaveActive" 1

Change the date/time of the specified filename (creation time
and modified time)

nircmd.exe setfiletime "c:\temp\myfile.txt"
"24-06-2003 17:57:11" "22-11-2005 10:21:56"

Copy your desktop folder path to the clipboard

nircmd.exe clipboard set ~$folder.desktop$

Copy your start menu folder path to the clipboard

nircmd.exe clipboard set ~$folder.start_menu$

Copy the content of info1.txt (simple text file) to the
clipboard

nircmd.exe clipboard readfile "c:\My
Files\info1.txt"

Add the text content of clipboard to info1.txt

nircmd.exe clipboard addfile "c:\My
Files\info1.txt"

Clear the clipboard

nircmd.exe clipboard clear

Create all folders specified in "c:\temp\folders.txt". The
folder path names are separated by CRLF characters.

nircmd.exe paramsfile "c:\temp\folders.txt" ""
"" execmd md ~$fparam.1$

Install the specified .NET assembly in the global assembly cache
(like gacutil)

nircmd.exe gac install
"C:\temp\MyAssembly\bin\MyAssembly.dll"

System Requirements
This utility can work in all
32-bit Windows operating systems: Windows 9x/ME, Windows NT, Windows 2000,
and Windows XP. However, some of NirCmd commands works only on Windows
NT/2000/XP.

Versions History

Date

Version

Description

24/09/2005

1.80

New commands: exec2, cmdwait.

New options in clipboard command.

Volume commands (setsysvolume, changesysvolume, setsysvolume2,
changesysvolume2, mutesysvolume) now allows you to change the
volume of non-default sound card.

07/07/2005

1.70

New win actions: activate, hideshow, +style, -style, +exstyle,
-exstyle

New commands: movecursor, setcursor.

New command: setfilefoldertime - allows you to change the
date/time of folders, under Windows 2000/XP only.

10/06/2005

1.62

New actions in win command: focus, enable, disable

26/05/2005

1.61

new command: sysrefresh - make a general system refresh after
modifying your system settings in the Registry.

07/05/2005

1.60

New paramsfile command: Allows you to execute a command
multiple times by loading the parameters from a text file.

New actions in win command: move, center, settext.

New 'child' action in win command: Allows you to move/hide
child windows (For example: the start button in the system tray)

New clipboard command: Allows you to put a string in the
clipboard, and clear the clipboard.

New gac command: Allows you to install assemblies in Global
Assembly Cache.

28/12/2004

1.56

New variable: ~$clipboard$ - paste the text that you copied to
the clipboard into the command-line.

Parameter variables: ~$param.ParamName$ - Display an input
window for typing the text that you want insert into the
command-line.

07/12/2004

1.55

Added RegEdit command.

18/11/2004

1.54

On reg commands (regsetval, regdelval, regdelkey), you can now
also use the following abbreviated key name: HKCU for
HKEY_CURRENT_USER, HKLM for HKEY_LOCAL_MACHINE, HKCR for
HKEY_CLASSES_ROOT, HKU for HKEY_USERS, HKCC for
HKEY_CURRENT_CONFIG.

redraw action for win command.

03/11/2004

1.53

Fixed 'monitor off' problem in XP SP2.

09/10/2004

1.52

rasapi32.dll is now loaded only when using the dial commands
(rasdial, rasdialdlg, rashangup). In previous versions, NirCmd was
statically linked to rasapi32.dll, and that caused problems in old
NT systems.

29/09/2004

1.51

Variable names are now enclosed with '$' char instead of '%'
char.
I made this change because the '%' char causes problems
when running NirCmd from cmd/bat file. using the '%' char for
variable names is still supported for backward compatibility.

22/09/2004

1.50

New commands: cmdshortcut, regsvr, mutesysvolume,
changesysvolume, changesysvolume2, setsysvolume2.

New actions in win command: trans, setsize, settopmost,
ititle.

New variables: folder.nircmd, nir.exefile

nircmdc.exe - console version of NirCmd.

Changed name - from NirComLime to NirCmd.

05/05/2004

1.40

New commands: wait, setvolume, setsysvolume, execmd, exec.

New commands for executing NirCmd on remote machines: remote
and multiremote.

Folder and system variables.

New option in setfiletime command - set the file time to the
current time (now parameter)

New parameter in shortcut command - hot key.

01/03/2004

1.30

New commands: qboxcom, beep, stdbeep, cdrom, urlshortcut,
monitor, screensaver, standby, and hibernate.

Fixed the bug with ~x string sequences.

08/01/2004

1.20

New commands: setdialuplogon, script

Special string sequences (~q, ~t, ~n and so on) to allow you
to embed quotes and new line characters into the parameters of any
command.

19/11/2003

1.11

New options in shortcut command

10/10/2003

1.10

New commands: killprocess, service, memdump, win, lockws.

09/09/2003

1.00

First release.

License
This utility is released as freeware.
You are allowed to freely distribute this utility via floppy disk, CD-ROM,
Internet, or in any other way, as long as you don't charge anything for
this. If you distribute this utility, you must include all files in the
distribution package, without any modification !

Using NirCmd utility
This utility is a
standalone executable, and it doesn't require any installation process or
additional DLLs. just copy the executable to any folder you want, and run
it with the desired command-line option, according to your needs.
It's
recommended to copy the executable of NirCmd (nircmd.exe) to your windows
directory, or to any other folder listed in your PATH environment
variable, so you won't need to type the full path of nircmd in each time
that you want to use it.
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.

General Syntax Of NirCmd
nircmd.exe {showerror} [command] [command
parameters]
The showerror
parameter is optional. If you specify this parameter, an error message
will be displayed on the screen if an error is occurred during the
execution of the command. Otherwise, any error will be ignored. For
example:
nircmd.exe showerror rasdial "dial1"
nircmd.exe rasdial
"dial1"
In above 2 examples, NirCmd will try to dial with the "dial1"
entry. If the dialing process is failed on the first example, an error
message describing the problem will be displayed. If the dialing process
is failed on the second example, error message won't be displayed.

Special String Sequences
Starting from version
1.20, NirCmd allows you to insert special characters into any parameter in
NirCmd commands.
The following table describes the special string
Sequences that you can use:

Sequence

Description

~n

New line characters (CR-LF)

~q

Double-quote character: "

~t

Tab character

~xnn

Allows you to represent any character by providing its ascii
code in 2-digit Hexadecimal number.
For Example: ~x41 ('A'
character), ~x27 (single-quote character)

~$variable$

Represents a system variable. For more information about this
option, read
below

~~

Represents a single '~' character.

Example:
infobox "This is the first
line~n~qThis is a second line, in quotes~q" "Example"
The above
example displays a message-box containing 2 lines.

System Variables
Starting from version 1.40,
NirCmd provides special variables that represents folders and other
variables on your system. Each variable starts with '~' character,
followed by the variable name enclosed with '$' characters. For example:
~$folder.desktop$ represents your desktop folder.

The following table specifies the variables that you can use:

Variable Name

Description

clipboard

Represents the text that you copied into the clipboard.

param.paramname

When you specify a param variable, an input window will appear
on the screen, and will ask you to type the text for this variable.
The text that you type will be inserted into the command line.

For example: in the following command, you will be asked to type
2 parameters (1 and 2), and the text that you type will appear in
the message box.
nircmd infobox ~$param.1$ ~$param.2$

fparam.number

Sepcifies a parameter loaded from a text file. For more
information, see paramsfile
command

sys.varname

You can use this option to represent any environment variable on
your system.
For example:
~$sys.username$, ~$sys.windir$,
~$sys.computername$, ~$sys.logonserver$, ~$sys.temp$, and so on...

nir.exefile

Represents the full-path exe file of the current running NirCmd
(For example: c:\winnt\nircmd.exe)

folder.nircmd

Represents the folder the NirCmd is running from.

folder.desktop

Represents the user's desktop folder.

folder.start_menu

Represents the user's start-menu folder.

folder.programs

Represents the user's programs folder (under the start-menu
folder).

folder.startup

Represents the user's startup folder.

folder.recent

Represents the user's recent folder.

folder.favorites

Represents the user's favorites folder.

folder.cookies

Represents the user's cookies folder.

folder.appdata

Represents the user's Application Data folder. (For example:
C:\Documents and Settings\Administrator\Application Data)

folder.common_desktop

Represents the common desktop folder.

folder.common_start_menu

Represents the common start menu folder.

folder.common_programs

Represents the common programs folder.

folder.common_startup

Represents the common startup folder.

folder.common_favorites

Represents the common favorites folder.

folder.windows

Represents the windows folder. (e.g.: C:\Windows)

folder.system

Represents the system folder. (e.g.: C:\Windows\System32)

Examples:

Create a shortcut under the start menu-programs folder:
shortcut "c:\winnt\system32\calc.exe"
"~$folder.programs$\My Programs" "Calculator"

Delete a shortcut in the user's desktop:
execmd del "~$folder.desktop$\calc.lnk"

Display the current logged-on user:
infobox "The current logged-on user is
~$sys.username$" "logged-on user"

Executing NirCmd commands on remote
computers
Starting from version 1.40, you can execute all NirCmd
commands in remote computers. However, you should be aware of the
following restrictions and problems:

This option is only available for Windows NT, Windows 2000 and
Windows XP. You cannot use it on Windows 9x machines.

You must log on to the remote machine as administrator.

The Schedule service in the remote machine must be started. (By
default, the Schedule service is automatically started in all NT/2000/XP
machines, so you don't have to worry too much about this)

Due to some limitations of the Schedule service, you have to wait up
to 60 seconds until the command is actually executed in the remote
machine.

The command in the remote machine is executed under 'SYSTEM'
account, and thus some commands may not work in the same way as you
execute them locally.

There are 2 commands for executing NirCmd in remote machines:

remote
- for executing command on a single remote computer.

multiremote
- for executing command on multiple remote computers.

NirCmd Commands

Command

Syntax And Description

remote

remote {copy} [\\computer] [NirCmd command]

Executes NirCmd command in a remote computer. if {copy} parameter is specified, NirCmd
will copy itself to the Windows directory of the remote machine. You
must specify this parameter if NirCmd doesn't exist in the Windows
directory of the remote machine.
Examples:

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]
Executes NirCmd command in multiple remote machines.
if {copy} parameter is specified,
NirCmd will copy itself to the Windows directory of the remote
machines. You must specify this parameter if NirCmd doesn't exist in
the Windows directory of the remote machines.
The [computers file] parameter is a file that
contains the computers list separated by Enter characters (CRLF).

Example for computers list file:
\\comp1
\\comp2
\\winxp1
\\winxp2
\\nirsoft

The command specified in [NirCmd
command] will be executed in all computers specified in the
computers file.
Examples:

Turn off all computers specified in computers.txt
multiremote "c:\temp\computers.txt" exitwin
poweroff force

Lock all computers specified in computers.txt
multiremote "c:\temp\computers.txt" lockws

Copy NirCmd to all computers specified in computers.txt, and
then turn off their monitors.
multiremote copy "c:\temp\computers.txt" monitor
off

Copy NirCmd to all computers specified in computers.txt, and
run WinUpdatesList utility in order to save Windsows Updates info
in all computers.
multiremote copy
"c:\temp\computers.txt" exec hide c:\temp\wul.exe /shtml
"c:\temp\wul_~$sys.computername$.html"

cmdwait

cmdwait [Number of Milliseconds] [NirCmd
Command]
Wait the specified number of Milliseconds, and then
execute the specified NirCmd command.

Example:
cmdwait 1000 monitor off

paramsfile

paramsfile [Parameters File] [Delimiters]
[Quote Character] [NirCmd Command]
This powerfull command
allows you to execute NirCmd Command multiple times, by loading one
or more parameters from a text file. The text file can be
comma-delimited, tab-delimited, semicolon-delimited, or delimited by
any char that you specify in [Delimiters] parameter.

Here's an example... Let's say that you have the following text
file, containing user names and passwords, delimited by comma:

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

The following NirCmd commands sequence will create 4 users with
the specified user-names and passwords (by using 'net user' command
provided by Windows 2000/XP operating system)
nircmd.exe
paramsfile "c:\temp\users.txt" "," "" execmd net user ~$fparam.1$
~$fparam.2$ /add

The ~$fparam.1$ specifies the first entry in each line - the user
name. The ~$fparam.2$ specifies the second entry in each line - the
password.

Examples:

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]
Displays
a simple message box on the screen.
Example:
infobox "This is a message box !" "message"

qbox

qbox [message text] [title] [program to run]

Displays a question dialog-box on the screen. If the user
answers "Yes", run a program
Example:
qbox "Do you want to run the calculator ?"
"question" "calc.exe"

qboxcom

qboxcom [message text] [title] [NirCmd
Command]
Displays a question dialog-box on the screen. If the
user answers "Yes", execute the NirCmd command in the third
parameter.
Examples:
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]
This command
allows you to execute a sequence of commands stored inside the file
specified in [Script File]
parameter.
Example:
script
"c:\temp\msg.ncl"
Example for a script:
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]
Opens
RegEdit with the specified key/value.
Examples:
regedit
"HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"

regedit "HKEY_CURRENT_USER\Control Panel\Desktop" "Wallpaper"

regsetval

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

Writes a value to the Registry. the [type] parameter can be "sz" or
"expand_sz" for strings, "dword" for 32-bit number, or "binary" for
binary data. If the key you specify in [key] parameter doesn't exist, it'll
automatically be created.
Examples:
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]
Deletes a value
from the Registry.
Example:
regdelval "HKEY_CURRENT_USER\Software\Test"
"Value1"

regdelkey

regdelkey [key]
Deletes entire key from
the Registry. This command will failed if the specified key has one
or more subkeys.
Example:
regdelkey
"HKEY_CURRENT_USER\Software\Test"

inisetval

inisetval [INI filename] [section] [key]
[value]
Writes a value into INI file. If the file doesn't
exist, it'll automatically be created.
Example:
inisetval "c:\windows\test.ini" "section1"
"TestValue" "1"

inidelval

inidelval [INI filename] [section] [key]

Deletes a key-value pair inside INI file.
Example:

inidelval "c:\windows\test.ini"
"section1" "TestValue"

inidelsec

inidelval [INI filename] [section]

Deletes entire section in INI file, including all values in it.

Example:
inidelsec
"c:\windows\test.ini" "section1"

regsvr

regsvr [reg or unreg] [filename or wildcard]
{log file}
Register or unregister DLL/OCX files.
In the
first parameter, specify "reg" for registering files, or "unreg" for
unregistering files.
In the second parameter, you can specify a
single file that you want to register or unregister, or multiple
files, by using wildcard.
The third parameter is optional, and
specifies a log filename for saving the results of the registering
operation.
Examples:
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}
Dials to RAS entry (VPN or phone
line), without displaying any user interface. Except the [Entry
Name] parameter, all other parameters are optional. If you don't
specify the optional parameters or you specify empty string (""),
the default values are used.
Examples:
rasdial "My Internet"
rasdial "VPN1" ""
"user1" "abc1234" "domain1"

inetdial

inetdial [Entry Name]
Dials to RAS
entry (VPN or phone line), and display informational dialog-box
during the dialing process.
This command is only supported If
Internet Explorer version 4.0 or greater is installed. Be aware that
this command might not work on old versions of Windows 98.

Examples:
inetdial "VPN1"

rasdialdlg

rasdialdlg [Entry Name] {Phonebook File}
{Phone Number or IP Address}
Displays a RAS entry for dialing.
The {Phonebook File} and {Phone Number} parameters are optional.
If you don't specify the {Phonebook
File} parameter or you specify an empty string ,the default
phonebook is used.
This command is only supported on Windows NT,
Windows 2000, and Windows XP. It's not supported on Windows 98/ME.

Examples:
rasdialdlg "Internet1" ""
"9876543"
rasdialdlg "VPN1"

rashangup

rashangup [Entry Name]
Hangs up a RAS
connection. You can use this command to disconnect a connection that
you previously created with inetdial or rasdial commands.

Examples:
rashangup "VPN1"

setdialuplogon

setdialuplogon [Entry Name] [User Name]
{Password} {Domain} {Phonebook File}
Modifies the user name,
password and domain of a dial-up item.
The parameters:

[Entry Name]: The name of the
dial-up entry

[User Name]: The user-name to
set into the specified dial-up entry.

{Password}: The password to
set into the specified dial-up entry.

{Domain}: The domain name to
set into the specified dial-up entry.

{Phonebook File}: The
phonebook file containing the entry you want to change. If you
don't specify this parameter, the default phonebook is used.

Examples:
setdialuplogon
"VPN1" "user1" "asder443" "domain1"
setdialuplogon "Internet1"
"nirs3" "q5r4df7yh5"

exitwin

exitwin [shutdown type] {additional option}

This command terminates the current session of Windows. The
[shutdown type] parameter can be
one of the following values:

logoff: Shut down all running
processes, log off the current user, and display the log on dialog
to allow another user to log into the system.

reboot: Shut down the entire
system, and then reboot.

poweroff: Shut down the entire
system, and then turn off the power. (Only for systems that
support this feature !)

shutdown: Simply shut down the
entire system, without reboot and without turning the power off.

You can also use one of the following additional options:

force: Forces all applications to
terminate immediately. Using this option can caused the current
running application to lose data. Use it only in extreme cases !

forceifhung: Forces applications
to terminate if they are not responding. This option is only
available in Windows 2000/XP.

Examples:
exitwin reboot
exitwin poweroff
force
exitwin logoff forceifhung

initshutdown

initshutdown {message} {timeout value in
seconds} {force} {reboot}
Initiate a system shutdown. This
command is somewhat similar to exitwin command, but it has some
other features that exitwin doesn't support. This command is not
supported on Windows 95/98/ME. All parameters of this command are
optional. If you don't specify any parameter, the system shutdown is
initiated without displaying message and without waiting.
The
parameters:

{message}: The message to
display before starting the system shut down.

{timeout value in seconds}:
The number of seconds to wait before starting the system shut
down.

{force}: Forces all
applications to terminate, even without saving your work.

{reboot}: Reboot after the
system shutdown.

Examples:
initshutdown "shutting down the system within
60 seconds" 60 reboot
initshutdown "" 0 force

abortshutdown

abortshutdown
Abort the system shutdown
that initiated with initshutdown command. This command doesn't
accept any additional parameters.
Example:
abortshutdown

lockws

lockws
Lock the workstation. After
locking your workstation, you must type your password in order to
continue your work. This command is only available on Windows 2000
and Windows XP.

monitor

monitor [action]
Changes the state of
the display monitor. The [action]
parameter may contain the following values:

off: Turn off the monitor

on: Turn on the monitor

low: Set the monitor to low power
state.

This command only works in systems that support
this feature.
Examples:
monitor
off
monitor on

screensaver

screensaver
Starts the default screen
saver.

standby

standby {force}
Shuts down the computer
and puts it in 'standby' mode. If the {force} parameter is specified, the
system is forced to go into standby mode without asking for
permission from all applications. Generally, it's not recommended to
use this parameter.
This command works only in systems that
supports standby mode.
Example:

standby force
standby

hibernate

hibernate {force}
Shuts down the
computer and puts it in 'hibernate' mode. If the {force} parameter is specified, the
system is forced to go into hibernate mode without asking for
permission from all applications. Generally, it's not recommended to
use this parameter.
This command works only in systems that
supports hibernate mode.
Example:

hibernate force
hibernate

shortcut

shortcut [filename] [folder] [shortcut
title] {arguments} {icon file} {icon resource number} {ShowCmd}
{Start In Folder} {Hot Key}
Creates a shortcut to a file.

The parameters:

[filename]: Create a shortcut
to this filename.

[folder]: Specify the
destination folder that inside it the shortcut will be created.
You can specify any valid folder, including the special variables
that represent system folders, like ~$folder.desktop$ (Desktop
folder), ~$folder.programs$ (Start-Menu-Programs folder), and so
on...

[shortcut title]: The text
displayed in the shortcut.

{arguments}: Optional
parameter - Additional arguments to execute the filename.

{icon file}: Optional
parameter - Use this parameter if your want that the shortcut will
be displayed with icon other than the default one.

{icon resource number}:
Optional parameter - The resource number inside the icon file.

{ShowCmd}: Optional parameter
- Use this parameter if you want to maximize or minimize the
window of the program. Specify "max" to maximize the window or
"min" to minimize it.

{Start In Folder}: Optional
parameter - Specifies the "Start In" folder. If you don't specify
this parameter, the "Start In" folder is automatically filled with
the folder of the program you specify in [filename] parameter.

{Hot Key}: Optional parameter
- Specifies an hot-key that will activate the shortcut. For
example: Alt+Ctrl+A, Alt+Shift+F8, Alt+Ctrl+Shift+Y

Examples:
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]
Creates a shortcut to NirCmd command. When you
activate the shortcut (by doubleclicking it), The command that you
specify in [command] parameter will
be executed.
Example:
cmdshortcut
"~$folder.desktop$" "Open CDROM" cdrom open k:
cmdshortcut
"c:\temp" "Turn Monitor Off" monitor off

urlshortcut

urlshortcut [URL] [Folder] [Shortcut Title]

Creates a shortcut to URL address. (Like the shortcuts in
Favorities of Internet Explorer) The [Folder] parameter specifies the
destination folder that inside it the shortcut will be created. If
you want to create the shortcut inside your default Favorities
folder, use ~$folder.favorites$ variable.
Examples:
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]
Runs an application, and optionally specify one
or more command-line parameters for the executed application. The
[show/hide] parameter specifies
whether the running application will be visible or not. If 'hide' is
specified, the running application won't be visible to the user.

Example:
exec show
"f:\winnt\system32\calc.exe"
exec hide "c:\temp\wul.exe"
/savelangfile

exec2

exec2 [show/hide] [working folder]
[application + command-line]
Similar to exec command, but also
provide another parameter, [working folder], that specifies the
default working folder for the application that you run.

Example:
exec2 show
"f:\winnt\system32" "f:\winnt\system32\calc.exe"
exec2 hide
c:\temp "c:\temp\wul.exe" /savelangfile

execmd

execmd [command]
Executes a command of
Command-Prompt (Console Window) without displaying anything on the
screen.
Examples:
execmd del
"~$folder.desktop$\calc.lnk"
execmd mkdir f:\temp\desktop1

execmd copy "~$folder.desktop$\*.lnk" f:\temp\desktop

shexec

shexec [operation] [filename]
Opens or
Prints a filename according to the definition of the file extension
in the Registry. For example: a filename with .doc extension will be
opened with MS-Word, a filename with .html extension will be opened
with your default browser. If you specify a valid web site address,
the Web site will be opened in your default browser. the [operation] parameter can be "open" or
"print".
Examples:
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}
Changes the
Created/Modified/Accessed date of one or more files. The first
parameter can be a single filename or wildcard string. The dates
parameters must be specified in the following format: "dd-mm-yyyy
hh:nn:ss" if a date parameter is not specified or you specify an
empty string (""), the date won't be changed. If you specify "now"
as date parameter, the current date and time will be used

Examples:
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}

Changes the Created/Modified/Accessed date of one or more
files/folders. This command is very similar to setfiletime command.
The only difference is that setfilefoldertime command can also
change the date of a folder - only under Windows 2000/XP.

Examples:
setfilefoldertime
"c:\temp\myfolder" "10-01-2003 11:22:12" "12-11-2002 02:34:11"

setfilefoldertime "c:\temp\myfolder" now now

setdisplay

setdisplay [width] [height] [color bits]
{-updatereg} {-allusers}
Changes your display settings. The
[width] and [height] parameters represents the number
of pixels on your screen. The [color
bits] parameter represents the number of colors shown on your
screen (8 - 256 color, 16 - 16bit color, 24 - 24bit color, and so
on). If you specify the {-updatereg} parameter, the new settings
will be saved in the Registry. If you specify both {-updatereg} and {-allusers} parameters, the new settings
will be saved in the Registry for all users.
Example:
setdisplay 800 600 24 -updatereg

setdisplay 1024 768 8

killprocess

killprocess [process]
Terminates the
specified process. In the [process]
parameter, you can specify the full path of the process filename
(e.g: 'C:\Program Files\Internet Explorer\iexplore.exe') or the name
of the process only, without the path (e.g.: iexplore.exe). You can
also specify the Process ID, by adding the '/' character as a prefix
(e.g. /1120).
Examples:
killprocess
iexplore.exe
killprocess "c:\winnt\system32\calc.exe"

killprocess /1830

memdump

memdump [process] [dump file] [bytes per
line] {bytes to read} {start address} {nohex} {noascii}
Reads
the memory of process according to the parameters you specify, and
writes it into a text file.
The parameters:

[process]: The process that
you want to dump its memory. You can specify the full path of the
process filename, the process name only, or the Process ID - by
adding the '/' chararcter as prefix (e.g.: /520)

[dump file]: The filename to
save the memory content of the specified process.

[bytes per line]: Number of
memory bytes per line in the saved dump file.

{bytes to read}: Number of
bytes to read.

{start address}: Start the
dumping process from this memory address.

{nohex}: Optional. If you
specify this parameter, the memory data won't be saved in
Hexadecimal format.

{noascii}: Optional. If you
specify this parameter, the memory data won't be saved in Ascii
format.

Examples:
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]

Changes the status and the startup type of services and
drivers.
The parameters:

{\\Computer}: Optional.
Specifies the name of the remote computer. If you omit this
parameter, the local computer is used.

[action]: The action you want
to do. This parameter may contain one of the following values:

start: Starts the specified
service or driver.

stop: Stops the specified
service or driver.

pause: Pauses the specified
service or driver.

continue: Continues the
specified service or driver.

restart: Stops and then starts
again the specified service or driver.

auto: Changes the startup type
of the specified service or driver to Automatic.

manual: Changes the startup type
of the specified service or driver to Manual.

disabled: Changes the startup
type of the specified service or driver to Disabled.

boot: (Only for drivers) Changes
the startup type of the specified driver to 'Boot'.

system: (Only for drivers)
Changes the startup type of the specified driver to 'System'.

[service name]: The name of
the service or driver.

Examples:
service start schedule
service \\remote
stop schedule
service restart w3svc

win

win [action] [find] [window to find]
[Additional Parameters]
For child windows:

win child [find] [top window to find]
[action] [find] [child window to find] [Additional Parameters]

This command allows you to close, hide, show, maximize, and
minimize the specified window.
The parameters:

[action]: The action you want
to do on the specified window:

child: Allows you to make an
action on child window of the specified top-level window.

close: Closes the specified
windows.

hide: Hides the specified
windows.

show: Shows again the specified
windows. (after hiding it with 'hide' command)

hideshow: Hides the specified
windows and then shows it again. You can use this action to
repaint the content of a window.

activate: Bring the specified
window to the front.

max: Maximizes the specified
windows.

min: Minimizes the specified
windows.

normal: Restores the specified
windows to normal state, after minimizing or maximizing them.

trans: Make the specified
windows transparent. the value in [Additional Parameters] is a number
between 0 and 255 that specifies the transparency level. 0 =
completely transparent. 255 = completely opaque.

setsize: Set the size of the
specified windows. the values in [Additional Parameters] specifies the
desired window size - x, y, width, height.

move: move/resize the window.
the values in [Additional
Parameters] specifies the number of pixels to
move/change: x, y, width, height.

center: Center the specified
windows.

settopmost:Set the top-most
state of the specified windows. If the value in [Additional Parameters] is 1, the
specified windows will become top-most windows, if the value is
0, the top-most state will be canceled.

redraw: Redraw the specified
windows.

settext: Modify the
caption/title of the specified windows.

focus: Set the focus to the
specified window.

disable: Disable the specified
window.

enable: Enable the specified
window.

+style: Add style bits to the
specified window. The value of [Additional Parameters] specifies the
style bits to add.

-style: Remove style bits from
the specified window. The value of [Additional Parameters] specifies the
style bits to remove.

+exstyle: Add extended style
bits to the specified window. The value of [Additional Parameters] specifies the
extended style bits to add.

-exstyle: Remove extended style
bits from the specified window. The value of [Additional Parameters] specifies the
extended style bits to remove.

[find]: The method to find
the window

handle: Finds the desired window
by specifying the handle of the window in [window to find] parameter.

id: Finds the desired child
window by specifying the id of the child window. Useful only for
child windows.

class: Finds the desired window
by specifying the class name of the window in [window to find] parameter.

title: Finds the desired window
by specifying the exact title of the window in [window to find] parameter.

stitle: Finds the desired window
by specifying the first few characters of the window in [window to find] parameter.

ititle: Finds the desired window
by specifying a sequence of characters that exists in the window
title.

alltop: All top windows.

[window to find]: Specifies
the window by handle, class name, or title, according to the value
of the previous parameter.

Examples:
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

cdrom

cdrom [action] {drive:}
This command
allows you to open and close the door of your CD-ROM drive. The
[action] parameter can be 'open' or
'close'. If you don't specify the {drive:} parameter, the default CD-ROM
will be used.
Examples:
cdrom open

cdrom close
cdrom open J:
cdrom close R:

clipboard

clipboard [Action] [Parameter]
Allows
you to set a value into the clipboard and clear the clipboard.

[Action] may contain one of the following values:

set - set the specified text into
the clipboard.

readfile - set the content of the
specified text file into the clipboard.

clear - clear the clipboard.

writefile - write the content of
the clipboard to a file. (text only)

addfile - add the content of the
clipboard to a file. (text only)

Examples:
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]
Allows you to
install an assembly in the Global Assembly Cache.
Examples:

gac install
"C:\temp\MyAssembly\bin\Release\6\MyAssembly.dll"

beep

beep [Frequency] [Duration]
Plays a
beep. The [Frequency] parameter
specifies the frequency, in hertz. The [Duration] parameter specifies the
duration of the sound in milliseconds. Under Windows 95/98/ME, the
above parameters are ignored, and only a standard Windows beep is
played.
Example:
beep 500 2000

stdbeep

stdbeep
Plays the standard beep of
Windows.
Example:
stdbeep

setvolume

setvolume [device] [left-volume]
[right-volume]
Set the volume level of your sound device. The
[device] parameter represents the
device identifier. In most cases, you should use '0' value for this
parameter. The [left-volume] and
[right-volume] parameters should
contain a value between 0 (silence) and 65535 (full volume) that
represents the volume level for left and right channels.

Examples:
setvolume 0 0 0

setvolume 0 32768 32768
setvolume 0 0xffff 0

setsysvolume

setsysvolume [volume] {Component} {Device
Index}
Set the sound volume for your system. Changing this
value also affects the sound volume settings under 'Control Panel'.
The [volume] parameter should
contain a value between 0 (silence) and 65535 (full volume).

{Component} is an optional
parameter that specifies one of the following sound components:
master, waveout, synth, cd, microphone, phone, aux, line,
headphones, wavein. The default value is 'master' (for master
volume)
{Device Index} is an
optional parameter that specifies the sound device index. The
default value is 0. This parameter is useful if you have more than
one sound card.
Examples:
setsysvolume 0x8000
setsysvolume 0

setsysvolume 25000 waveout
setsysvolume 25000 master 1

setsysvolume2

setsysvolume2 [left volume] [right volume]
{Component} {Device Index}
Similar to setsysvolume, but instead
of setting the whole sound volume, setsysvolume2 set the right
channel and left channel separately.
Examples:
setsysvolume2 10000 20000
setsysvolume2
30000 0
setsysvolume2 25000 15000 waveout
setsysvolume2
30000 0 master 1

changesysvolume

changesysvolume [volume change] {Component}
{Device Index}
Increases or decreases the system volume. the
[volume change] parameter specifies
the number of volume units to increase or decrease (negative value
to decrease, positive value to increase).
{Component} is an optional parameter that
specifies one of the following sound components: master, waveout,
synth, cd, microphone, phone, aux, line, headphones, wavein. The
default value is 'master' (for master volume)
{Device Index} is an optional parameter
that specifies the sound device index. The default value is 0. This
parameter is useful if you have more than one sound card.

Examples:
changesysvolume 5000

changesysvolume -3000
changesysvolume 0x1000 waveout

changesysvolume 0x1000 master 1

changesysvolume2

changesysvolume2 [left volume change] [right
volume change] {Component} {Device Index}
Similar to
changesysvolume, but instead of changing the whole sound volume,
changesysvolume2 changes the left channel and the right channel
separately.
Examples:
changesysvolume2 1000 -1000

changesysvolume2 -3000 0
changesysvolume2 0 -5000 waveout

changesysvolume2 -3000 0 master 1

mutesysvolume

mutesysvolume [action] {Component} {Device
Index}
Mute/unmute the system volume.
In the [action] parameter, specify 1 for mute, 0
for unmute, or 2 for switching between mute and normal state.

The second parameter is optional, and you can specify one of the
following sound components: master, waveout, synth, cd, microphone,
phone, aux, line, headphones, wavein. The default value is 'master'
(for master volume)
{Device
Index} is an optional parameter that specifies the sound
device index. The default value is 0. This parameter is useful if
you have more than one sound card.
Examples:
mutesysvolume 1
mutesysvolume 0

mutesysvolume 2 waveout
mutesysvolume 1 master 1

wait

wait [milliseconds]
Simply wait the
specified number of milliseconds.
Examples:
wait 1000
wait 500

sysrefresh

sysrefresh {Refresh Type}
Initiate a
general system refresh. You can use this command to refresh your
system after changing your system settings in the Registry (e.g:
changing desktop icons size, environment variables, and so on..)
{Refresh Type} is optional. You can specify one of the following
values: "environment" - for refreshing the environment variables,
"policy" - for policy settings, "intl" for locale settings.

Examples:
sysrefresh
sysrefresh
environment
sysrefresh policy

setcursor

setcursor [X] [Y]
Set the position of
mouse cursor. The [X] and [Y] parameters specifies the desired
cursor position.
Example:
setcursor
100 50

movecursor

movecursor [X] [Y]
move the mouse
cursor. The [X] and [Y] parameters specifies the number of
pixels to move. Example:
movecursor 10
10

Feedback
If you have any problem, suggestion,
comment, or you found a bug in my utility, you can send a message to [email-masked]

Download NirCmd