Przejdź do głównej treści

Kwalifikacja: INF.02 - Administracja i eksploatacja systemów komputerowych, urządzeń peryferyjnych i lokalnych sieci komputerowych

Zawód: Technik informatyk

Kategorie: Systemy operacyjne Licencje i oprogramowanie Windows

Którym operatorem należy zastąpić >> w przedstawionym skrypcie, aby po jego wykonaniu plik ala.txt zawierał wyłącznie tekst ola.txt, a jego dotychczasowa zawartość została usunięta?

echo off
echo ola.txt >> ala.txt
pause
A. >>>
B. >
C. |
D. <
Operator > jest tutaj właściwy, bo w interpreterze poleceń Windows CMD oznacza przekierowanie standardowego wyjścia do pliku z nadpisaniem jego zawartości. Czyli polecenie echo ola.txt > ala.txt zapisze wynik działania polecenia echo do pliku ala.txt. Jeśli plik już istniał, jego wcześniejsza zawartość zostanie usunięta, a w środku zostanie wpisany tekst ola.txt, zwykle razem ze znakiem końca linii CRLF. Jeśli pliku nie było, CMD go utworzy. To jest bardzo praktyczna rzecz przy tworzeniu prostych skryptów .bat, np. do generowania plików konfiguracyjnych, logów startowych albo plików pomocniczych. Dla porównania operator >> dopisuje tekst na końcu pliku, więc nie kasuje starej zawartości. Moim zdaniem warto zapamiętać prostą zasadę: jeden znak > nadpisuje, dwa znaki >> dopisują. W dobrej praktyce administracyjnej trzeba uważać z operatorem >, bo można łatwo wyczyścić ważny plik. Przy ścieżkach zawierających spacje używa się cudzysłowów, np. echo test > "C:\Moje pliki\ala.txt". A gdy zależy nam na bardzo dokładnej treści bez przypadkowej spacji przed przekierowaniem, często pisze się echo ola.txt>ala.txt.
W tym zadaniu chodzi o rozróżnienie kilku mechanizmów pracy powłoki, a nie tylko o sam wygląd znaków. Operator >>, który był w skrypcie, służy do dopisywania danych na końcu pliku. To znaczy, że wcześniejsza zawartość ala.txt zostaje zachowana, a nowy tekst trafia za nią. Taki zapis jest dobry na przykład przy plikach dziennika, gdzie każda kolejna operacja ma dopisać następną linię, ale nie pasuje do sytuacji, gdy plik ma zostać wyczyszczony i utworzony od nowa. Zapis >>> nie jest standardowym operatorem nadpisywania w CMD i zwykle wynika z myślenia, że większa liczba znaków > oznacza mocniejsze przekierowanie. Tak to nie działa. Symbol < ma odwrotne znaczenie: przekierowuje wejście polecenia z pliku, czyli polecenie czyta dane z pliku zamiast z klawiatury. Nie zapisuje więc wyniku echo do ala.txt. Znak | to potok, który przekazuje wyjście jednego polecenia jako wejście drugiego, np. dir | more. Potok przydaje się do łączenia narzędzi, ale sam z siebie nie kasuje ani nie tworzy docelowego pliku tekstowego. Typowy błąd polega na kojarzeniu wszystkich tych znaków z jakimś ruchem danych, bez sprawdzenia kierunku i skutku operacji. W CMD trzeba pamiętać konkretnie: > nadpisuje plik, >> dopisuje do pliku, < czyta z pliku, a | przekazuje dane między poleceniami. To ma znaczenie w codziennej administracji Windows, bo pomyłka może albo nie zmienić pliku wcale, albo przypadkiem zostawić starą zawartość tam, gdzie miała zostać usunięta.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.