batch-file
入力と出力のリダイレクト
サーチ…
構文
- [コマンド] [[> | >> | <| 2> | 2 >>]ファイル]
- [[> | | >> | <| 2> | 2 >>]ファイル] [コマンド]
パラメーター
パラメータ | 詳細 |
---|---|
コマンド | 任意の有効なコマンド。 |
> | STDOUT をファイルに書き込みます。 |
>> | ファイルにSTDOUT をSTDOUT します。 |
< | STDIN ファイルを読み込みSTDIN 。 |
2> | STDERR をファイルに書き込みます。 |
2>> | ファイルにSTDERR をSTDERR します。 |
ファイル | ファイルへのパス。 |
備考
- リダイレクトシンボルとファイルが一緒に正しい順序で残っている限り、必要なだけ多くのリダイレクトを追加できます。
例...
@echo off
setlocal
set /p "_myvar=what is your name?"
echo HELLO!>file.txt
echo %_myvar%!>>file.txt
echo done!
pause
type file.txt
endlocal
exit
今すぐfile.txtは次のようになります:
HELLO!
John Smith!
(あなたの名前としてJohn Smith
を入力したと仮定します)。
バッチファイルのコンソールは以下のようになります:
what is your name?John Smith
done!
Press any key to continue...
HELLO!
John Smith!
(そして、それはすばやく終了して、プロンプトの後に何も見ることができないかもしれません。 Press any key to coninue...
)
遅延拡張を有効にしたリダイレクト特殊文字
この例では、特殊文字をエコーします!
ファイルに保存します。これは、DelayedExpansionが無効になっている場合にのみ機能します。遅延拡張が有効になっている場合は、次のように3つのキャレットと感嘆符を使用する必要があります。
@echo off
setlocal enabledelayedexpansion
echo ^^^!>file
echo ^>>>file
goto :eof
^> is the text
>> is the redirect operator
pause
endlocal
exit /b
このコードは次のテキストをファイルにエコーします
!
>
として
^^^ escapes the ! and echos it into the file
^> escapes the > and echos it into the file
ファイルに書き込む
@echo off
cls
echo Please input the file path, surrounded by "double quotation marks" if necessary.
REM If you don't want to redirect, escape the > by preceding it with ^
set /p filepath=^>
echo Writing a random number
echo %RANDOM% > %filepath%
echo Reading the random number
type %filepath%
REM Successive file writes will overwrite the previous file contents
echo Writing the current directory tree:
> %filepath% tree /A
echo Reading the file
type %filepath%
REM nul is a special file. It is always empty, no matter what you write to it.
echo Writing to nul
type %windir%\win.ini > nul
echo Reading from nul
type nul
echo Writing nul's contents to the file
type nul > %filepath%
echo Reading the file
type %filepath%
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow