| | | | NirCmd v2.87 Copyright (c) 2003 - 2024 Nir Sofer |
See Also
DescriptionNirCmd is a small command-line utility that allows you to do some useful tasks withoutdisplaying any user interface. By running NirCmd with simple command-line option, you canwrite and delete values and keys in the Registry, write values into INI file, dial to yourinternet 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 displaysettings, turn off your monitor, open the door of your CD-ROM drive, and more...
Examples of what you can do with NirCmdOpen 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: | Speaks the text currently in the clipboard (For Windows XP/Vista/7/8). | speak text ~$clipboard$ | Speaks the text stored inside speak.txt into speak.wav filename (For Windows XP/Vista/7/8). | speak file "c:\temp\speak.txt" 0 100 "c:\temp\speak.wav" 48kHz16BitStereo | 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 areseparated 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" | Empty the recycle bin in all drives. | nircmd.exe emptybin | Answer 'Yes' to a standard Windows message-box. | nircmd.exe dlg "" "" click yes | Wait 2 seconds, and then save the current screen to shot.png | nircmd.exe cmdwait 2000 savescreenshot "f:\temp\shot.png" | Save 10 screenshots in a loop, and wait 60 seconds between the screenshot save calls.The filenames of the screenshot will contain the time and date of the saved screenshot. | nircmd.exe loop 10 60000 savescreenshot c:\temp\scr~$currdate.MM_dd_yyyy$-~$currtime.HH_mm_ss$.png | Wait until Firefox is closed, and then say "Firefox was closed" | nircmd.exe waitprocess firefox.exe speak text "Firefox was closed" | Run RegEdit with SYSTEM user (On Windows 7/8/Vista/2008), which allows you to view all hidden system Registry keys | nircmd.exe elevatecmd runassystem c:\windows\regedit.exe |
System RequirementsThis utility can work in all versions of Windows operating system: Windows 9x/ME, Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8, and Windows 10.Versions HistoryDate | Version | Description |
---|
23/04/2024 | 2.87 | - Added ~$folder.localappdata$ variable.
- Fixed the ~$folder.common_programfiles$ variable to use the correct folder (In previous versions it was identical to ~$folder.programfiles$ )
| 01/08/2019 | 2.86 | - Fixed bug: elevate and other commands failed to work properly when there were many parameters after the command.
| 23/06/2019 | 2.85 | - The runinteractive and runinteractivecmd commands now work properly even if you don't run them from a Windows service.
- Fixed bug: The behvaiour of consolewrite command was unexpected when there was '%' character.
| 22/04/2019 | 2.84 | - Fixed to work again on Windows 98/2000.
| 19/04/2019 | 2.83 | - Added runinteractive and runinteractivecmd commands, which allows you to run a process or NirCmd command that accesses the GUI from a Windows service.
- For example, if you try to use the savescreenshot command from a Windows service, you'll get a black image, because NirCmd cannot access the user interface from a Windows service.
- You can solve this problem with runinteractivecmd command: nircmd.exe runinteractivecmd savescreenshot "c:\temp\screenshot1.png"
- Be aware that runinteractive and runinteractivecmd commands only work from a Windows service ('SYSTEM' user).
| 22/03/2019 | 2.82 | - Fixed the savescreenshot or savescreenshotfull commands to work properly with DPI scaling.
| 23/05/2016 | 2.81 | - Fixed bug: NirCmd failed to execute the cmdwait, loop and a few other commands after qboxcom and qboxcomtop commands.
| 30/01/2016 | 2.80 | - Fixed bug: clipboard readfile failed to read the last character of Ascii file.
- Added writeufile and addufile to clipboard command, for writing files in Unicode.
- Fixed the restartexplorer command to work properly on Windows 10.
| 10/08/2013 | 2.75 | - Added new commands: moverecyclebin, suspendprocess , resumeprocess.
- Added etitle option to the find parameter of win command.
- 'clipboard readfile' command now reads Unicode files (UTF-8 and UTF-16).
| 29/10/2012 | 2.71 | - Added runassystem command, which allows you to run a process with SYSTEM user (Works on Windows 7/8/Vista/2008)
| 12/09/2012 | 2.70 | - Added new option to speak command: You can now save the entire speach into a .wav file that can be played with anymedia player (Instead of playing it directly to your sound card).
- Added restartexplorer command, which simply restarts Windows Explorer gracefully.
- Added screensavertimeout command, which allows you to set the screensaver timeout, in seconds.
- Added togglemax, togglemin, togglehide, toggledisable actions to win command.
- Added SystemSounds support for setappvolume, changeappvolume, and muteappvolume commands.
- Fixed issue on Windows 7: 'win close alltopnodesktop' command caused a shutdown dialog-box to appear.
- Fixed the setprimarydisplay to work properly.
| 28/06/2011 | 2.65 | - Added setdefaultsounddevice command (for Windows 7/Vista/2008 only), whichallows you to set the default sound device.
- Added setsubunitvolumedb command (for Windows 7/Vista/2008 only), whichallows you to set the volume of sound device subunits (Line In, Microphone, and so on)
- Added mutesubunitvolume command (for Windows 7/Vista/2008 only), whichallows you to mute/unmute the volume of sound device subunits (Line In, Microphone, and so on)
| 21/06/2011 | 2.60 | - Added mediaplay command for playing audio file (.mp3, .wav, and so on) for thespecified number of milliseconds.
- Added changebrightness and setbrightness commands for setting thescreen brightness on laptops and netbook computers.
| 08/06/2011 | 2.55 | - On savescreenshot, savescreenshotfull, and savescreenshotwin commands,you can now specify *clipboard* as a filename, in order to save the screenshow into the clipboard
- On savescreenshot command, you can now specify a rectangle to capture as x, y, width, and height instead of capturing the entire screen.
- Fixed savescreenshotfull command to work properly on multiple screen system with negative coordinates.
| 27/03/2011 | 2.52 | - Added 'runas' command, which allows you to run a new process with the specified user name/password.
- Added 'Flash' action to the win command, with allows you to flash the specified window.
| 13/03/2011 | 2.51 | - Added 'focused' option for setappvolume, changeappvolume, and muteappvolume commands, which allow you to easilychange the volume of the application that is currently in focus, on Windows 7/Vista/2008.
- Added 'default_record' option for setsysvolume, changesysvolume, setsysvolume2, changesysvolume2, and mutesysvolume commands, which allows you set easilychange the volume of default recording device, on Windows 7/Vista/2008.
| 24/02/2011 | 2.50 | - Added 3 new sound volume commands to change or mute application volume on Windows 7/Vista/2008:setappvolume, changeappvolume, muteappvolume
- Added new information command that shows you a message box with all sound devices on your Windows 7/Vista/2008 system:showsounddevices.
| 22/02/2011 | 2.48 | - Fixed the problems with the timeout of the tray balloon in trayballoon command.
| 20/01/2011 | 2.47 | - Fixed bug: The sendkeypress command didn't work properly with Fxx keys (F1, F2, and so on).
| 28/11/2010 | 2.46 | - Added option to locate window by process in win command.
- Added max and min options (Minimized and maximized windows) into exec and exec2 commands.
- Added x64 builds of nircmd.exe and nircmdc.exe
| 18/10/2010 | 2.45 | - Added trayballoon command - displays a tray balloon with your desired text and icon.
- Added sendkeypress command - Alternative to the sendkey command. Allows you to send key presscombination in much easier way, for example: sendkeypress ctrl+shift+esc
- Added clonefiletime command to clone the date/time of existing file into one or more files.
- Added setconsolemode command to set the console display mode - window or full screen.
- Added setconsolecolor command to set the foreground and background colors of the console text.
- Added consolewrite command to write text into the console window.
- Added debugwrite for writing text into the debug output.
- Added ~$folder.mydocuments$ variable.
| 21/02/2010 | 2.41 | - Fixed a bug in elevate command: when running a program without parameters, NirCmd sent the elevate command string as a parameter of the program.
| 16/02/2010 | 2.40 | - Added elevate and elevatecmd commands to run and execute commands with administrator rights under Windows 7/Vista/2008.
- Added monitor parameter to setdisplay command, for using it with multiple monitors.
- Added setprimarydisplay command.
- Added folder.programfiles and folder.common_programfiles variables.
- Added async_off, async_on, async_low for monitor command. You can try them if NirCmd.exe remains in memory when you use monitor on/off command.
| 26/05/2009 | 2.37 | - Improved the help .chm file - Now it contains a link to every command.
- Added help command - Automatically opens the reference of the desired command inhttp://nircmd.nirsoft.net.For example, if you type 'nircmd.exe help speak', the reference page of speak command -http://nircmd.nirsoft.net/speak.html will be opened in your default browser.
| 19/05/2009 | 2.36 | - Fixed bug in script: Sometimes the last line in the script was not executed properly.
| 20/04/2009 | 2.35 | - Added loop command - execute a command multiple times.
- Added currtime and currdate variables.
- waitprocess - Added option to execute a NirCmd command after the process was closed.
- Added rem (or ;) command, just for adding remarks in a script.
| 01/04/2009 | 2.30 | - Added speak command - Speaks the contents of the text or file that you specify, by using the Speech library (SAPI) that comes with Windows XP and Windows Vista.
- Added savescreenshotfull command.
| 02/02/2009 | 2.25 | - New actions for clipboard command - loadclp and saveclp (load/save in Windows .clp format)
- New command: setprocessaffinity
| 01/01/2009 | 2.20 | - New commands: waitprocess, setprocesspriority, qboxtop, qboxcomtop.
- New action in clipboard command: copyimage (Copy image file to the clipboard)
| 25/06/2008 | 2.15 | - New commands: setcursorwin, savescreenshotwin, filldelete
| 12/04/2008 | 2.10 | - New commands: shellcopy, savescreenshot
| 09/02/2008 | 2.05 | - New commands: shellrefresh, convertimage, convertimages
- New option in clipboard command - saveimage
| 16/06/2007 | 2.00 | - All sound volume commands and monitor command now works under Vista.
- New commands: dlg, dlgany, sendkey, sendmouse, returnval
- New actions in win command - dlgclick, dlgsettext, dlgsetfocus
| 24/07/2006 | 1.85 | - New command: cmdshortcutkey
| 15/07/2006 | 1.84 | - Starting from this version, if you don't specify a sound device index in setsysvolume, changesysvolume, setsysvolume2, changesysvolume2 and mutesysvolume commands, the default sound device in control panel ("preferred device") is used.
- New find options in win command: active, foreground, desktop
| 20/05/2006 | 1.83 | - Fixed bug with parameter variables: parameter dialog-box appear more than once.
- New find option in Win command: alltopnodesktop
| 18/02/2006 | 1.82 | - New win actions: postmsg and sendmsg.
- New command: closeprocess
- NirCmd now returns a non-zero value on error.
| 19/11/2005 | 1.81 | - New command: emptybin - Empty the Recycle Bin.
- New optional parameter in setdisplay command: refresh rate.
- rashangup command without parameter - disconnect all active connections.
| 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. |
LicenseThis 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 inthe distribution package, without any modification ! | |
|