batch-file
バッチを使用したファイルの作成
サーチ…
前書き
構文
- エコー(あなたがしたいものをここに入力します)>>(ファイル名)
- echo(変数名)>>(ファイル名)
備考
ファイルが存在する場合、 >
はファイルを上書きし、 >>
はファイルの末尾に追加します。ファイルが存在しない場合、両方とも新しいファイルを作成します。
また、 echo
コマンドは文字列の後に自動的に改行を追加します。
そう
echo 1 > num.txt
echo 1 > num.txt
echo 2 >> num.txt
次のファイルを作成します。
1
2
これではない:
1 1 2
または
1 2
さらに、テキストファイル内の1行だけを変更することはできません。ファイル全体を読み込み、コード内で修正してからファイル全体に書き戻す必要があります。
リダイレクション
フォーマット:
[command] [> | >>] [filename]
>
[コマンド]の出力を[ファイル名]に保存します。
>>
[コマンド]の出力を[ファイル名]に追加します。
例:
echo Hello World > myfile.txt
は "Hello World"をmyfile.txtに保存します。echo your name is %name% >> myfile.txt
は "your name is xxxx"をmyfile.txtに追加しますdir C:\ > directory.txt
は、C:¥のディレクトリをdir C:\ > directory.txt
保存します
ファイルを作成するエコー
echoコマンドでファイルを作成する方法:
ECHO. > example.bat (creates an empty file called "example.bat")
ECHO message > example.bat (creates example.bat containing "message")
ECHO message >> example.bat (adds "message" to a new line in example.bat)
(ECHO message) >> example.bat (same as above, just another way to write it)
ECHO
コマンドを使用してコンピュータの特定のディレクトリにファイルを作成する場合は、問題が発生する可能性があります。
ECHO Hello how are you? > C:\Program Files\example.bat
(This will NOT make a file in the folder "Program Files", and might show an error message)
しかし、それではどうしたらいいのですか?それは実際には非常に簡単です...名前にスペースが含まれているパスやファイル名を入力するときは、 "引用符"
ECHO Hello how are you? > "C:\Program Files\example.bat"
(This will create "example.bat" in the folder "Program Files")
しかし、新しいファイルを出力するファイルを作成したい場合はどうすればよいでしょうか?
ECHO message > file1.bat > example.bat
(example.bat is NOT going to contain "message > file1.bat")
example.bat will just contain "message"... nothing else
それでは、どうすればいいのですか?これは^
記号を使用しています。
ECHO message ^> file1.bat > example.bat
(example.bat is going to contain "message > file1.bat")
バッチ内の他のものにも同じです
次のステップでは、変数とステートメントに関する知識が必要です。
変数について学ぶにはここをクリック ifとelse文については、こちらをクリックしてください。
変数:
SET example="text"
ECHO %example% > file.bat
(This will output "text" to file.bat)
"text"を出力するのではなく単に%example%を出力したい場合、次のように記述します:
ECHO ^%example^% > file.bat
(This will output "%example%" to file.bat)
IF / ELSEステートメント:
ELSE statements are written with "pipes" ||
IF ^%example^%=="Hello" ECHO True || ECHO False > file.bat
(example.bat is going to contain "if %example%=="Hello" echo True")
[it ignores everything after the ELSE statement]
行全体を出力するには、前と同じようにします。
IF ^%example^%=="Hello" ECHO True ^|^| ECHO False > file.bat
This will output:
IF %example%=="Hello" ECHO True || ECHO False
変数が "Hello"と等しい場合は "True"、そうでない場合は "False"
多くのコマンドの出力を保存する
多くのECHO
コマンドを使用してバッチファイルを作成する:
(
echo echo hi, this is the date today
echo date /T
echo echo created on %DATE%
echo pause >nul
)>hi.bat
コマンド・インタープリタは、括弧内のセクション全体を単一のコマンドとして処理し、すべての出力をhi.bat
ます。
hi.bat
は以下が含まれています:
echo hi, this is the date today
date /T
echo created on [date created]
pause >nul