Przejdź do głównej zawartości

break


Komenda break wywodzi się z MS-DOS i pierwotnie służyła do włączania lub wyłączania rozszerzonego sprawdzania Ctrl+C (extended CTRL+C checking) na poziomie systemu DOS. W Windows CMD komenda ta nie ma żadnego efektu – pełni funkcję no-op, generując nową linię bez dodatkowej akcji.

Jeśli włączone są rozszerzenia poleceń, a skrypt jest debugowany, wstawienie break w pliku wsadowym może wywołać hard-coded breakpoint w debuggerze. Dzięki przekierowaniu standardowego wyjścia break > plik.txt możesz też tworzyć puste pliki lub czyścić ich zawartość.


Okno terminala
break [on|off]
  • break — w MS-DOS wyświetla bieżące ustawienie; w CMD generuje nową linię.
  • on / off — w MS-DOS włączają lub wyłączają sprawdzanie Ctrl+C; w CMD są ignorowane.

ParametrOpis
(brak)Wywołanie bez parametrów – w MS-DOS wyświetla stan, w CMD nie wykonuje żadnej akcji.
onWłącza rozszerzone sprawdzanie Ctrl+C (MS-DOS).
offWyłącza rozszerzone sprawdzanie Ctrl+C (MS-DOS).

Uwaga: W Windows CMD przełączniki on/off są ignorowane, a komenda nie zgłasza błędu.


  1. Podstawowe wywołanie – nowa linia

    Okno terminala
    C:\> break

    Tworzy nową linię w konsoli bez żadnego efektu.

  2. Tworzenie pustego pliku

    Okno terminala
    C:\> break > EmptyFile.txt

    Tworzy lub czyści plik EmptyFile.txt.

  3. No-op w potoku

    Okno terminala
    C:\> type demo.txt | break

    Odczytuje dane, ale ich nie wyświetla – działa jak true w systemach Unix.


  • W MS-DOS break on / break off kontrolowały reakcję na Ctrl+C; w CMD mechanizm ten jest zautomatyzowany.
  • W skryptach z włączonymi rozszerzeniami break może wywołać hard-coded breakpoint.
  • break to komenda wewnętrzna CMD, nie istnieje jako plik wykonywalny.
  • Aby przerwać wykonywane polecenie lub skrypt, użyj kombinacji klawiszy Ctrl+C lub Ctrl+Break.

Błąd / KomunikatPrzyczynaRozwiązanie
Invalid switch - 'on'Użycie on/off w Windows CMD (komenda nie obsługuje).Wywołaj break bez przełączników.
Brak efektu w pliku wsadowym – break nie przerywa pętliOczekiwanie, że break przerwie pętlę (jest to no-op).W skrypcie użyj goto lub exit /B, albo w PowerShell polecenia break.
'break' is not recognized as an internal or external commandPróba wywołania w środowisku innym niż cmd.exe.Upewnij się, że pracujesz w Command Prompt (cmd.exe), a nie w PowerShell.
Oczekiwanie przerwania procesu – break nie zatrzymuje programuBłędne założenie, że break przerwie bieżące polecenie.Użyj kombinacji klawiszy Ctrl+C lub Ctrl+Break lub obsłuż wyjście w skrypcie przez exit/exit /B.

Porada: Aby zatrzymać wykonywanie polecenia lub skryptu, zamiast break użyj Ctrl+C, Ctrl+Break albo w skrypcie zastosuj exit lub exit /B.