Escribir archivos binarios en PowerShell [3 formas]
Usando el cmdlet Agregar contenido
Utilice el cmdlet Add-Content para escribir archivos binarios en PowerShell.
Utilice el cmdlet Agregar contenido:
$binaryData = [Byte[]] (0x01, 0x02, 0x03, 0x04)
Add-Content -Path ".\test.bin" -Value $binaryData -Encoding ByteEste script creó un nuevo archivo llamado test.bin en el directorio de trabajo actual y escribió los datos binarios en el archivo. El script agregará datos al archivo existente si el archivo ya existe. Primero, almacenamos la matriz de bytes en $binaryData que contiene diferentes valores.
Luego, utilizamos el cmdlet Add-Content para escribir los datos binarios proporcionados en el archivo .bin especificado; en nuestro caso, está en el directorio actual. Aquí, el parámetro -Path se usó para especificar la ruta del archivo mientras que el parámetro -Value se usó para especificar el contenido que se agregará; en este caso, es la variable $binaryData. A continuación, el parámetro -Encoding Byte le indica a PowerShell que escriba los datos como un archivo binario.
Usando el método [IO.File]::WriteAllBytes()
Utilice el método [IO.File]::WriteAllBytes() para escribir archivos binarios en PowerShell.
Utilice el método WriteAllBytes():
$binaryData = [Byte[]] (0x01, 0x02, 0x03, 0x04)
[IO.File]::WriteAllBytes(".\test.bin", $binaryData)Aquí, utilizamos el método [IO.File]::WriteAllBytes() para escribir el contenido de la matriz de bytes ($binaryData) en un archivo binario. El primer parámetro fue la ruta del archivo; en este caso, es test.bin en el directorio actual; el segundo parámetro fue la matriz de bytes ($binaryData) que contiene los datos binarios.
Hasta ahora, hemos aprendido cómo escribir una matriz binaria en un archivo binario; veamos cómo podemos escribir el archivo binario cuando se nos proporciona la cadena codificada base64.
Usando FromBase64CharArray() con Add-Content
Para escribir en un archivo binario en PowerShell:
- Utilice
FromBase64CharArray()para convertir la cadena codificada en base64 en una matriz de bytes. - Utilice el cmdlet
Add-Contentpara escribir una matriz de bytes (recibida en el paso anterior) en un archivo binario.
Utilice el método FromBase64CharArray() con el cmdlet Agregar contenido:
$base64String = "TESTING=="
$binaryData = [System.Convert]::FromBase64String($base64String)
Add-Content -Path ".\test.bin" -Value $binaryData -Encoding ByteEn el código anterior, la variable $base64String contenía una cadena codificada base64; esta cadena era la versión codificada de una matriz de bytes. La variable $binaryData recibe el resultado del método [System.Convert]::FromBase64String(); este método convierte la cadena codificada base64 en una matriz de bytes.
Luego, utilizamos el cmdlet Add-Content que analizamos en la primera sección para escribir los datos binarios almacenados en la variable $binaryData en un archivo llamado test. bin. Aquí, se utilizó el parámetro -Encoding Byte para informar a PowerShell que escriba los datos especificados como un archivo binario.
Nota: La cadena
base64debe ser una cadena válida codificada enbase64; de lo contrario,[System.Convert]::FromBase64String() El métodogenerará una excepción.
Se trata de cómo escribir archivos binarios en PowerShell.
