Varios Xcopy en archivo . Bat

Me gustaría saber por que cuando mando a correr el archivo .Bat el me copia la primera capeta muy bien pero la segunda, ni la tercera no me dice Demasiados parámetros a que se debe esto, necesariamente solo se puede poner una dirección de Xcopy o tengo algo mal escrito en el código: Mira abajo
-
@echo off
Echo Backup
Color 0a
Title Haciendo BackUP ...
Rem el /E es para copiar subdirectorios /I para que cree las carpetas si no estan creadas
pause
IF ERRORLEVEL 2 GOTO ERROR
XCOPY /E /I /H /Y C:\Lotus\*.* C:\BkupLotus
XCOPY /E /I /H /Y %USERPROFILE%\Desktop\*.* C:\BkupDesk
XCOPY /E /I /H /Y %USERPROFILE%\My Documents\*.* C:\BkupDocuments
echo Proceso Completado
pause
exit
:Error
Pause
-

1 respuesta

Respuesta
1
Creo que el problema está en la utilización de "nombres largos" que supone el utilizar la variable USERPROFILE puesto que esta variable contiene nombres con espacios (típicamente algo como C:\Documents and Settings\usuario). Normalmente se suele resolver ese problema precediendo el nombre largo de unas comillas pero las pruebas que he hecho con el XCOPY no he conseguido que me funcionen. Voy a seguir investigando pero mientras tanto podrías probar con algo como
-
@echo off
Echo Backup
Color 0a
Title Haciendo BackUP ...
Rem el /E es para copiar subdirectorios /I para que cree las carpetas si no estan creadas
pause
IF ERRORLEVEL 2 GOTO ERROR
XCOPY /E /I /H /Y C:\Lotus\*.* C:\BkupLotus
C:
CD %USERPROFILE%\Desktop\
XCOPY /E /I /H /Y *.* C:\BkupDesk
CD %USERPROFILE%\My Documents\
XCOPY /E /I /H /Y *.* C:\BkupDocuments
Echo Proceso Completado
Pause
exit
:Error
Pause
-
Creo que así conseguirás lo que te propones, aunque reconozco que no es muy elegante.
Si encuentro una forma más fina te lo diré.
Saludos,
GGG
No sé por qué ayer no me funcionaba la opción sencilla y elegante desde casa. Hoy, desde el trabajo, no me da problemas.
Sería así:
-
@echo off
Echo Backup
Color 0a
Title Haciendo BackUP ...
Rem el /E es para copiar subdirectorios /I para que cree las carpetas si no estan creadas
pause
IF ERRORLEVEL 2 GOTO ERROR
XCOPY /E /I /H /Y C:\Lotus\*.* C:\BkupLotus
XCOPY /E /I /H /Y "%USERPROFILE%\Desktop\*.*" C:\BkupDesk
XCOPY /E /I /H /Y "%USERPROFILE%\My Documents\*.*" C:\BkupDocuments
echo Proceso Completado
pause
exit
:Error
Pause
-
Como puedes ver he entrecomillado los dos XCOPY que usan la variabel USERPROFILE. Si te da algún problema de "Error de análisis" será porque el nombre de la carpeta no existe (por ejemplo, en mi caso, al trabajar en "español" la carpeta "Desktop" se llama "Escritorio").
Espero que con esto se te resuelva el problema. Si no fuera así dímelo (y si fuera así, dímelo también).
Saludos,
GGG
Ha pasado tanto tiempo que no acabo de entender por qué no das ninguna señal de vida.
Si resolviste el problema, con o sin mi ayuda, cierra la pregunta.
Si sigues teniendo problemas dímelo y seguro que encontramos la solución.
Saludos,
GGG
Disculpame experto es que me había ausentado por que tengo mucho trabajo en la oficina y no he tenido chance de nada, y ahora fue que me acorde y quise venir a chequear ya probé y funciona excelente, de verdad Eres Bueno.
/
Gracias nuevamente y disculpa mi tardanza.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas