Skrypt wsadowy - wejście / wyjście

Istnieją trzy uniwersalne „pliki” do wprowadzania danych z klawiatury, drukowania tekstu na ekranie i błędów drukowania na ekranie. Plik „Standard In”, znany jakostdin, zawiera dane wejściowe do programu / skryptu. Plik „Standard Out”, znany jakostdout, służy do zapisywania danych wyjściowych do wyświetlenia na ekranie. Wreszcie plik „Standard Err”, znany jakostderr, zawiera wszelkie komunikaty o błędach do wyświetlenia na ekranie.

Do każdego z tych trzech standardowych plików, zwanych inaczej strumieniami standardowymi, odwołujemy się przy użyciu liczb 0, 1 i 2. Stdin to plik 0, stdout to plik 1, a stderr to plik 2.

Przekierowywanie danych wyjściowych (Stdout i Stderr)

Jedną z powszechnych praktyk w plikach wsadowych jest wysyłanie danych wyjściowych programu do pliku dziennika. Operator> wysyła lub przekierowuje stdout lub stderr do innego pliku. Poniższy przykład pokazuje, jak można to zrobić.

Dir C:\ > list.txt

W powyższym przykładzie stdout polecenia Dir C: \ jest przekierowywane do pliku list.txt.

Jeśli dodasz liczbę 2 do filtru przekierowania, przekierowałaby ona plik stderr do pliku lists.txt.

Dir C:\ 2> list.txt

Można nawet połączyć stdout i stderrstrumieni przy użyciu numeru pliku i przedrostka „&”. Oto przykład.

DIR C:\ > lists.txt 2>&1

Blokowanie wyjścia programu

Pseudo plik NUL służy do odrzucania wszelkich danych wyjściowych programu. Poniższy przykład pokazuje, że dane wyjściowe polecenia DIR są odrzucane przez wysłanie danych wyjściowych do wartości NUL.

Dir C:\ > NUL

Stdin

Aby pracować ze standardem Stdin, musisz zastosować obejście, aby to osiągnąć. Można to zrobić, przekierowując własne stdin wiersza polecenia o nazwie CON.

Poniższy przykład pokazuje, jak można przekierować dane wyjściowe do pliku o nazwie lists.txt. Po wykonaniu poniższego polecenia wiersz polecenia przyjmie wszystkie dane wprowadzone przez użytkownika, aż otrzyma znak EOF. Później wysyła wszystkie dane wejściowe do pliku lists.txt.

TYPE CON > lists.txt