Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Что такое 2^? (http://forum.oszone.net/showthread.php?t=184348)

Das Betrunkene Pferd 31-08-2010 20:22 1485934

Что такое 2^?
 
Есть вот такой код:
Код:

For /F "UseBackQ Delims=" %%I In (`Dir Addons /AD /B /ON 2^>nul`) Do (
        Echo Addons\%%~I>>Temp\Folders.txt
)

Собственно вопрос: что означает 2^ после команды dir? Если его убрать, код работать перестаёт; но, если, допустим, вместо 2 поставить 3, всё по-прежнему работает.

amel27 31-08-2010 20:47 1485949

"2>nul" означает подавление сообщений DIR об ошибках (каталог не существует)
"^" экранирует спецсимвол ">", чтобы он срабатывал для DIR, но игнорировался FOR

Das Betrunkene Pferd 31-08-2010 21:04 1485958

А 2 перед ^ зачем?

amel27 31-08-2010 21:23 1485971

номер потока вывода, 1 - основной поток данных, 2 - поток сообщений об ошибках, но не все CMD-утилиты придерживаются этих правил, некоторые выводят только в 1, некоторые только в 2

подробно: Использование операторов перенаправления команд


Время: 02:31.

Время: 02:31.
© OSzone.net 2001-