[BATCH] Crear script dentro de scritpt

Iniciado por Last_squat, 18 Marzo 2021, 15:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Last_squat

Buenas tardes,

tengo dos scripts en robocopy uno para copia y otro para restaurar lo copiado.

El de copia crear una copia personalizada  con el siguiente comando:

FOR /F "usebackq delims== " %%# IN (`whoami`) DO Set usuario=%%#

Luego en el fichero de la restauración sustituyo la ruta creada.

Bien ,mi idea es poder generar el fichero de restore automáticamente desde el propio fichero de copia ya con la ruta del usuario.

He intentando con echo y con copy CON enviando el contenido del script restore pero que use la variable anterior como referencia para la ruta, pero no he tenido suerte.

¿Es posible lo que quiero hacer ?


Gracias de antemano.

Un saludo,

FOR /F "usebackq delims== " %%# IN (`whoami`) DO Set usuario=%%#
REM FOR /F "Tokens=2* Delims==" %%# in ('WMIC.exe ComputerSystem GET name /Format:List') DO Set usuario=%%#
md ".\Backup\%usuario%"

REM Outlook

robocopy "%userprofile%\AppData\Local\Microsoft\Outlook" ".\Backup\%usuario%\Outlook\AppData\Local\Microsoft\Outlook" *.pst /E /V /R:0 /W:0 /MT:20 /ETA
robocopy "%userprofile%\AppData\Roaming\Microsoft\Outlook" ".\Backup\%usuario%\Outlook\AppData\Roaming\Microsoft\Outlook" /E /V /R:0 /W:0 /MT:20 /ETA
robocopy "%userprofile%\AppData\Roaming\Microsoft\Firmas" ".\Backup\%usuario%\Outlook\AppData\Roaming\Microsoft\Firmas" /E /V /R:0 /W:0 /MT:20 /ETA
robocopy "%userprofile%\AppData\Roaming\Microsoft\Signatures" ".\Backup\%usuario%\Outlook\AppData\Roaming\Microsoft\Signatures" /R:0 /W:0 /E /V /MT:20 /ETA


REM IE

robocopy "%userprofile%\Favorites" ".\Backup\%usuario%\IE\Favorites" /E /V /R:0 /W:0 /MT:20 /ETA


REM GOOGLE CHROME

robocopy "%userprofile%\AppData\Local\Google" ".\Backup\%usuario%\Google\AppData\Local\Google" /E /V /R:0 /W:0 /MT:20 /ETA
REM robocopy "%userprofile%\AppData\Roaming\Google" ".\Backup\%usuario%\Google\AppData\Roaming\Google" /E /V /R:0 /W:0 /MT:20 /ETA

REM DESKTOP

robocopy "%userprofile%\Desktop" ".\Backup\%usuario%\Desktop" /E /V /R:0 /W:0 /MT:20 /ETA


REM DOCUMENTS

robocopy "%userprofile%\Documents" ".\Backup\%usuario%\Documents" /E /V /R:0 /W:0 /MT:20 /ETA


REM SAP

REM robocopy "%userprofile%\AppData\Local\SAP" ".\Backup\%usuario%\SAP\AppData\Local\SAP" /E /V /R:0 /W:0 /MT:20 /ETA
robocopy "%userprofile%\AppData\Roaming\SAP" ".\Backup\%usuario%\SAP\AppData\Roaming\SAP" /E /V /R:0 /W:0 /MT:20 /ETA



exit



Y aquí el de restore que me gustaria que se generase automaticamente con la ruta personalizada del usuario :



".\backup\ruta copia del usuario"

REM Outlook

robocopy ".\backup\ruta copia del usuario\Outlook\AppData\Local\Microsoft\Outlook" "%userprofile%\AppData\Local\Microsoft\Outlook" /E /V /R:0 /W:0
robocopy ".\backup\ruta copia del usuario\Outlook\AppData\Roaming\Microsoft\Outlook"  "%userprofile%\AppData\Roaming\Microsoft\Outlook" /E /V /R:0 /W:0
robocopy ".\backup\ruta copia del usuario\Outlook\AppData\Roaming\Microsoft\Firmas" "%userprofile%\AppData\Roaming\Microsoft\Firmas" /E /V /R:0 /W:0 /Z
robocopy ".\backup\ruta copia del usuario\Outlook\AppData\Roaming\Microsoft\Signatures"  "%userprofile%\AppData\Roaming\Microsoft\Signatures" /R:0 /W:0 /E /V

REM IE

robocopy ".\backup\ruta copia del usuario\IE\Favorites" "%userprofile%\Favorites" /E /V /R:0 /W:0

REM GOOGLE CHROME

robocopy ".\backup\ruta copia del usuario\Google\AppData\Local\Google" "%userprofile%\AppData\Local\Google" /E /V /R:0 /W:0
REM robocopy "%userprofile%\AppData\Roaming\Google" ".\backup\ruta copia del usuario\Google\AppData\Roaming\Google" /E /V /R:0 /W:0

REM DESKTOP

robocopy ".\backup\ruta copia del usuario\Desktop" "%userprofile%\Desktop" /E /V /R:0 /W:0

REM DOCUMENTS

robocopy ".\backup\ruta copia del usuario\Documents" "%userprofile%\Documents" /E /V /R:0 /W:0

REM SAP

REM robocopy ".\backup\ruta copia del usuario\SAP\AppData\Local\SAP"  "%userprofile%\AppData\Local\SAP" /E /V /R:0 /W:0
robocopy ".\backup\ruta copia del usuario\SAP\AppData\Roaming\SAP" "%userprofile%\AppData\Roaming\SAP" /E /V /R:0 /W:0




Last_squat

Buenas ,

Se puede cerrar el tema , encontré solución en el post "acciones sobre archivos de texto".

con:

@echo off
(
echo mi codigo
echo mas codigo
) > miscritpt.cmd


Espero le sirva a alguien :)