echo OFF :: GETT.BAT :: :: gett [subfolder] [drive letter] [xcopy switch /l] :: :: get Current Directory set CURPATH=%cd% :: :: check for command line parameter if "%1" == "" goto badfirst if "%2" == "" goto drivet if "%2" == "/l" goto drivet if "%2" == "/L" goto drivet if "%3" == "" goto driveset if "%3" == "/l" goto driveset if "%3" == "/L" goto driveset goto badthird :driveset call :suba %CURPATH% rem echo first case: user set partition if "%CURPATH%" == "\" goto root1 echo ON xcopy %2:%CURPATH%\%1 %1 /s/e/v/d%3 echo OFF goto done ;: :root1 echo ON xcopy %2:%CURPATH%%1 %1 /s/e/v/d%3 echo OFF goto done :: :: :drivet call :suba %CURPATH% rem echo second case: user did NOT set partition if "%CURPATH%" == "\" goto root2 echo ON xcopy T:%CURPATH%\%1 %1 /s/e/v/d%2 echo OFF goto done :: :root2 echo ON xcopy T:%CURPATH%%1 %1 /s/e/v/d%2 echo OFF goto done :: :: :: Subroutine A :suba set CURPATH=%~pnx1 exit /B :: :: :badfirst echo Missing first parameter goto done :: :: :badsecond echo Bad second parameter goto done :: :: :badthird echo Bad third parameter goto done :: :: :done echo ON