[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1014
  • Last Modified:

Help with batch script user prompt

I have a script below that I'm trying to give the user options on what actions to perform. My syntax is wrong and was hoping for some help. I got a couple problems with my script that I don't know how to fix:

1.) How do I make a multiple line prompt? All my "echos" with the number legends aren't printing under the question.

2.) One of my options is to run ALL actions, but how do I run every subroutine if the user entered "1"?

I would greatly appreciate any help or suggestions.
@ECHO OFF
SETLOCAL
 
rem ------------------------------------------------
rem --------------- GLOBAL VARIABLES ---------------
rem ------------------------------------------------
SET SCRIPTPATH=C:\websites\tools
 
SET /P ACTION=Which action would you like to perform?
ECHO ALL Operations Below .............................. 1
ECHO MIRROR Development to Backup FTP .................. 2
ECHO MIRROR Development to Stable  ..................... 3
ECHO MIRROR Stable to Local Live Website ............... 4
ECHO MIRROR Stable to Remote Live Website .............. 5
ECHO MIRROR Local Sub-Sites to Development ............. 6
ECHO SYNC Local and Remote Sub-Sites ................... 7
 
IF /I "%ACTION%"=="1" GOTO 
IF /I "%ACTION%"=="2" GOTO DevToFTP
IF /I "%ACTION%"=="3" GOTO DevToStable
IF /I "%ACTION%"=="4" GOTO StableToLive
IF /I "%ACTION%"=="5" GOTO StableToRemote
IF /I "%ACTION%"=="6" GOTO SitesToDev
IF /I "%ACTION%"=="7" GOTO SyncLiveRemote
GOTO:EOF
 
rem ------------------------------------------------
rem ------- MIRROR DEV TO REMOTE BACKUP FTP --------
rem ------------------------------------------------
:DevToFTP
rem CALL %SCRIPTPATH%\FTPSync\DevToFTP.cmd
GOTO:EOF
 
rem ------------------------------------------------
rem ---------- MIRROR DEVELOPMENT TO STABLE --------
rem ------------------------------------------------
:DevToStable
rem CALL %SCRIPTPATH%\FileSync\DevToStable.cmd
GOTO:EOF
 
rem ------------------------------------------------
rem ---------- MIRROR STABLE TO LOCAL LIVE ---------
rem ------------------------------------------------
:StableToLive
rem CALL %SCRIPTPATH%\FileSync\StableToLive.cmd
GOTO:EOF
 
rem ------------------------------------------------
rem ---------- MIRROR STABLE TO REMOTE LIVE --------
rem ------------------------------------------------
:StableToRemote
rem CALL %SCRIPTPATH%\FTPSync\StableToRemote.cmd
GOTO:EOF
 
rem ------------------------------------------------
rem ----------- SYNC LOCAL AND REMOTE SITES --------
rem ------------------------------------------------
:SyncLiveRemote
rem CALL %SCRIPTPATH%\FTPSync\SyncLiveRemote.cmd
GOTO:EOF
 
 
rem ------------------------------------------------
rem -------------- MIRROR SITES TO DEV -------------
rem ------------------------------------------------
:SitesToDev
rem CALL %SCRIPTPATH%\FileSync\SitesToDev.cmd
GOTO:EOF

Open in new window

0
bemara57
Asked:
bemara57
1 Solution
 
thefazaCommented:
This should work:
@ECHO OFF
SETLOCAL
 
rem ------------------------------------------------
rem --------------- GLOBAL VARIABLES ---------------
rem ------------------------------------------------
SET SCRIPTPATH=C:\websites\tools
 
 
ECHO ALL Operations Below .............................. 1
ECHO MIRROR Development to Backup FTP .................. 2
ECHO MIRROR Development to Stable  ..................... 3
ECHO MIRROR Stable to Local Live Website ............... 4
ECHO MIRROR Stable to Remote Live Website .............. 5
ECHO MIRROR Local Sub-Sites to Development ............. 6
ECHO SYNC Local and Remote Sub-Sites ................... 7
SET /P ACTION=Which action would you like to perform?
 
IF /I "%ACTION%"=="1" GOTO DevToFTP
IF /I "%ACTION%"=="2" GOTO DevToFTP
IF /I "%ACTION%"=="3" GOTO DevToStable
IF /I "%ACTION%"=="4" GOTO StableToLive
IF /I "%ACTION%"=="5" GOTO StableToRemote
IF /I "%ACTION%"=="6" GOTO SitesToDev
IF /I "%ACTION%"=="7" GOTO SyncLiveRemote
GOTO:EOF
 
rem ------------------------------------------------
rem ------- MIRROR DEV TO REMOTE BACKUP FTP --------
rem ------------------------------------------------
:DevToFTP
rem CALL %SCRIPTPATH%\FTPSync\DevToFTP.cmd
IF /I "%ACTION%"=="1" GOTO DevToStable
GOTO:EOF
 
rem ------------------------------------------------
rem ---------- MIRROR DEVELOPMENT TO STABLE --------
rem ------------------------------------------------
:DevToStable
rem CALL %SCRIPTPATH%\FileSync\DevToStable.cmd
IF /I "%ACTION%"=="1" GOTO StableToLive
GOTO:EOF
 
rem ------------------------------------------------
rem ---------- MIRROR STABLE TO LOCAL LIVE ---------
rem ------------------------------------------------
:StableToLive
rem CALL %SCRIPTPATH%\FileSync\StableToLive.cmd
IF /I "%ACTION%"=="1" GOTO StableToRemote
GOTO:EOF
 
rem ------------------------------------------------
rem ---------- MIRROR STABLE TO REMOTE LIVE --------
rem ------------------------------------------------
:StableToRemote
rem CALL %SCRIPTPATH%\FTPSync\StableToRemote.cmd
IF /I "%ACTION%"=="1" GOTO SitesToDev
GOTO:EOF
 
rem ------------------------------------------------
rem ----------- SYNC LOCAL AND REMOTE SITES --------
rem ------------------------------------------------
:SyncLiveRemote
rem CALL %SCRIPTPATH%\FTPSync\SyncLiveRemote.cmd
GOTO:EOF
 
 
rem ------------------------------------------------
rem -------------- MIRROR SITES TO DEV -------------
rem ------------------------------------------------
:SitesToDev
rem CALL %SCRIPTPATH%\FileSync\SitesToDev.cmd
IF /I "%ACTION%"=="1" GOTO SyncLiveRemote
GOTO:EOF

Open in new window

0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now