es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Script de PowerShell que solo escribe ciertas partes de la interfaz de comando en un archivo .txt

Soy nuevo en PowerShell y actualmente estoy trabajando en un script que escribe el resultado del comando wbadmin get versions en un archivo de texto. El resultado contiene dos (o más) entradas.

Mi resultado (en alemán):

wbadmin 1.0 - Herramienta de línea de comandos de copia de seguridad
(C) Derechos de autor Microsoft Corporation. Todos los derechos reservados.

Tiempo de copia de seguridad: 06.01.2022 10:02 
Destino de copia de seguridad: 1394/Dispositivo USB, Etiqueta Volumen Ni-ssan Skyline(D:)
ID de versión: 01/06/2022-09:02
Restaurable: Volumen(es), Archivo(s), Aplicación(es), Recuperación de nivel básico, Estado del sistema
ID de instantánea: {a14340c6-b013-4f24-9e0c-01b508d32e73}

Tiempo de copia de seguridad: 06.01.2022 15:43 
Destino de copia de seguridad: 1394/Dispositivo USB, Etiqueta Volumen Ni-ssan Skyline(D:)
ID de versión: 01/06/2022-14:43
Restaurable: Volumen(es), Archivo(s), Aplicación(es), Recuperación de nivel básico, Estado del sistema
ID de instantánea: {eaac6691-2fc7-416c-aec2-b9c936908206}

Script de prueba:

$patht = "C:\blaBla.txt"
$process = wbadmin get versions

New-Item $patht
Add-Content $patht -Value $Process 

El problema es que solo estoy interesado en la segunda entrada (06.01.2022 15:43). ¿Hay alguna manera de exportar solo la entrada deseada a mi archivo .txt?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar PowerShell para filtrar la salida del comando wbadmin get versions y solo incluir la segunda entrada en el archivo de texto. Una forma de hacer esto es utilizar el cmdlet Select-Object para especificar que solo quieres el segundo objeto en la salida. Aquí tienes un ejemplo:

    $patht = "C:\blaBla.txt"
    $versions = wbadmin get versions | Select-Object -Index 1
    $versions | Out-File $patht
    

    En este script, Select-Object -Index 1 le indica a PowerShell que solo incluya el segundo objeto en la salida de wbadmin get versions. La información de la versión resultante se almacena en la variable $versions, la cual luego se escribe en el archivo de texto especificado por $patht utilizando el cmdlet Out-File. Esto sobrescribirá el contenido del archivo con únicamente la información de la segunda versión.

Comments are closed.