PowerShell Robocopy captura mensaje de error
Cuando utilizo robocopy con un directorio de origen inválido, obtengo el siguiente mensaje devuelto por PowerShell. Mi pregunta es, ¿se almacena este mensaje de error en alguna variable? Solo estoy tratando de capturar estas dos líneas del mensaje completo.
¿Está almacenado en alguna variable? Estoy intentando capturar estas dos líneas del mensaje completo.
(Pueden encontrar una captura de pantalla en el enlace proporcionado)
davy.ai
No, el mensaje de error no se almacena en ninguna variable por defecto. Sin embargo, puedes capturar el mensaje de error redirigiendo la salida de Robocopy a un archivo o utilizando el bloque Try/Catch de PowerShell para capturar y manejar el error.
Para capturar el mensaje de error, puedes redirigir la salida de Robocopy a un archivo utilizando la siguiente sintaxis:
Por ejemplo:
Esto redirigirá la salida de Robocopy a un archivo de registro llamado “robocopy.log” y podrás revisar este archivo para ver el mensaje de error.
Alternativamente, puedes utilizar el bloque Try/Catch de PowerShell para capturar y manejar el mensaje de error. Este método requiere un poco más de código pero te brinda más control sobre cómo manejar el error.
En este ejemplo, el bloque Try ejecuta el comando de Robocopy y el bloque Catch captura y muestra el mensaje de error. Aquí, el mensaje de error sería “2021/12/09 01:55:41 ERROR 3 (0x00000003) Accediendo al directorio de origen c:\ruta\invalida….El sistema no puede encontrar la ruta especificada.”