- 25 Run Commands in Windows You Should Memorize
- How to open the Run dialog?
- #1. Access System Configuration — “msconfig”
- #2. Access Resource Monitor — “resmon”
- #3. Open System Information — “msinfo32”
- #4. Access Backup and Restore window — “sdclt”
- #5. Access mouse properties — “main.cpl”
- #6. Open Windows Registry — “regedit”
- #7. Access System Properties — “sysdm.cpl”
- #8. Manage Windows Power options — “powercfg.cpl”
- #9. Open Windows Features — “optionalfeatures”
- #10. Open Magnifier — “magnify”
- #11. Open Character Map app — “charmap”
- #12. Access Network Connections — “ncpa.cpl”
- #13. Run Malicious Software Removal Tool — “mrt”
- #14. Open Device Manager — “devmgmt.msc”
- #15. Manage User Accounts — “netplwiz”
- #16. Open Services app — “services.msc”
- #17. Access Programs and Features window — “appwiz.cpl”
- #18. Open Control Panel — “control”
- #19. Open current user folder — “.” (period)
- #20. Open On-Screen Keyboard — “osk”
- #21. Open Snipping Tool — “snippingtool”
- #22. Open Windows Memory Diagnostic — “mdsched”
- #23. Open any website — “Insert website URL”
- #24. Open Remote Desktop Connection — “mstsc”
- #25. Open Command Prompt — “cmd”
- Wrapping up
- Windows Performance Toolkit
- Windows Performance Toolkit components
- Windows Performance Recorder
- Windows Performance Analyzer
- About Performance Counters
- Getting Started
- Concepts
- Performance API Architecture
- Developer audience
- Run-time requirements
25 Run Commands in Windows You Should Memorize
Using Run commands in Windows is a very efficient way to access different Windows settings and apps directly.
If you memorize Run commands, you can access a particular app in just 2 steps instead of many clicks.
I personally don’t like frequently reaching out for the mouse; therefore, I have memorized all the required keyboard shortcuts and commands to minimize my interaction with the mouse. And Run commands are core for my day-to-day PC usage to accesses different Windows settings and apps efficiently.
If you are looking to be productive, then I will recommend you to memorize Run commands. To get you started, I will list some of the frequently used commands that I find most useful for day-to-day use.
How to open the Run dialog?
To use Run commands, you need to know how to open the Run dialog to enter the commands. There are two ways to access the Run dialog in Windows 10.
You can either press the Windows+R keys on the keyboard or right-click on the start menu and select Run from the menu.
I will recommend you to use the keyboard shortcut as it’s much faster and you won’t have to use the mouse. Once the Run dialog is open, enter any of the below mentioned commands and press the Enter key or click on the OK button to execute it.
#1. Access System Configuration — “msconfig”
Starting with my favorite command, the System Configuration window consists of multiple tabs to manage boot settings and background services.
If you have a dual boot setup or often need to access safe mode, you will often need to access these settings. Don’t forget to check its Tools section for convenient access to some of the most powerful Windows tools.
#2. Access Resource Monitor — “resmon”
A very powerful app to see real-time information about your system resources like CPU, RAM, disk, and network. For any computer hanging or performance-related issues, this is the best tool to get the information you need.
#3. Open System Information — “msinfo32”
System Information app offers extensive information about both the hardware and software of your PC. It’s a must-know command if you need to see the specs of any PC. The information is well laid out using dedicated categories, and you can export the information to a file to share with anyone — perfect for getting online tech assistance.
#4. Access Backup and Restore window — “sdclt”
It opens the backup and restores window where you can either set up a backup of your PC or restore it from an old backup if there is a problem with your PC.
#5. Access mouse properties — “main.cpl”
You can control all the settings related to your computer mouse here. This includes mouse speed, buttons, wheel, and pointer, etc.
#6. Open Windows Registry — “regedit”
If you ever need to access the Windows registry to tweak something, this is the easiest way to do it. I didn’t even know other ways to access the Registry until recently, and I often mess around in the Registry. Other ways are simply too cumbersome to use.
#7. Access System Properties — “sysdm.cpl”
Another powerful settings window to manage system protection and remote connection features. I personally access it often to manage the Performance settings under the Advanced tab. You can manage some interesting performance-boosting options there.
#8. Manage Windows Power options — “powercfg.cpl”
You will find all the options to manage your PC’s power options here. There are a plethora of options to both save power or get better performance. Check this guide to optimize the power options as you find best.
#9. Open Windows Features — “optionalfeatures”
Here you can disable/enable some of the most advanced features of Windows. I wouldn’t recommend you to mess around here if you don’t know what you are doing. You will need to use this window if you ever need to enable features like Telnet client or Hyper-V.
#10. Open Magnifier — “magnify”
This opens the Windows magnifier to magnify the content on the screen up to 1600% if needed. It also has a screen reader built-in to read aloud text on the screen.
#11. Open Character Map app — “charmap”
Windows Character Maps lets you access All the characters in the font of your choice to easily use anywhere you like. You can either copy the character or learn its Alt code to enter anywhere you like. Using the search bar is the easiest way to find the character you need.
#12. Access Network Connections — “ncpa.cpl”
Here you can manage your current network connection and fix any problem with the network device. You can enable/disable the network, check the current status, bridge connections, or see your Wi-Fi password.
#13. Run Malicious Software Removal Tool — “mrt”
It’s an on-demand virus removal tool provided by Microsoft to scan your PC and find any malicious software. If you think your PC got infected by a virus, you can quickly launch this tool to scan your PC.
You can also consider installing antivirus software to keep your Windows computer safe.
#14. Open Device Manager — “devmgmt.msc”
Device Manager is the go-to place to manage everything related to your hardware components and their drivers. You can enable/disable hardware components or manage their drivers, like uninstalling or updating them.
#15. Manage User Accounts — “netplwiz”
You can quickly manage user accounts here, such as adding a new account or user account types like Administrator or Standard. You can also change the user accounts password here and manage their security.
#16. Open Services app — “services.msc”
This app lists all the services that work in the background without an interface and make all the features work in Windows. Again, you shouldn’t mess with any services if you don’t know what you are doing. However, you can click on a service to learn what it does in the left panel. There are many services that you can enable/disable depending on your need. For example, I have disabled the Bluetooth service as I don’t use it.
#17. Access Programs and Features window — “appwiz.cpl”
Although Windows 10 has its own setting to uninstall an app, I still use this command as it only shows third-party apps. The default Windows uninstaller shows all apps, including built-in apps, which are 30+. It can be difficult to always go through so many apps to uninstall a recently installed app. This command makes the process a snap.
#18. Open Control Panel — “control”
This command didn’t hold much value in the older version of Windows as you could easily access Control Panel using different ways. However, in Windows 10, Microsoft promotes the new Settings over the old Control Panel, so it doesn’t offer an easy way to access the Control Panel. This simple command lets you easily access it.
#19. Open current user folder — “.” (period)
We have to access the user folder quite often in Windows, but going through the explorer to access it isn’t needed. Just type a period in the Run dialog, and the current user’s folder will open up.
#20. Open On-Screen Keyboard — “osk”
If you want to use the on-screen keyboard, then using the Run command is one of the quickest ways to do it.
#21. Open Snipping Tool — “snippingtool”
Snipping Tool is still the go-to tool for taking screenshots in Windows 10 without using a third-party app. If you use the Snipping Tool for taking screenshots, then this Run command will make it easier.
#22. Open Windows Memory Diagnostic — “mdsched”
If you think there is a problem with your RAM, this tool can check your RAM and possibly fix the problem or let you know there is an issue. If you start seeing sudden freezes or crashes, it could mean there is a problem with your RAM.
#23. Open any website — “Insert website URL”
You can also enter the URL of any website in the Run dialog, and it will open it in your default browser. For example, if you type www.geekflare.com in the Run command, it will open the Geekflare home page in your default browser.
#24. Open Remote Desktop Connection — “mstsc”
You can use this feature to remotely connect to another PC and take full control over it. You’ll have to set up both PCs for the remote connection first, though. This Run command just makes the process easier.
#25. Open Command Prompt — “cmd”
Unlike PowerShell, you can’t access the Command Prompt by right-clicking on the start menu anymore. If you prefer using the Command Prompt over PowerShell to execute commands, this is one of the easier ways to open the Command Prompt.
Wrapping up
The cool thing about Run is that it remembers all the commands you type in it. Therefore, you will only have to type the first letter to enter the command in the future.
I also believe Run commands are more important in Windows 10 as it heavily promotes the use of its default Settings app. Most of the settings and apps that I have mentioned above are more difficult to access Windows 10.
Next, explore some of the best NirSoft utilities for Windows.
Windows Performance Toolkit
Included in the Windows Assessment and Deployment Kit, the Windows Performance Toolkit consists of performance monitoring tools that produce in-depth performance profiles of Windows operating systems and applications. This documentation discusses both Windows Performance Recorder (WPR) and Windows Performance Analyzer (WPA).
Windows Performance Toolkit components
The Windows Performance Toolkit consists of two independent tools: WindowsВ Performance Recorder (WPR) and WindowsВ Performance Analyzer (WPA). In addition, support is maintained for the previous command-line tool, Xperf. However, Xperfview is no longer supported. All recordings must be opened and analyzed by using WPA.
The following are the system requirements for running Windows Performance Toolkit:
WindowsВ Performance Recorder (WPR): Windows 8 or later.
WindowsВ Performance Analyzer (WPA): Windows 8 or later with the Microsoft .NET Framework 4.5 or later.
Windows Performance Recorder
WPR is a powerful recording tool that creates Event Tracing for Windows (ETW) recordings. You can run WPR from the user interface (UI) or from the command line. WPR provides built-in profiles that you can use to select the events that are to be recorded. Alternatively, you can author custom profiles in XML. WPR can also be invoked and controlled by using the WPRControl application programming interface (API). For more information about the WPRControl API, see WPRControl API Reference.
For basic procedures and a detailed walkthrough, see the WPR Quick Start. For complete documentation of the WPR UI, see WPR Features. For reference of command-line options, see WPR Command-Line Options. For step-by-step procedures, see WPR How-to Topics. For discussion of key scenarios, see WPR Scenarios. For complete reference material, including a recording profile XML reference and a legacy Xperf reference, see WPR Reference.
Windows Performance Analyzer
WPA is a powerful analysis tool that combines a very flexible UI with extensive graphing capabilities and data tables that can be pivoted and that have full text search capabilities. WPA provides an Issues window to explore the root cause of any identified.
For basic procedures and a detailed walkthrough, see the WPA Quick Start Guide. For complete documentation of the WPR UI, see WPA Features. For step-by-step procedures, see WPA How-to topics. For extended discussion of key scenarios, see WPA Scenarios.
About Performance Counters
Windows Performance Counters provide a high-level abstraction layer with a consistent interface for collecting various kinds of system data such as CPU, memory, and disk usage statistics. System administrators use performance counters to monitor for performance or behavior problems. Software developers use performance counters to inspect the resource usage of their components.
Windows Performance Counters are optimized for administrative/diagnostic data discovery and collection. They are not appropriate for high-frequency data collection or for application profiling since they are not designed to be collected more than once per second. For lower-overhead access to system information, you might prefer more direct APIs such as Process Status Helper, GlobalMemoryStatusEx, GetSystemTimes, or GetProcessTimes. For profiling, you might collect ETW logs with system profiling data using tracelog.exe with -critsec , -dpcisr , -eflag , or -ProfileSource options, or you might use Hardware Counter Profiling.
Do not confuse Windows Performance Counters with the QueryPerformanceCounter API. Windows Performance Counters provide a high-level abstraction for many kinds of system information. The QueryPerformanceCounter function provides optimized access to a high-precision timestamp.
Getting Started
- Use Performance Counter Tools when you want to collect or view the performance data from a system.
- Use Performance Counter Collection APIs when you want to write a script or a program that collects performance data from the local system.
- Use WMI Performance Counter Classes when you want to collect performance data from a local or remote system using WMI.
- Use Performance Counter Provider APIs when you want to publish performance data from your software component.
Concepts
The Windows Performance Counter system is organized into consumers, providers, countersets, counters, instances, and counter values.
A consumer is a software component that makes use of performance data. Windows includes several built-in tools that make use of performance data. These include Task Manager, Resource Monitor, Performance Monitor, typeperf.exe, logman.exe, and relog.exe. Developers can write scripts and applications that access performance counters via performance counter APIs.
A provider is a software component that generates and publishes performance data. A provider will publish data for one or more countersets. For example, a database system might register itself as a performance data provider.
- A V1 provider is a software component that publishes performance data via a performance DLL that runs in the process of the consumer. A V1 provider is installed onto a system via an .ini file. The V1 provider architecture is deprecated. New providers should use the V2 provider architecture.
- A V2 provider is a software component that publishes performance data via the performance counter provider APIs. A V2 provider is installed onto a system via a .man (XML manifest) file.
A counterset is a grouping of performance data within a provider. A counterset has a name and one or more counters. Collecting the data from a counterset returns a number of instances. In some Windows APIs, countersets are called performance objects. For example, a performance data provider for a database system might provide a counterset for per-database statistics.
A counter is the definition of single piece of performance data. A counter has a name and a type. For example, a «per-database statistics» counterset might contain a counter named «transactions per second» with type PERF_COUNTER_COUNTER .
An instance is an entity about which performance data is reported. An instance has a name (string) and one or more counter values. For example, a «per-database statistics» counterset might contain one instance per database. The instance name would be the database name, and each instance would contain counter values for «transactions per second», «memory usage», and «disk usage» counters.
A counter value is the value of a single piece of performance counter data. A counter value is an unsigned integer, either 32-bit or 64-bit depending on the type of the corresponding counter. When talking about an instance, a counter value might sometimes be called a counter or a value.
It might be helpful to relate performance counter terms to more familiar spreadsheet terms. A counterset is like a table. A counter is like a column. An instance is like a row. A counter value is like a cell in the table.
Single-instance countersets always contain data for exactly one instance. This is common for countersets that report system-global statistics. For example, Windows has a built-in single-instance counterset named «Memory» that reports on global memory usage.
Multi-instance countersets contain data for a variable number of instances. This is common for countersets that report about entities within the system. For example, Windows has a built-in multi-instance counterset named «Processor Information» that reports one instance for each installed CPU.
Consumers will periodically collect and record the data from a provider’s counterset. For example, the consumer might collect data once per second or once per minute. The data collected is called a sample. A sample consists of timestamps along with the data for instances of the counterset. The data for each instance includes the instance name (string) and a set of counter values (integers, one value for each counter in the counterset).
Instance names should normally be unique within a sample, i.e. a provider should not return two instances with the same name as part of a single sample. Some older providers do not follow this rule, so consumers must be able to tolerate non-unique instance names. Instance names are not case-sensitive, so instances should not have names that differ only in case.
For backwards-compatibility reasons, the «Process» counterset returns non-unique instance names based on the EXE filename. This can cause confusing results, especially when a process with a non-unique name starts up or shuts down, as this will typically result in data glitches due to incorrect matching of instance names between samples. Consumers of of the «Process» counterset must be able to tolerate these non-unique instance names and the resulting data glitches.
Instance names must be stable across samples, i.e. a provider should use the same instance name for the same entity each time the counterset is collected.
Each counter has a type. The counter type indicates the type of the counter’s raw value (either unsigned 32-bit integer or unsigned 64-bit integer). The counter type also indicates what the counter’s raw value represents, which determines how the raw value should be processed to generate useful statistics.
While some counter types are simple and have a raw value that is directly useful, many counter types require additional processing to create a useful formatted value. To produce the formatted value, some counter types require raw values from two samples, some counter types require timestamps, and some counter types require raw values from multiple counters. For example:
- PERF_COUNTER_LARGE_RAWCOUNT is a 64-bit raw value that requires no processing to be useful. It is appropriate for point-in-time values such as «Bytes of memory in use».
- PERF_COUNTER_RAWCOUNT_HEX is a 32-bit raw value that requires only simple hexadecimal formatting to be useful. It is appropriate for point-in-time or identifying information such as «Flags» or «Base Address».
- PERF_COUNTER_BULK_COUNT is a 64-bit raw value that indicates a count of events and is used to compute the rate at which the events occur. To be useful, this counter type requires two samples that are separated in time. The formatted value is the event rate, i.e. the number of times the event occurred per second over the interval between the two samples. Given two samples s0 and s1 , the formatted value (event rate) would be computed as (s1.EventCount — s0.EventCount)/(s1.TimestampInSeconds — s0.TimestampInSeconds) .
Providers are expected to behave as if they are stateless, i.e. collecting data from a counterset should not visibly affect the state of the provider. For example, a provider should not reset counter values to 0 when a counterset is collected and it should not use the timestamp of a previous collection to adjust the values in the current collection. Instead, it should provide simple raw counter values with accurate types so that the consumer can compute useful statistics based on the raw values and their timestamps.
Performance API Architecture
Performance counter consumers include:
- Microsoft-provided applications such as Task Manager, Resource Monitor, Performance Monitor, and typeperf.exe.
- Microsoft-provided high-level API surfaces that expose performance counter data such as WMI Performance Classes.
- Your own applications or scripts that use performance counter consumer APIs.
Most performance counter consumers use APIs from PDH.dll to collect performance data. PDH manages many complex aspects of gathering performance counters such as parsing queries, matching up instances across multiple samples, and computing formatted values from the raw counter data. The PDH implementation uses the registry APIs when consuming data from a V1 provider and uses the V2 consumer APIs when consuming data from a V2 provider.
Some older performance counter consumers use the registry APIs to collect performance data from the special HKEY_PERFORMANCE_DATA registry key. This is not recommended for new code because processing the data from the registry is complex and error-prone. The registry API implementation directly supports collecting data from V1 providers. It indirectly supports collecting data from V2 providers through a translation layer that uses the V2 consumer APIs.
Some performance counter consumers use the PerfLib V2 Consumer functions to directly access data from V2 providers. This is more complex than consuming data using the PDH APIs, but this approach can be useful if PDH APIs cannot be used due to performance or dependency concerns. The PerfLib V2 implementation directly supports collecting data from V2 providers. It does not support collecting data from V1 providers.
Windows OneCore does not include PDH.dll and does not include support for consuming performance counter data via the registry APIs. Consumers running on OneCore must use the PerfLib V2 Consumer functions.
V1 providers are implemented as a provider DLL that is loaded into the consumer process. The registry API implementation manages loading the provider DLL, calling into the DLL to collect performance data, and unloading the DLL as appropriate. The provider DLL is responsible for collecting performance data as appropriate, e.g. by using normal Windows APIs, RPC, named pipes, shared memory, or other interprocess communication mechanisms.
V2 providers are implemented as either a user-mode program (often a Windows service) or a kernel-mode driver. Usually the performance data provider code is integrated directly into an existing component (i.e. the driver or service is reporting statistics about itself). The PerfLib V2 implementation manages requests and responses via the PCW.sys kernel extension so the provider usually does not need to implement any interprocess communication to provide the performance data.
Windows Performance Counter APIs and tools include limited support for accessing performance counters from other machines via Remote Registry (for V1 providers) and RPC (for V2 providers). This support is often hard to use in terms of authentication controls (the tools and APIs can only authenticate as the current user) as well as in terms of system configuration (the necessary endpoints and services are disabled by default). In many cases, it is better to access the performance counters of remote systems via WMI rather than via the built-in remote access support.
Developer audience
Performance counters are often consumed by administrators to identify performance issues or abnormal behavior of systems, by developers to study resource usage of software components, and by individual users to understand how programs are behaving on their system. Usage may occur via GUI tools like Task Manager or Performance Monitor, command-line tools like typeperf.exe or logman.exe, via scripting via WMI and PowerShell, or through C/C++ and .NET APIs.
Performance counter providers are usually implemented as kernel-mode drivers or user-mode services. Performance counter providers are usually written in C or C++.
Run-time requirements
For information about run-time requirements for a particular programming element, see the Requirements section of the reference page for that element.