batch-file
Input och output omdirigering
Sök…
Syntax
- [kommando] [[> | >> | <| 2> | 2 >>] fil]
- [[> | >> | <| 2> | 2 >>] fil] [kommando]
parametrar
Parameter | detaljer |
---|---|
kommando | Alla giltiga kommandon. |
> | Skriv STDOUT till fil. |
>> | Lägg till STDOUT till filen. |
< | Läs filen till STDIN . |
2> | Skriv STDERR till fil. |
2>> | Lägg till STDERR till filen. |
fil | Sökvägen till en fil. |
Anmärkningar
- Du kan lägga till så många olika omdirigeringar som du vill, så länge omdirigeringssymbolen och filen förblir tillsammans och i rätt ordning.
Ett exempel...
@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
Nu ser fil.txt ut:
HELLO!
John Smith!
(förutsatt att du skrev John Smith
som ditt namn.)
Nu ser din batchfils konsol ut:
what is your name?John Smith
done!
Press any key to continue...
HELLO!
John Smith!
(och det bör gå ut så snabbt att du kanske inte kan se någonting efter prompten. Press any key to coninue...
)
Omdirigera specialtecken med fördröjd utvidgning aktiverad
Detta exempel återspeglar specialkaraktären !
i en fil. Det här fungerar bara när DelayedExpansion är inaktiverad. När fördröjd utvidgning i aktiverad, måste du använda tre carets och ett utropstecken som detta:
@echo off
setlocal enabledelayedexpansion
echo ^^^!>file
echo ^>>>file
goto :eof
^> is the text
>> is the redirect operator
pause
endlocal
exit /b
Den här koden kommer att eko följande text i filen
!
>
som
^^^ escapes the ! and echos it into the file
^> escapes the > and echos it into the file
Skriv till en fil
@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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow