Sign in to follow this  
Followers 0
qwertyqwerty

run bat file (hidden mode)

9 posts in this topic

Hi All,

I am tryign to start the tomcat server in a hidden mode - but the following script fails to start the server.

what am I missing?

Run ("C:\tomcat\jakarta-tomcat-5.5.9\bin\startup.bat", "", @SW_HIDE)

Share this post


Link to post
Share on other sites



what is the contents of startup.bat ?

@echo off

if "%OS%" == "Windows_NT" setlocal

rem ---------------------------------------------------------------------------

rem Start script for the CATALINA Server

rem

rem $Id: startup.bat,v 1.6 2004/05/27 18:25:11 yoavs Exp $

rem ---------------------------------------------------------------------------

rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%

if not "%CATALINA_HOME%" == "" goto gotHome

set CATALINA_HOME=%CURRENT_DIR%

if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

cd ..

set CATALINA_HOME=%cd%

cd %CURRENT_DIR%

:gotHome

if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

echo The CATALINA_HOME environment variable is not defined correctly

echo This environment variable is needed to run this program

goto end

:okHome

set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat

rem Check that target executable exists

if exist "%EXECUTABLE%" goto okExec

echo Cannot find %EXECUTABLE%

echo This file is needed to run this program

goto end

:okExec

rem Get remaining unshifted command line arguments and save them in the

set CMD_LINE_ARGS=

:setArgs

if ""%1""=="""" goto doneSetArgs

set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

shift

goto setArgs

:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

:end

Share this post


Link to post
Share on other sites

well seeing as how it calls catalina.bat

also post the contents of that one please :D

@echo off

if "%OS%" == "Windows_NT" setlocal

rem ---------------------------------------------------------------------------

rem Start/Stop Script for the CATALINA Server

rem

rem Environment Variable Prequisites

rem

rem CATALINA_HOME May point at your Catalina "build" directory.

rem

rem CATALINA_BASE (Optional) Base directory for resolving dynamic portions

rem of a Catalina installation. If not present, resolves to

rem the same directory that CATALINA_HOME points to.

rem

rem CATALINA_OPTS (Optional) Java runtime options used when the "start",

rem "stop", or "run" command is executed.

rem

rem CATALINA_TMPDIR (Optional) Directory path location of temporary directory

rem the JVM should use (java.io.tmpdir). Defaults to

rem %CATALINA_BASE%\temp.

rem

rem JAVA_HOME Must point at your Java Development Kit installation.

rem

rem JAVA_OPTS (Optional) Java runtime options used when the "start",

rem "stop", or "run" command is executed.

rem

rem JSSE_HOME (Optional) May point at your Java Secure Sockets Extension

rem (JSSE) installation, whose JAR files will be added to the

rem system class path used to start Tomcat.

rem

rem JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"

rem command is executed. The default is "dt_shmem".

rem

rem JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"

rem command is executed. The default is "jdbconn".

rem

rem $Id: catalina.bat,v 1.12 2005/03/03 15:13:39 remm Exp $

rem ---------------------------------------------------------------------------

rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%

if not "%CATALINA_HOME%" == "" goto gotHome

set CATALINA_HOME=%CURRENT_DIR%

if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

cd ..

set CATALINA_HOME=%cd%

cd %CURRENT_DIR%

:gotHome

if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

echo The CATALINA_HOME environment variable is not defined correctly

echo This environment variable is needed to run this program

goto end

:okHome

rem Get standard environment variables

if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

rem Get standard Java environment variables

if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath

echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat

echo This file is needed to run this program

goto end

:okSetclasspath

set BASEDIR=%CATALINA_HOME%

call "%CATALINA_HOME%\bin\setclasspath.bat"

rem Add on extra jar files to CLASSPATH

if "%JSSE_HOME%" == "" goto noJsse

set CLASSPATH=%CLASSPATH%;%JSSE_HOME%\lib\jcert.jar;%JSSE_HOME%\lib\jnet.jar;%JSSE_HOME%\lib\jsse.jar

:noJsse

set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar

if not "%CATALINA_BASE%" == "" goto gotBase

set CATALINA_BASE=%CATALINA_HOME%

:gotBase

if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir

set CATALINA_TMPDIR=%CATALINA_BASE%\temp

:gotTmpdir

if not exist "%CATALINA_HOME%\bin\tomcat-juli.jar" goto noJuli

set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

:noJuli

rem ----- Execute The Requested Command ---------------------------------------

echo Using CATALINA_BASE: %CATALINA_BASE%

echo Using CATALINA_HOME: %CATALINA_HOME%

echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%

echo Using JAVA_HOME: %JAVA_HOME%

set _EXECJAVA=%_RUNJAVA%

set MAINCLASS=org.apache.catalina.startup.Bootstrap

set ACTION=start

set SECURITY_POLICY_FILE=

set DEBUG_OPTS=

set JPDA=

if not ""%1"" == ""jpda"" goto noJpda

set JPDA=jpda

if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport

set JPDA_TRANSPORT=dt_shmem

:gotJpdaTransport

if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress

set JPDA_ADDRESS=jdbconn

:gotJpdaAddress

shift

:noJpda

if ""%1"" == ""debug"" goto doDebug

if ""%1"" == ""run"" goto doRun

if ""%1"" == ""start"" goto doStart

if ""%1"" == ""stop"" goto doStop

if ""%1"" == ""version"" goto doVersion

echo Usage: catalina ( commands ... )

echo commands:

echo debug Start Catalina in a debugger

echo debug -security Debug Catalina with a security manager

echo jpda start Start Catalina under JPDA debugger

echo run Start Catalina in the current window

echo run -security Start in the current window with security manager

echo start Start Catalina in a separate window

echo start -security Start in a separate window with security manager

echo stop Stop Catalina

echo version What version of tomcat are you running?

goto end

:doDebug

shift

set _EXECJAVA=%_RUNJDB%

set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\jakarta-tomcat-catalina\catalina\src\share"

if not ""%1"" == ""-security"" goto execCmd

shift

echo Using Security Manager

set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy

goto execCmd

:doRun

shift

if not ""%1"" == ""-security"" goto execCmd

shift

echo Using Security Manager

set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy

goto execCmd

:doStart

shift

if not "%OS%" == "Windows_NT" goto noTitle

set _EXECJAVA=start "Tomcat" %_RUNJAVA%

goto gotTitle

:noTitle

set _EXECJAVA=start %_RUNJAVA%

:gotTitle

if not ""%1"" == ""-security"" goto execCmd

shift

echo Using Security Manager

set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy

goto execCmd

:doStop

shift

set ACTION=stop

goto execCmd

:doVersion

%_EXECJAVA% -classpath "%CATALINA_HOME%\server\lib\catalina.jar" org.apache.catalina.util.ServerInfo

goto end

:execCmd

rem Get remaining unshifted command line arguments and save them in the

set CMD_LINE_ARGS=

:setArgs

if ""%1""=="""" goto doneSetArgs

