Copie várias linhas do prompt de comando do Windows sem novas linhas forçadas

14

É possível copiar várias linhas do Prompt de Comando do Windows sem inserir uma nova linha onde cada linha chega ao final do terminal?

Por exemplo, se eu tiver a seguinte linha no console:

c:\very_long_path_here\more_path_here>command_i_want_to_copy -with -some
arguments that wrap over lines.

Se eu selecionar isso e copiá-lo, receberei uma nova linha após a palavra "alguns", que terei que excluir manualmente.

Existe uma maneira de copiar os dados (comando que será analisado, saída impressa) na forma como é interpretada / impressa, e não com linhas de quebra automática?

    
por Adam Millerchip 15.03.2013 / 11:17

4 respostas

10

O Prompt de Comando do Windows é notoriamente quebrado nesse aspecto. Não é possível obter o comportamento do Terminal Linux (pelo menos para o pré-Windows 10, de acordo com o comentário de Luu).

No entanto, há um recurso obscuro no cmd.exe que ajuda: Manter pressionada a tecla Shift quando clicar com o botão direito na área selecionada (para copiar) removerá TODAS as novas linhas no texto copiado.

Se você quiser selecionar uma única linha de comando longa (abrangendo várias linhas de terminal), isso faz o que você deseja. No entanto, ele sempre removerá todas as novas linhas, portanto, não é possível selecionar várias linhas de comando (ou um script) de uma maneira sensata.

Procedimento detalhado:

  • Selecione a linha de comando longa usando o botão esquerdo do mouse
  • Pressione para baixo o deslocamento
  • Clique com o botão direito na área selecionada (para copiar)
  • Lançamento de turno
  • Agora o texto selecionado está no buffer de cópia sem novas linhas e você pode, por exemplo, colá-lo no cmd.exe novamente usando o botão direito do mouse
por 30.09.2015 / 10:56
2

Outra opção é abrir o menu de contexto da barra de título da janela do console, ir para Propriedades e tornar a largura do buffer de tela grande o suficiente para que as coisas não sejam quebradas. (9999 parece ser o valor máximo.)

Se você tiver que fazer muito isso, poderá alterar a opção em Padrões, em vez de Propriedades.

É claro que esse método é quebrado se as linhas tiverem mais de 9999 caracteres.

    
por 20.02.2016 / 00:46
0

Para habilitar isso para o Windows 10:

Com uma janela "cmd" ou "Windows Powershell", navegue até propriedades (clique no ícone no canto superior esquerdo) e selecione a opção "Ativar seleção de quebra de linha".

O prompt do meu Powershell não foi habilitado, permitindo que ele fizesse o truque para mim.

    
por 04.05.2018 / 08:16
-3

Use o SET e combine as partes na expressão. Além disso, você pode fazer para tal arquivo de lote ou macro.

@set WAIKTools=%ProgramFiles%\WAIK\Tools\amd64
@set LabelCD=GRTMPVOL_RU

@IF "%time:~0,1%" GTR "0" SET current=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%@%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%
@IF "%time:~0,1%" LSS "0" SET current=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%@0%TIME:~1,1%.%TIME:~3,2%.%TIME:~6,2%

"%WAIKTools%\oscdimg.exe" -h -m -n -l%LabelCD% -b"%cd%\boot\w32sp3.bif" "BUILD-%current%" "BUILD-%current%-ISO\%LabelCD%.ISO"
    
por 15.03.2013 / 11:59