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


16

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

たとえば、コンソールに次の行がある場合:

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

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

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


1
Win 7/8には、clip.exe入力をクリップボードにリダイレクトするがあります。のように使用できますc:\> echo your -command | clip.exe。しかし、それは...コマンド出力のために、より適しています

これを行う方法が組み込まれていません。しかし、おそらく短いautoitスクリプトのようなものとclip.exeを組み合わせて目標をアーカイブすることができます
-weberik

1
Windows 10以降では、デフォルトの動作で行選択がラップされるので、問題はもうありません
-phuclv

回答:


13

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

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

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

詳細な手順:

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

興味深いことに、私はその機能について聞いたことがない。それは得ようとしているのと同じくらい良いように見えます。私はもうウィンドウを使用しませんが、確認する機会が得られたらこの答えを受け入れます。:-)
アダムミラーチップ

1
窓10以来、あなたは、デフォルトでは、Linuxの動作を取得します
phuclv

...そのため、「Linuxターミナルの動作を取得することはできません」は正しくありませ
ん-phuclv

@Luu:Windows 10に関する情報を追加してくれてありがとう。しかし、「デフォルト」とはどういう意味ですか?これは、Windows 10以前のシステムには別の動作があり、そうではないことを示唆しているため、コメントは誤解を招くものです。また、Windows 10を使用しているのは誰ですか?(SCNR)
ヨハネスオーバーマン

1
私はWindows 10を使用しています、コマンドの出力をコピーするときに機能しますが、コマンドプロンプトからステートメントをコピーするときは機能しません。例:1)コマンドプロンプトで複数行にまたがるコマンドを入力します。2)それをコピーします-不要なNewLinesもクリップボードに移動します)。
イヴァンアクチュロフ

3

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

これを何度も行う必要がある場合は、[プロパティ]ではなく[デフォルト]のオプションを変更できます。

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


1
いいアイデアも!使用するのがわかりにくくなりますが、視認性は低下します。
ヨハネスオーバーマン16

1
@Abraxas答えをより詳細に書き直しました。
1j01

0

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

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

私のPowershellプロンプトではこれが有効になっておら、有効にすることで私にとってはうまくいきました。


-2

コードをメモ帳にコピーし、メニューバーでクリックしてFormatからクリックするだけですWord Wrap


-4

SETを使用してから、式の一部を組み合わせます。さらに、このような目的でバッチファイルまたはマクロを実行できます。

@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"

1
この答えは質問とは関係ありません。コピー部分はどこですか?Windowsターミナルの部品はどこにありますか?
ヨハネスオーバーマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.