I can understand cmd but not cmd /c. I was trying to invoke a java program from the current for which I use Runtime.getRuntime().exec("cmd /C java helloworld"); There arises my doubt.
Asked
Active
Viewed 7.9e+01k times
290
-
10To Moderators, is there a provision to move this to appropriate portal/subsidiary of stack overflow. That way this item will not be closed and users will be able to contribute more? I guess this should go to something similar to super user? – digitally_inspired Jul 25 '18 at 16:14
-
2I find it a perfectly valid question for SO. – Andrew Truckle Nov 29 '22 at 09:17
3 Answers
332
The part you should be interested in is the /? part, which should solve most other questions you have with the tool.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\>cmd /?
Starts a new instance of the Windows XP command interpreter
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
/C Carries out the command specified by string and then terminates
/K Carries out the command specified by string but remains
/S Modifies the treatment of string after /C or /K (see below)
/Q Turns echo off
/D Disable execution of AutoRun commands from registry (see below)
/A Causes the output of internal commands to a pipe or file to be ANSI
/U Causes the output of internal commands to a pipe or file to be
Unicode
/T:fg Sets the foreground/background colors (see COLOR /? for more info)
/E:ON Enable command extensions (see below)
/E:OFF Disable command extensions (see below)
/F:ON Enable file and directory name completion characters (see below)
/F:OFF Disable file and directory name completion characters (see below)
/V:ON Enable delayed environment variable expansion using ! as the
delimiter. For example, /V:ON would allow !var! to expand the
variable var at execution time. The var syntax expands variables
at input time, which is quite a different thing when inside of a FOR
loop.
/V:OFF Disable delayed environment expansion.
Blorgbeard
- 101,031
- 48
- 228
- 272
guyumu
- 3,457
- 2
- 19
- 18
-
5there's also a command to "pause" the cmd window after output: "cmd /c file_name & PAUSE" it is bit different from cmd /k – GorvGoyl Sep 05 '15 at 19:34
-
what if a given command is kind of a server that starts it's own loop? should we use /C or /K? – redpix_ Mar 27 '17 at 20:21
-
While executing command in C# via 'Process' is using /C mandatory in Windows 7 or Windows Server 2008 R2 operating system? – Dinesh Kumar P Jun 12 '17 at 11:14
-
1I came here becasue its not behaving as described. Im runnig from git bash and cmd /c "dir" or any command will just leave me in cmd prompt without executing the ocmmand. – Brad Oct 23 '20 at 22:44
-
132
/C Carries out the command specified by the string and then terminates.
You can get all the cmd command line switches by typing cmd /?.
T30
- 11,422
- 7
- 53
- 57
Simon Temlett
- 2,397
- 2
- 17
- 17
-
13But why would one want to? Why not just call the command directly, like "java helloworld" – Mike Sadler Apr 11 '19 at 11:04
-
4because you might not be in CMD but you just wan to use cmd to execute a command for you. eg I am running a bash script and want it to execute a command that cmd can do but bash can not. – Brad Oct 23 '20 at 22:58
29
CMD.exe
Start a new CMD shell
Syntax
CMD [charset] [options] [My_Command]
Options
**/C Carries out My_Command and then
terminates**
From the help.
phuclv
- 37,963
- 15
- 156
- 475
Andrea Ambu
- 38,188
- 14
- 54
- 77