В Windows, какая разница между 2 <& 1 и 2> & 1?
Примеры и объяснения на этой странице меня смущают:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true
Существует ли какая-либо практическая разница между использованием 2 & 1 и 2 & 1? Вторая форма (2 > & 1) мне знакома, работая с оболочкой Unix.
Связанная выше страница имеет:
Чтобы найти File.txt, а затем перенаправить дескриптор 1 (то есть STDOUT) и обработать 2 (то есть, STDERR) в Search.txt, введите:
findfile file.txt > search.txt 2 < & 1
а также
Чтобы перенаправить весь вывод, включая дескриптор 2 (то есть, STDERR), из команды ipconfig для обработки 1 (то есть STDOUT), а затем перенаправить вывод в Output.log, введите:
ipconfig.exe → output.log 2 > & 1
В конце концов, есть ли разница в результатах?
Ответы
Ответ 1
Некоторые примеры должны показать, что происходит:
c:\YourDir> cd FolderNotHere > nul
The system cannot find the path specified.
Вы получаете поток ошибок
c:\YourDir>cd FolderNotHere > nul 2>&1
Вы ничего не получаете, поток ошибок переходит в выходной поток std, который имеет значение null.
c:\YourDir>cd > nul
Вы ничего не получаете, выходной поток переходит в нуль.
c:\YourDir>cd > nul 1>&2
c:\YourDir
Вы получаете выход std, который был отправлен в поток ошибок, чтобы он не перенаправлялся.
c:\YourDir>cd > nul 1<&2
Эти швы делают то же самое, что 1 > & 2