Преусмери излаз са командне линије оперативног система Виндовс у текстуалну датотеку
Један од најкориснијих начина за евидентирање и решавање проблема са понашањем команди или групних послова које покрећете на Виндовс(Windows) - у је преусмеравање излаза на датотеку.
Међутим, постоји неколико различитих начина на које можете да преусмерите записе командне линије у датотеку. Опција коју изаберете зависи од тога како желите да видите излаз команде.
Како функционише излаз Виндовс командне линије(How Windows Command Prompt Output Works)
Када унесете команду у Виндовс(Windows) конзолу ( командна линија(command prompt) ), излаз из те команде иде у два одвојена тока.
- СТДОУТ(STDOUT) : Стандардни излаз(Out) је место где иду сви стандардни одговори из команди. На пример, стандардни одговор за команду ДИР(DIR) је листа датотека унутар директоријума.
- СТДЕРР(STDERR) : Стандардна грешка(Standard Error) је где иду све поруке о грешци ако постоји проблем са командом. На пример, ако у директоријуму нема ниједне датотеке, ДИР(DIR) команда ће извести „ Датотека(File) није пронађена“ у ток Стандардне грешке .(Standard Error)
Можете да преусмерите излаз на датотеку у Виндовс(Windows) -у за оба ова излазна тока.
Преусмери стандардни излаз за писање у нову датотеку(Redirect Standard Output Write to New File)
Постоје два начина на која можете преусмерити стандардни излаз команде у датотеку. Први је да пошаљете излаз команде за писање у нову датотеку сваки пут када покренете команду.
Да бисте то урадили, отворите командну линију и откуцајте:
dir test.exe > myoutput.txt
Знак > говори конзоли да испише СТДОУТ(STDOUT) у датотеку са именом које сте дали.
Када покренете ову команду(run this command) , приметићете да у командном прозору нема одговора осим грешке да датотека не постоји.
То је зато што је стандардни излаз за команду преусмерен на датотеку под називом миоутпут.ткт. Датотека сада постоји у истом директоријуму где сте покренули команду. Стандардни излаз грешке се и даље приказује као и обично.
Напомена(Note) : Пазите да промените активни директоријум(change the active directory) за командну линију пре него што покренете команду. На овај начин ћете знати где се чувају излазне датотеке.
Можете да видите стандардни излаз који је отишао у датотеку тако што ћете у командни прозор укуцати „миоутпут.ткт“. Ово ће отворити текстуалну датотеку у вашем подразумеваном прегледнику текстуалних датотека. За већину људи ово је обично Нотепад.еке(Notepad.exe) .
Следећи пут када покренете исту команду, претходна излазна датотека ће бити избрисана. Нова излазна датотека ће бити поново креирана са излазом последње команде.
Преусмери стандардне излазне(Standard Output) записе у исту датотеку(Same File)
Шта ако не желите да препишете исту датотеку? Друга опција је да користите >> уместо > за преусмеравање на излазну датотеку. У случају овог примера, откуцали бисте:
dir test.exe >> myoutput.txt
Видећете исти излаз (само грешка).
Али у овом случају, уместо да препише излазну датотеку, ова команда додаје нови излаз постојећој излазној датотеци.
Сваки пут када покренете команду и додате излаз у датотеку, она ће написати нови стандардни излаз на крај постојеће датотеке.
Преусмери стандардну грешку у датотеку(Redirect Standard Error To a File)
На исти начин на који можете да преусмерите стандардне излазне записе у датотеку, такође можете да пошаљете стандардни ток грешака у датотеку.
Да бисте то урадили, мораћете да додате 2> на крај команде, након чега следи излазна датотека грешке коју желите да креирате.
У овом примеру, укуцаћете наредбу:
dir test.exe > myoutput.txt 2> output.err
Ово шаље стандардни излазни ток у миоутпут.ткт, а стандардни ток грешака у оутпут.ерр. Резултат је да се никакав излазни ток уопште не приказује у прозору конзоле.
Међутим, можете видети поруке о грешци ако унесете оутпут.ерр(output.err) . Ово ће отворити датотеку у подразумеваном прегледнику текстуалних датотека.
Као што видите, све поруке о грешци из команде излазе у датотеку грешке. Као(Just) и код стандардног излаза, уместо тога можете користити >> да додате грешку грешкама из претходно покренутих команди.
Преусмери све излазне записе у исту датотеку(Redirect All Output Writes to a Same File)
Сви горе наведени приступи резултирају у више датотека. Једна датотека је за стандардни излазни ток, а друга за стандардни ток грешака.
Ако желите да укључите оба ова излаза у исту датотеку, можете и то да урадите. Да бисте то урадили, само треба да преусмерите сав излаз у исту датотеку користећи следећу команду.
dir test.exe 1> myoutput.txt 2>&1
Ево како ова команда функционише:
- Стандардни излаз је усмерен на излазну датотеку идентификовану излазним бројем 1.
- Стандардни излаз грешке идентификован бројем 2 се преусмерава на излазну датотеку идентификовану бројем 1.
Ово ће додати излаз грешке на крај стандардног излаза.
Ово је користан начин да видите сав излаз за било коју команду у једној датотеци.
Утишавање стандардних излазних токова или токова грешака(Silencing Standard or Error Output Streams)
Такође можете да искључите стандардни излаз(Standard Output) или стандардну грешку(Standard Error) тако што ћете преусмерити излаз на НУЛ(NUL) уместо на датотеку.
Користећи горњи пример, ако желите само стандардни излаз(Standard Output) и уопште немате стандардну грешку(Standard Error) , можете користити следећу команду:
dir test.exe 1> myoutput.txt 2>nul
Ово ће резултирати истом излазном датотеком као у првом примеру изнад где сте преусмерили само стандардни излаз(Standard Output) , али са овом командом грешка се неће одјекнути унутар конзоле. Такође неће креирати датотеку евиденције грешака.
Ово је корисно ако вам није стало до грешака и не желите да вам оне сметају.
Можете извршити било коју од истих излазних команди изнад из БАТ датотеке(inside a BAT file) и излаз из те линије ће ићи у излазну датотеку коју наведете. Ово је користан начин да видите да ли је било која команда унутар БАТ(BAT) датотеке имала грешку када је покушала да се покрене.
Related posts
Сачувајте листу покренутих процеса у текстуалну датотеку у оперативном систему Виндовс
Како користити команду Тасккилл у оперативном систему Виндовс 10/11
Како уклонити текст са икона на Виндовс траци задатака
Спречите приступ командној линији у Виндовс-у
Уклоните текстуалне ознаке са икона на радној површини у оперативном систему Виндовс 7/8/10
ХТМЛ код за премотавање текста око слике
Отворите командну линију у фасцикли користећи Виндовс Екплорер
Како штампати текстуалне поруке са Андроид-а
Како направити било коју апликацију или игру преко целог екрана у Виндовс-у
Претражујте у више текстуалних датотека одједном
Како да поправите Стоп:0к000000Ф4 грешку плавог екрана у Виндовс-у
Генеришите извештај о здравственом стању система у оперативном систему Виндовс 7 да бисте проверили да ли постоје грешке
Како променити величину видеа користећи командну линију са ФФмпег у оперативном систему Виндовс 10
Спојите две партиције у Виндовс 7/8/10
Како онемогућити Виндовс кључ
Очистите фасциклу ВинСкС у оперативном систему Виндовс 7/8/10
Претворите ЦСВ у Екцел (КСЛС или КСЛСКС) помоћу командне линије у Виндовс-у
Како отворити ДДС датотеке у оперативном систему Виндовс 10
Како да ваш Виндовс рачунар буде будан без додиривања миша
Како убити процес користећи командну линију у оперативном систему Виндовс 11/10