set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

shift

goto setArgs

:doneSetArgs

rem Execute Java with the applicable properties

if not "%JPDA%" == "" goto doJpda

if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity

%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

goto end

:doSecurity

%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

goto end

:doJpda

if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda

%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

goto end

:doSecurityJpda

%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

goto end

:end

Share this post


Link to post
Share on other sites

--setclasspath.bat

rem ---------------------------------------------------------------------------

rem Set CLASSPATH and Java options

rem

rem $Id: setclasspath.bat,v 1.7 2004/07/26 15:34:31 yoavs Exp $

rem ---------------------------------------------------------------------------

rem Make sure prerequisite environment variables are set

if not "%JAVA_HOME%" == "" goto gotJavaHome

echo The JAVA_HOME environment variable is not defined

echo This environment variable is needed to run this program

goto exit

:gotJavaHome

if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome

if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome

if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome

if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome

goto okJavaHome

:noJavaHome

echo The JAVA_HOME environment variable is not defined correctly

echo This environment variable is needed to run this program

echo NB: JAVA_HOME should point to a JDK not a JRE

goto exit

:okJavaHome

if not "%BASEDIR%" == "" goto gotBasedir

echo The BASEDIR environment variable is not defined

echo This environment variable is needed to run this program

goto exit

:gotBasedir

if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir

echo The BASEDIR environment variable is not defined correctly

echo This environment variable is needed to run this program

goto exit

:okBasedir

rem Set the default -Djava.endorsed.dirs argument

set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed

rem Set standard CLASSPATH

rem Note that there are no quotes as we do not want to introduce random

rem quotes into the CLASSPATH

set CLASSPATH=%JAVA_HOME%\lib\tools.jar

rem Set standard command for invoking Java.

rem Note that NT requires a window name argument when using start.

rem Also note the quoting as JAVA_HOME may contain spaces.

set _RUNJAVA="%JAVA_HOME%\bin\java"

set _RUNJAVAW="%JAVA_HOME%\bin\javaw"

set _RUNJDB="%JAVA_HOME%\bin\jdb"

set _RUNJAVAC="%JAVA_HOME%\bin\javac"

goto end

:exit

exit /b 1

:end

Share this post


Link to post
Share on other sites

AFAIK you can either:

A) recode the batches to autoit (lots of work)

:D just use WinSetState(,@SW_HIDE) after you have run the batch.

thats about all i can think of, i would go for B.

Thanks for the help! But the problem is that even a simple run statement (below) does not start the server!

run ("C:\tomcat\jakarta-tomcat-5.5.9\bin\startup.bat")

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

solved the problem!! catalina_home env variable need to be declared in order to run the bat file from command line!!

RunWait("c:\tomcat\jakarta-tomcat-5.5.9\bin\startup.bat")

WinWaitActive ("Tomcat", "")

WinSetState ("Tomcat", "", @SW_HIDE)

Thanks so much w0uter !!

Edited by qwertyqwerty

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0