Co robi ,,del c:\* /t /q
del c:\* /t /q nie wykona żadnego usunięcia, ponieważ przełącznik /t nie istnieje dla komendy del. cmd.exe zwróci komunikat o błędnej składni („Invalid switch - /t”), a operacja skasowania plików nie zostanie rozpoczęta. Kluczowe punkty
• del – usuwa pliki.
• c:\* – wskazuje wszystkie pliki w katalogu głównym dysku C:.
• /q – tryb cichy (brak pytań o potwierdzenie).
• /t – nieobsługiwany przełącznik → polecenie kończy się błędem.
Składnia komendy del (Windows 10/11, Server 2022):
DEL [/P] [/F] [/S] [/Q] [/A[[:]atributy]] nazwa_pliku
Jedynymi legalnymi przełącznikami są /P /F /S /Q /A. Brakuje /t.
Co dokładnie się dzieje po wpisaniu del c:\* /t /q:
• cmd.exe skanuje argumenty; po napotkaniu „/t” próbuje dopasować do listy znanych przełączników.
• Brak dopasowania skutkuje natychmiastowym przerwaniem wykonania i wyświetleniem błędu; /q nie jest już analizowane.
• Żaden plik nie zostaje usunięty, a kod zakończenia procesu to 1 (ERRORLEVEL = 1).
Dlaczego komenda budzi niepokój:
• Prawdopodobnie autor miał na myśli del c:\* /s /q lub del c:\*.* /f /s /q.
• Wariant z /s usuwałby pliki rekurencyjnie z całego dysku C:, co zazwyczaj prowadzi do nieuruchomienia systemu po restarcie (kasacja plików rozruchowych i bibliotek DLL).
• Współczesne Windows chronią część plików (WinSxS, system32) mechanizmem TrustedInstaller i uprawnieniami ACL, ale uruchomienie komendy z konta SYSTEM lub w środowisku WinPE nadal jest krytyczne.
Ochrona przed skutkami ubocznymi:
• Windows 10/11 w przypadku niepoprawnego przełącznika zatrzymuje komendę zanim jakiekolwiek dane zostaną naruszone.
• W środowiskach zautomatyzowanych (np. skrypty CI/CD) błąd przełącznika może jednak spowodować przerwanie całego pipeline’u – warto sprawdzać kod zwrotny.
C:\); nawet admin często nie usuwa pliku bootmgr bez podniesienia uprawnień. del na rzecz PowerShell Remove-Item, który posiada parametry -Recurse, -Force, -Confirm:$false i lepszą obsługę wyjątków. /q w del odpowiada flagom --yes lub --force w narzędziach linuksowych – pomija pytania bezpieczeństwa. cmd działa podobnie do nieznanej opcji w gcc – natychmiastowy błąd kompilacji. /t pojawia się w poleceniu XCOPY (/T kopiuje strukturę katalogów bez plików) – możliwe źródło pomyłki.del /? lub help del. echo on, -WhatIf w PowerShell) przed właściwym usuwaniem. if "%1"=="C:\" goto :abort). 4DOS/JPSoft TCC miały rozszerzone przełączniki w del, ale /t nadal nie usuwał plików – tworzył listę plików do późniejszego kasowania. W środowisku standardowego cmd.exe przełącznik ten nie istnieje. cmd.exe, lecz prawa do plików są uproszczone; mimo to brak /t pozostaje. cmd.exe a PowerShell pod kątem bezpieczeństwa operacji kasowania. del /s /q. Polecenie del c:\* /t /q nie skasuje niczego, bo /t to niepoprawny przełącznik – cmd.exe przerwie wykonanie z błędem. Gdyby zamiast /t znalazło się /s, komenda w trybie /q bez pytania usunęłaby rekursywnie niemal wszystkie pliki na dysku C:, prowadząc do nieuruchomienia systemu. Zawsze sprawdzaj dokumentację (del /?) i testuj polecenia w bezpiecznym środowisku.