Windowsバッチファイルを作成して、複数行の.txtを作成しようとしています。文字列に改行を挿入するいくつかの解決策を試しましたが、役に立ちませんでした。他にも同様の質問/回答がありますが、文字列全体をテキストファイルに入れることを扱っているものはありません。
私のバッチファイルは現在読み取ります:
echo Here is my first line
Here is my second line > myNewTextFile.txt
pause
私の目標は、テキストファイルを読み取ることです。
Here is my first line
Here is my second line
明らかに、これは現在は機能しませんが、これを簡単な方法で実現する方法を誰かが知っているのだろうか?
(
echo Here is my first line
echo Here is my second line
echo Here is my third line
)>"myNewTextFile.txt"
pause
最初の行以降の行に対してecho
と>>
を繰り返すだけです。 >>
は、新しいファイルを作成する(または既存のファイルを上書きする)代わりに、ファイルに追加する必要があることを意味します。
echo Here is my first line > myNewTextFile.txt
echo Here is my second line >> myNewTextFile.txt
echo Here is my third line >> myNewTextFile.txt
pause
他の何かを探して、私はこの一方で古い質問につまずきました、そして、私は言及する価値がある追加の小さなトリックを持っていると思います。
すべてのソリューションには、空の行に問題があり、行がechoコマンド自体のオプションで始まる場合に問題があります。これらの例の出力ファイルを比較します。
call :data1 >file1.txt
call :data2 >file2.txt
exit /b
:data1
echo Next line is empty
echo
echo /? this line starts with /?
echo Last line
exit /b
:data2
echo:Next line is empty
echo:
echo:/? this line starts with /?
echo:Last line
exit /b
現在、file1.txtには以下が含まれています。
Next line is empty
ECHO is off.
Displays messages, or turns command-echoing on or off.
ECHO [ON | OFF]
ECHO [message]
Type ECHO without parameters to display the current echo setting.
Last line
File2.txtには以下が含まれます:
Next line is empty
/? this line starts with /?
Last line
の用法 echo:
は、file1.txtの出力に関する問題を奇跡的に解決します。
コロンの他に、echo
に「貼り付ける」ことができる他の文字があります。その中には、ドット、スラッシュなどがあります。