Categories:
Administration (161)
Adware Spyware (43)
Apache (20)
Bluetooth (127)
DOS Commands (2)
Edge (28)
General (5)
Internet Connection (21)
Internet Explorer (224)
Media Center (14)
Media Player (135)
Mozilla Firefox (22)
MS Access (9)
Performance (204)
PHP (25)
Programming (36)
Security (109)
Silverlight (22)
Tips (144)
Tools (312)
Tutorials (40)
Windows 10 (168)
Windows 7 (1411)
Windows 8 (1712)
Windows Phone (33)
Windows Server 2008 (165)
Windows Server 2012 (84)
Windows Server 2016 (23)
Windows Vista (71)
Windows XP (23)
Collections:
Other Resources:
"call command" vs. "command"
What is the difference between "call command" and "command" in a batch file?
✍: FYIcenter.com
There are two formats to run another batch file (or any command) in a batch file:
1. "command" - Run the batch file (or any command) directly. The given command will be invoked in the current batch execution context.
2. "call command" - Run the batch file (or any command) indirectly with the "call" batch command. The given command will be invoked in a child batch execution context.
If the given command is a built-in command or an executable program, the above two formats behave almost in the way.
But if the given command is another batch file, "call command" behaves very different than "command".
When running another batch file in the current batch execution context using the "command" format, the current batch execution context will be terminated when the other batch file reaches the end.
When running another batch file in a child batch execution context using the "call command" format, the child batch execution context will be terminated when the other batch file reaches the end. The current batch execution context will stay to continue on the next line.
Here is batch file, Call-Batch.bat, that running another batch file in two formats, "call command" and "command":
@echo off rem Call-Batch.bat - Call other batch files call Other-Batch.bat "First call" call Other-Batch.bat "Second call" Other-Batch.bat "Third call" Other-Batch.bat "Fourth call"
There is the other batch file, Other-Batch.bat, to be called to perform some tasks:
@echo off rem Other-Batch.bat - The other batch file to be called echo %1 - Running the other batch
Here the execution result of Call-Batch.bat:
C:\fyicenter>Call-Batch.bat "First call" - Running the other batch "Second call" - Running the other batch "Third call" - Running the other batch
Why the "Fourth call" was not executed? Because the Call-Batch.bat execution context was terminated by running "Other-Batch.bat" directly in the context.
⇒ "if" - Run Command Conditionally
2021-04-02, 777👍, 0💬
Popular Posts:
Can I remove startup application "UpdaterUI.exe - Networks Associates Common User Interface" to spee...
What is the installed program "Windows SDK Signing Tools" on my Windows 7 computer? Why it is not vi...
Daylight saving time has been changed since March 2007 in US, Canada and Mexico. How do I update my ...
What is NicConfigSvc.exe process - Internal Network Card Power Management Service? Process nicconfig...
I'm trying to upload pictures from my Samsung camera and Windows 8 keep saying "Something went wrong...