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.