Irányítsa át a kimenetet a Windows parancssorból egy szöveges fájlba
A Windows rendszeren(Windows) futtatott parancsok vagy kötegelt feladatok viselkedésének naplózásának és hibaelhárításának egyik leghasznosabb módja a kimenet átirányítása egy fájlba.
Van azonban néhány különböző mód a parancssori írások átirányítására egy fájlba. A választott beállítás attól függ, hogyan szeretné megtekinteni a parancs kimenetét.
Hogyan működik a Windows parancssori kimenet(How Windows Command Prompt Output Works)
Amikor beír egy parancsot a Windows konzolba ( parancssor(command prompt) ), a parancs kimenete két külön adatfolyamba kerül.
- STDOUT : Standard Out , ahová a parancsokból származó szabványos válaszok eljutnak. Például a DIR parancs szabványos válasza egy könyvtárban található fájlok listája.
- STDERR : Normál hiba(Standard Error) az a hely, ahová a hibaüzenetek mennek, ha probléma van a paranccsal. Például, ha nincsenek fájlok a könyvtárban, a DIR parancs a „ Fájl(File) nem található” szöveget írja ki a Standard Error adatfolyamba.
Mindkét kimeneti adatfolyam kimenetét átirányíthatja egy fájlba a Windows rendszerben .(Windows)
A szabványos kimeneti írás átirányítása új fájlba(Redirect Standard Output Write to New File)
Kétféleképpen irányíthatja át egy parancs szabványos kimenetét egy fájlba. Az első az, hogy a parancs kimenetének írását egy új fájlba küldjük minden alkalommal, amikor a parancsot futtatjuk.
Ehhez nyissa meg a parancssort, és írja be:
dir test.exe > myoutput.txt
A > karakter arra utasítja a konzolt, hogy az STDOUT parancsot(STDOUT) adja ki az Ön által megadott nevű fájlba.
Amikor futtatja ezt a parancsot(run this command) , észre fogja venni, hogy a parancsablakban nincs válasz, kivéve azt a hibát, hogy a fájl nem létezik.
Ennek az az oka, hogy a parancs szabványos kimenete a myoutput.txt nevű fájlba lett átirányítva. A fájl most ugyanabban a könyvtárban található, ahol a parancsot futtatta. A normál hibakimenet továbbra is a szokásos módon jelenik meg.
Megjegyzés(Note) : Ügyeljen arra, hogy a parancs futtatása előtt módosítsa a parancssor aktív könyvtárát . (change the active directory)Így tudni fogja, hogy a kimeneti fájlok hol vannak tárolva.
Megtekintheti a fájlhoz érkezett szabványos kimenetet, ha beírja a „myoutput.txt” parancsot a parancsablakba. Ez megnyitja a szövegfájlt az alapértelmezett szövegfájl-nézegetőben. A legtöbb ember számára ez általában a Notepad.exe .
Amikor legközelebb ugyanazt a parancsot futtatja, az előző kimeneti fájl törlődik. Új kimeneti fájl jön létre a legutóbbi parancs kimenetével.
A szabványos kimeneti(Standard Output) írások átirányítása ugyanabba a fájlba(Same File)
Mi van, ha nem akarja felülírni ugyanazt a fájlt? Egy másik lehetőség a >> használata a > helyett a kimeneti fájlra való átirányításhoz. Ebben a példában a következőket kell beírnia:
dir test.exe >> myoutput.txt
Ugyanazt a kimenetet fogja látni (csak a hiba).
De ebben az esetben a kimeneti fájl felülírása helyett ez a parancs hozzáfűzi az új kimenetet a meglévő kimeneti fájlhoz.
Minden alkalommal, amikor futtat egy parancsot, és hozzáfűzi a kimenetet egy fájlhoz, az új szabványos kimenetet írja a meglévő fájl végére.
Szabványos hiba átirányítása fájlba(Redirect Standard Error To a File)
Ugyanúgy, ahogy a szabványos kimeneti írásokat átirányíthatja egy fájlba, a szabványos hibafolyamot is kiadhatja egy fájlba.
Ehhez hozzá kell adnia a 2> karaktert a parancs végéhez, majd a létrehozni kívánt kimeneti hibafájlt.
Ebben a példában a következő parancsot kell begépelnie:
dir test.exe > myoutput.txt 2> output.err
Ez elküldi a szabványos kimeneti adatfolyamot a myoutput.txt fájlba, a szabványos hibafolyamot pedig az output.err fájlba. Az eredmény az, hogy egyáltalán nem jelenik meg kimeneti adatfolyam a konzolablakban.
A hibaüzeneteket azonban az output.err(output.err) beírásával láthatja . Ez megnyitja a fájlt az alapértelmezett szövegfájl-nézegetőben.
Amint láthatja, a parancs minden hibaüzenete a hibafájlba kerül. Csakúgy(Just) , mint a szabványos kimenetnél, a >> használatával hozzáfűzheti a hibát a korábban futtatott parancsok hibáihoz.
Az összes kimeneti írás átirányítása ugyanabba a fájlba(Redirect All Output Writes to a Same File)
A fenti megközelítések mindegyike több fájlt eredményez. Az egyik fájl a szabványos kimeneti adatfolyamhoz, a másik pedig a szabványos hibafolyamhoz.
Ha mindkét kimenetet ugyanabba a fájlba szeretné belefoglalni, ezt is megteheti. Ehhez csak át kell irányítania az összes kimenetet ugyanabba a fájlba a következő paranccsal.
dir test.exe 1> myoutput.txt 2>&1
A parancs a következőképpen működik:
- A szabványos kimenet az 1-es kimeneti számmal azonosított kimeneti fájlba kerül.
- A 2-es számmal azonosított szabványos hibakimenet át lesz irányítva az 1-es számmal azonosított kimeneti fájlba.
Ez hozzáfűzi a hibakimenetet a szabványos kimenet végéhez.
Ez egy hasznos módja annak, hogy bármely parancs összes kimenetét egy fájlban tekintse meg.
Szabványos vagy hibás kimeneti adatfolyamok elnémítása(Silencing Standard or Error Output Streams)
Kikapcsolhatja a normál kimenetet(Standard Output) vagy a szabványos hibát(Standard Error) is, ha a kimenetet fájl helyett NUL -ra irányítja át .
A fenti példa alapján, ha csak szabványos kimenetet(Standard Output) szeretne, és egyáltalán nem szabványos hibát(Standard Error) , akkor a következő parancsot használhatja:
dir test.exe 1> myoutput.txt 2>nul
Ez ugyanazt a kimeneti fájlt eredményezi, mint a fenti első példában, ahol csak a szabványos kimenetet(Standard Output) irányította át, de ezzel a paranccsal a hiba nem visszhangzik a konzolon belül. Nem hoz létre hibanapló fájlt sem.
Ez akkor hasznos, ha nem törődik a hibákkal, és nem szeretné, hogy azok zavaróak legyenek.
A fenti kimeneti parancsok bármelyikét végrehajthatja egy BAT-fájlon belül,(inside a BAT file) és a sor kimenete az Ön által megadott kimeneti fájlba kerül. Ez egy hasznos módja annak ellenőrzésére, hogy a BAT -fájlban lévő parancsok nem hibáztak-e, amikor megpróbálták futtatni.
Related posts
Mentse el a futó folyamatok listáját egy szöveges fájlba a Windows rendszerben
A Taskkill parancs használata Windows 10/11 rendszerben
Szöveg eltávolítása az ikonokról a Windows tálcán
A Windows parancssorához való hozzáférés megakadályozása
Távolítsa el a szöveges címkéket az asztali ikonokról a Windows 7/8/10 rendszerben
Az Outlook parancssori váltása Windows 10 rendszeren
A hibák ellenőrzéséhez készítsen rendszerállapot-jelentést a Windows 7 rendszerben
A Windows Explorer magas CPU-használatának csökkentése
HTML-kód a szöveg kép köré fonni
Engedélyezze a Játék módot a teljesítmény simítása érdekében a Windows 10 rendszerben
Böngésző Sandbox beállítása és használata Windows rendszeren
A FINDSTR és a Select-String parancsok használata a Windows 11/10 rendszerben
Videó átméretezése az FFmpeg parancssor használatával a Windows 10 rendszerben
A Windows eseménynaplóinak exportálása, törlése és méretének növelése
Két partíció egyesítése a Windows 7/8/10 rendszerben
Keresés egyszerre több szöveges fájlban
Hogyan lehet letiltani a Windows kulcsot
ChkDsk parancssori opciók, kapcsolók, paraméterek a Windows 11/10 rendszerben
A Microsoft Store alkalmazásainak megnyitása a parancssorból
A füles parancssor használata Windows 10 rendszerben