web-dev-qa-db-ja.com

強制改行なしでWindowsコマンドプロンプトから複数の行をコピーする

各行が端末の最後に達する新しい行を挿入せずに、Windowsコマンドプロンプトから複数の行をコピーすることは可能ですか?

たとえば、コンソールに次の行があるとします。

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

これを選択してコピーすると、「some」という単語の後に改行が表示されます。手動で削除する必要があります。

ハードラップされた行ではなく、解釈/印刷される形式でデータ(解析されるコマンド、印刷される出力)をコピーする方法はありますか?

16
Adam Millerchip

この点で、Windowsコマンドプロンプトはよく知られています。 Linuxターミナルの動作を取得することはできません(少なくともLuuのコメントによると、Windows 10より前の場合)。

ただし、cmd.exeにはあいまいな機能があります。選択した領域を右クリックして(コピーするときに)Shiftキーを押し続けると、コピーされたテキストのすべての改行が削除されます。

単一の長いコマンド行(複数の端末行にまたがる)を選択する場合は、これで十分です。ただし、常にすべての改行が削除されるため、適切な方法で複数のコマンドライン(またはスクリプト)を選択することはできません。

詳細な手順:

  • 左マウスボタンを使用して長いコマンドラインを選択する
  • シフトダウン
  • 選択した領域を右クリック(コピー)
  • リリースシフト
  • これで、選択したテキストは改行なしでコピーバッファーにあり、たとえばマウスの右ボタンを使用してcmd.exeに貼り付けることができます
14

別のオプションは、コンソールウィンドウのタイトルバーのコンテキストメニューを開き、[プロパティ]に移動して、画面バッファーの幅を折り返さないように十分大きくすることです。 (9999が最大値のようです。)

これを頻繁に行う必要がある場合は、プロパティの代わりにデフォルトのオプションを変更できます。

もちろん、この方法は、行が9999文字より長い場合は機能しません。

3
1j01

Windows 10でこれを有効にするには:

「cmd」または「Windows Powershell」ウィンドウのいずれかで、プロパティに移動し(左上のアイコンをクリック)、「行の折り返しの選択を有効にする」オプションを選択します。

私のPowershellプロンプトはnotを有効にしましたが、有効にするとうまくいきました。

0
Jørn Jensen