web-dev-qa-db-ja.com

各行にスペースを追加せずに複数の行をクリップボードにコピーするにはどうすればよいですか?

次のスクリプトを使用して、複数行のテキストをクリップボードにコピーできますが、正常に機能します。

@echo off
(
echo aaa
echo bbb
echo ccc
)|clip

唯一の問題は、何らかの理由で各行の終わりに、手動で削除しなければならない単一のスペースもコピーすることです。

これを防ぐ方法はありますか?

2
Usman Sikander

Windowsバッチスクリプトでデータをパイプするときに余分な空白を防ぐ の答えは、問題を完全に説明しています。私はそれらの答えをあなたのコードに翻訳します。基本的に、環境変数を扱っていないため、使用できる3つのコード例のうち2つがあります。

1)探している正確な動作を明示的に取得するCMD/Cを追加します

cmd /c "echo aaa&echo bbb&echo ccc"|clip

3)ラインフィード変数の遅延拡張を導入します-jebによって開発された驚異的なテクニック

set ^"LF=^
%= This creates a linefeed character =%
"
(echo aaa%%LF%%echo bbb%%LF%%echo ccc%%LF%%)|clip
2
Squashman