batch-file
Input en output omleiding
Zoeken…
Syntaxis
- [commando] [[> | >> | <| 2> | 2 >>] bestand]
- [[> | >> | <| 2> | 2 >>] bestand] [opdracht]
parameters
Parameter | Details |
---|---|
commando | Elk geldig commando. |
> | Schrijf STDOUT naar bestand. |
>> | Voeg STDOUT aan bestand. |
< | Lees bestand naar STDIN . |
2> | Schrijf STDERR naar bestand. |
2>> | Voeg STDERR aan bestand. |
het dossier | Het pad naar een bestand. |
Opmerkingen
- U kunt zoveel verschillende omleidingen toevoegen als u wilt, zolang het omleidingssymbool en bestand samen blijven en in de juiste volgorde staan.
Een voorbeeld...
@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 ziet file.txt eruit:
HELLO!
John Smith!
(ervan uitgaande dat je John Smith
als je naam hebt getypt.)
Nu ziet de console van uw batchbestand er als volgt uit:
what is your name?John Smith
done!
Press any key to continue...
HELLO!
John Smith!
(en het zou zo snel moeten afsluiten dat u mogelijk niets meer ziet na de prompt Press any key to coninue...
)
Redirect speciaal teken met vertraagde uitbreiding ingeschakeld
Dit voorbeeld weerspiegelt het speciale karakter !
in een bestand. Dit zou alleen werken als DelayedExpansion is uitgeschakeld. Wanneer vertraagde uitbreiding is ingeschakeld, moet u drie carets en een uitroepteken als volgt gebruiken:
@echo off
setlocal enabledelayedexpansion
echo ^^^!>file
echo ^>>>file
goto :eof
^> is the text
>> is the redirect operator
pause
endlocal
exit /b
Deze code echo de volgende tekst in het bestand
!
>
net zo
^^^ escapes the ! and echos it into the file
^> escapes the > and echos it into the file
Schrijf naar een bestand
@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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow