I am just writing a small batch file that should checkout a module and build it using maven. But the batch file exits/stops after running the cvs checkout command. Below is the batch file contents.
call rmdir /S /Q C:\temp\project_folder
call cvs -q -d %CVSROOT% checkout -d C:\temp\project_folder module\workspace\project_folder
call cd C:\temp\project_folder
call mvn clean install
Any idea what I am doing wrong here?
The use of call is for generating a callback to the currently running batch file. If you were to call another batch file without the call command it will transfer control to the new batch file and will not record where it came from. With the call command it will remember what line of the batch file was executed and when the called batch file exits it will continue execution at the next line of the parent file.
Related
I need to find a way to execute commands in bat file via cmder.
When I put start -cur_console:s1T50H -cur_console:d:C:\Users\MY\Path\ inside cmder its open another shell as i want.
What should I do to make it happen when I execute my bat file?
My .bat file right now:
#echo off
start C:\Users\PATH\TO\CMDER\FOLDER\cmder.exe
pause
What should I write after start the cmder?
Currently am executing a program from command prompt, basically a Python command, but I want that to be automated so that the program runs the latest version of the files before the program starts.
So current program is run by saying:
python c:\program\mysoftwareUI.py
mysoftwareUI.py is present in folder that constantly is provided with updates
Now I want to write a batch file with the above command but before that also SVN command that updates the folder before the actual program is run.
How can I do this?
Create a .bat file script and place it into a directory that is in the PATH variable or the current working directory.
=== doit.bat
#ECHO OFF
PUSHD "c:\program"
svn up
python c:\program\mysoftwareUI.py
POPD
EXIT /B
When I start a batch file from another batch file, it just opens a new CMD window named just "TEST.bat", and doesn't run the actual batch. Running it manually works fine.
cd %~dp0\Colours\TEST.bat
start "TEST.bat"
I have tried many different ways to run the batch, but it all does the same thing. I've also tried to run the batch as administrator but same result again.
Full code(not finished): http://pastebin.com/GE8yJP0J
To run another batch file, use call not start. Also: cd expects a directory, not a filename.
cd "%~dp0\Colours"
call TEST.bat
I was working around creating an batch file to run commands on another batch file. for example: we want to run md C:\abc from a batch file. how can I do this?
thanks
You need to call the other batch file within a batch file:
call other_batch_file.bat
I have configured NUnit tests to run after build completed.(Jenkins)
I added following on Excecute windows batch command window in Jenkins.
rmdir ClickOnceInstall /Q /S
mkdir ClickOnceInstall
CD BuildScripts
Start.bat
"C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console-x86.exe" AA.Tests\bin\x86\Release\AA.Tests.dll /xml=nunit-result.xml
It seems Execute unit test command doesn't create result file as specified name and marked as failed. However, when I run the nunit test command manually it creates the file. Next time build through Jenkins, result xml file does not seem to be updated but it doesn't fail.
am I missing any configuration or something else?
It would help if you would paste the console log.
However, my first guess is to ask you to add call to your batch file statement:
call Start.bat
If that batch file has an exit /b statement (even with 0), it will quit the whole calling step (i.e. "Execute windows batch command") without getting to your last statement (i.e nunit command).
Using call in front of the batch file will make sure that control is returned to the calling step.