@echo off REM Licensed to the Apache Software Foundation (ASF) under one REM or more contributor license agreements. See the NOTICE file REM distributed with this work for additional information REM regarding copyright ownership. The ASF licenses this file REM to you under the Apache License, Version 2.0 (the REM "License"); you may not use this file except in compliance REM with the License. You may obtain a copy of the License at REM REM http://www.apache.org/licenses/LICENSE-2.0 REM REM Unless required by applicable law or agreed to in writing, REM software distributed under the License is distributed on an REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY REM KIND, either express or implied. See the License for the REM specific language governing permissions and limitations REM under the License. if "%OS%" == "Windows_NT" setlocal rem --------------------------------------------------------------------------- rem NT Service Install/Uninstall script rem rem Options rem install Install the service using ftpd as service name. rem Service is installed using default settings. rem remove Remove the service from the System. rem rem name (optional) If the second argument is present it is considered rem to be new service name rem rem $Id: service.bat 467182 2006-10-23 23:47:06Z markt $ rem --------------------------------------------------------------------------- rem Guess CATALINA_HOME if not defined set CURRENT_DIR=%cd% if not "%FTPD_HOME%" == "" goto gotHome set FTPD_HOME=%cd% if exist "%FTPD_HOME%\bin\ftpd.exe" goto okHome rem CD to the upper dir cd .. set FTPD_HOME=%cd% :gotHome if exist "%FTPD_HOME%\bin\ftpd.exe" goto okHome echo The ftpd.exe was not found... echo The FTPD_HOME environment variable is not defined correctly. echo This environment variable is needed to run this program goto end rem Make sure prerequisite environment variables are set if not "%JAVA_HOME%" == "" goto okHome echo The JAVA_HOME environment variable is not defined echo This environment variable is needed to run this program goto end :okHome set EXECUTABLE=%FTPD_HOME%\bin\ftpd.exe rem Set default Service name set SERVICE_NAME=ftpd set PR_DISPLAYNAME=Apache FtpServer if "%1" == "" goto displayUsage if "%2" == "" goto setServiceName set SERVICE_NAME=%2 set PR_DISPLAYNAME=Apache FtpServer %2 :setServiceName if %1 == install goto doInstall if %1 == remove goto doRemove if %1 == uninstall goto doRemove echo Unknown parameter "%1" :displayUsage echo. echo Usage: service.bat install/remove [service_name] goto end :doRemove rem Remove the service "%EXECUTABLE%" //DS//%SERVICE_NAME% echo The service '%SERVICE_NAME%' has been removed goto end :doInstall rem Install the service echo Installing the service '%SERVICE_NAME%' ... echo Using FTPD_HOME: %FTPD_HOME% echo Using JAVA_HOME: %JAVA_HOME% rem ----- Create CLASSPATH -------------------------------------------- set FTPD_CLASSPATH=%FTPD_HOME%\common\classes cd /d "%FTPD_HOME%\common\lib" for %%i in ("*.jar") do call "%FTPD_HOME%\bin\appendcp.bat" "%FTPD_HOME%\common\lib\%%i" cd /d %FTPD_HOME% rem Use the environment variables as an example rem Each command line option is prefixed with PR_ set FTPD_LOGPATH=%FTPD_HOME%\res\log set PR_DESCRIPTION=Apache FtpServer (http://mina.apache.org/ftpserver/) set PR_INSTALL=%EXECUTABLE% set PR_LOGPATH=%FTPD_LOGPATH% set PR_CLASSPATH=%FTPD_CLASSPATH% rem Set the server jvm from JAVA_HOME set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll if exist "%PR_JVM%" goto foundJvm rem Set the client jvm from JAVA_HOME set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll if exist "%PR_JVM%" goto foundJvm set PR_JVM=auto :foundJvm echo Using JVM: %PR_JVM% rem Supply additional command line params as start params set CMD_LINE_ARGS=start echo %CMD_LINE_ARGS% shift shift :buildArgs if %1a==a goto endInit set CMD_LINE_ARGS=%CMD_LINE_ARGS%;%1 echo %CMD_LINE_ARGS% shift goto buildArgs :endInit echo %CMD_LINE_ARGS% "%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.ftpserver.main.Daemon --StartParams %CMD_LINE_ARGS% --StartPath "%FTPD_HOME%" --StopClass org.apache.ftpserver.main.Daemon --StopParams stop if not errorlevel 1 goto installed echo Failed installing '%SERVICE_NAME%' service goto end :installed rem Clear the environment variables. They are not needed any more. set PR_DISPLAYNAME= set PR_DESCRIPTION= set PR_INSTALL= set PR_LOGPATH= set PR_CLASSPATH= set PR_JVM= rem Set extra parameters "%EXECUTABLE%" //US//%SERVICE_NAME% --StartMode jvm --StopMode jvm --StdOutput "%FTPD_LOGPATH%\out.log" --StdError "%FTPD_LOGPATH%\error.log" rem More extra parameters set PR_LOGPATH=%FTPD_HOME%\logs set PR_STDOUTPUT=auto set PR_STDERROR=auto REM "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 128 --JvmMx 256 echo The service '%SERVICE_NAME%' has been installed. :end cd %CURRENT_DIR%