Existe la forma en hacer que este .bat le pida al usuario el origen y el destino de la unidad.
Ejemplo el usuario corre el .bat y el escoge el origen del respaldo y escoge hacia que unidad desea pegarlo
@echo off
if F.==. Goto error
Echo ingrese Unidad Origen
Echo ingrese Unidad Destino
Echo Haciendo Respaldo del usuario %username% sobre unidad Destino:
if not exist "c:\users\%username%\Documents" goto :nodatos
if not exist F:\%username%\Documents md f:\%username%\Documents
xcopy /D /S /Y /I /H "c:\users\%username%\Documents\*.*" "F:\%username%\Documents"
if errorlevel 5 echo.&echo Error de disco en la grabacion&goto :fin
if errorlevel 4 goto :fin
if errorlevel 2 echo.&echo No hay espacio suficiente en el disco&goto :fin
if errorlevel 1 echo.&echo No hay archivos a copiar&goto :fin
echo Respaldo terminado correctamente
goto :fin
:nodatos
goto :fin
:Error
:Fin
Pause
En este caso yo designo las unidades tanto origen como destino, pero me gustaría que pudiera ser mas fácil para el usuario solo escoger la unidad, ya que no siempre las unidades son las mismas