次のスクリプトを使用して、複数行のテキストをクリップボードにコピーできますが、正常に機能します。
@echo off
(
echo aaa
echo bbb
echo ccc
)|clip
唯一の問題は、何らかの理由で各行の終わりに、手動で削除しなければならない単一のスペースもコピーすることです。
これを防ぐ方法はありますか?
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