Como evitar que o retorno de carro seja copiado para a área de transferência no Powershell?

3

Eu tenho um script powershell que está codificando o endereço MAC e, em seguida, postando-o em um arquivo e uma área de transferência.

$hash = [System.BitConverter]::ToString($md5.ComputeHash($utf8.GetBytes($MAC)))
$hash | clip
$hash | Out-File $Env:USERPROFILE\Desktop\this.txt 

O problema que estou tendo é que um retorno de carro está sendo exportado para a área de transferência. Eu não quero isso.

Existe uma maneira de impedir que isso aconteça?

Informações adicionais - Quando eu colo o texto que está na área de transferência em um editor hexadecimal, vejo 0D0A

A função de prancheta estaria bem se eu pudesse perder um pouco como? Obrigado

    
por user610209 25.06.2013 / 22:04

3 respostas

1

Se você pode usar o PowerShell 5.0 ou superior, Set-Clipboard está disponível. Não adiciona nenhum caractere de nova linha. Então, seu exemplo seria:

$hash = [System.BitConverter]::ToString($md5.ComputeHash($utf8.GetBytes($MAC)))
$hash | Set-Clipboard
$hash | Out-File $Env:USERPROFILE\Desktop\this.txt
    
por 18.04.2017 / 16:40
0

$Hash.TrimEnd() deve limpar qualquer espaço em branco unicode no final da string. link

    
por 19.07.2013 / 07:35
0

Infelizmente, parece que clip anexou a nova linha. Então, vamos fazer da maneira .NET!

Aqui está uma função que pega stdin e coloca na área de transferência:

function Out-ClipboardText
{
    param(  
        [Parameter(
            Position=0, 
            Mandatory=$true, 
            ValueFromPipeline=$true)
        ]
        [String]$text
    ) 

    process
    {
        powershell -sta -noprofile -command "add-type -an system.windows.forms; [System.Windows.Forms.Clipboard]::SetText('$text')"
    }
}

Adaptado de link e < href="https://stackoverflow.com/a/887406/1030702"> link

Use assim:

$hash | Out-ClipboardText

Ele usa a função de área de transferência do .NET para definir o texto. Infelizmente, também é um pouco lento e complicado porque precisa iniciar um novo processo do PowerShell no modo STA, conforme necessário para Clipboard ( source ).

    
por 19.07.2013 / 08:03

Tags