Eliminare i vecchi file di Windows / programma dalla seconda unità?


22

Il mio PC ha un sacco di unità extra. La maggior parte contiene vecchie copie di Windows e file di programma. Il mio PC si chiama "PC" e il mio utente amministratore si chiama "Tim". Ho assegnato la proprietà di queste seconde unità all'utente "PC \ Tim" e ho anche dato all'utente il pieno controllo delle unità "PC \ Tim". Provo quindi a eliminare le cartelle Windows o Programmi su queste unità e ottengo il messaggio.

"È necessaria l'autorizzazione da PC \ Tim per apportare modifiche a questa cartella."

L'attuale proprietario di queste cartelle è elencato come "Tim (PC \ Tim)". Le autorizzazioni effettive per queste cartelle elencano questo utente ha tutti i diritti.

Le assurde "risposte" sulla comunità di microsoft offrono ovviamente cose come "Usa pulizia del disco" (che è una risposta palesemente non istruita) o "riformatta semplicemente l'unità" (la formattazione evita il problema piuttosto che risolverlo).

Quali sono i passaggi corretti per eliminare questi vecchi file?

Risposte:


55
  1. Apri un prompt dei comandi con privilegi di amministratore.
  2. Esegui i seguenti comandi, uno alla volta (cambia "Z: \ Programmi" con la cartella che desideri eliminare):

    takeown /F "Z:\Program Files" /A /R /D Y
    icacls "Z:\Program Files" /T /grant administrators:F
    rd /s /q "Z:\Program Files"
    

Nota 1 - Lingua del sistema operativo: takeown ... /D Yl'ingresso Y sta per 'Sì' e sarà diverso a seconda della lingua del sistema operativo. La cartella dei file di programma può anche essere denominata diversamente.

Nota 2 - Le vecchie versioni di Windows: se icaclse rdnon sono supportati quindi provare l'uso caclse rmdirinvece

Spiegazione e documentazione:

Il problema potrebbe essere che non si dispone delle autorizzazioni corrette negli elenchi di controllo di accesso discrezionali (DACL) per la cartella e il suo contenuto. I DACL identificano i trustee a cui è consentito o negato l'accesso a un oggetto sicuro. Pertanto, semplicemente assegnare la proprietà alla cartella potrebbe non essere sufficiente, ma è anche necessario concedere l'autorizzazione nei DACL. Puoi concedere l'autorizzazione usando il comando icacls come mostrato nell'esempio sopra. Spiegazione degli elenchi di controllo degli accessi e dei DACL

documentazione di rimozione di Takeown L' amministratore recupera l'accesso a una directory e al contenuto che è stato negato in precedenza, rendendo il gruppo amministratori il proprietario. / F [directory] specifica quale directory, / A dà la proprietà al gruppo amministratori, / R la esegue come operazione ricorsiva sulla directory, tutti i file e le sottodirectory / / sopprime i messaggi di conferma quando l'utente non dispone dell'autorizzazione "Elenco cartelle" con in seguito all'opzione Y che diventa proprietaria della directory. (Nota: l'opzione Y potrebbe essere diversa a seconda della lingua del sistema operativo).

documentazione icacls icacls Concede al gruppo amministratori le autorizzazioni DAC di accesso completo alla directory. [directory] specifica quale directory, / T esegue l'operazione su tutti i file specificati nella directory e nelle sottodirectory, / concede i diritti di accesso dell'utente specificati con : F che fornisce l'accesso completo. (Nota: gli amministratori dei nomi di gruppo possono variare a seconda della lingua del sistema operativo)

rd documentazione rd Elimina la directory con tutte le sottodirectory e file. / s elimina la directory specificata e le relative sottodirectory, inclusi tutti i file, / q specifica la modalità non interattiva in modo che non venga richiesta la conferma, [directory] specifica quale directory eliminare.


5
Per la Windowscartella basta rinominarlo in Windows.olde con lo strumento / programma di pulizia del disco puoi semplicemente eliminarlo
SuperDJ

2
Caclsè ora obsoleto, si prega di utilizzare Icacls.
Tharindu Sathischandra,

1
@Tharindu grazie, ho aggiornato la risposta con icacls ora. Verifica che appaia corretto
Arne H. Bitubekk,

1
rmdirè ora rd
RaisingAgent

@RaisingAgent grazie per gli headups, ho aggiornato lo snippit di codice con rd invece di rmdir
Arne H. Bitubekk

21

Ciò che ha funzionato per me è stata una versione semplificata di questo suggerimento :

  1. Rinomina la Windowscartella inWindows.old
  2. Esegui Pulizia disco dal menu Start
  3. Seleziona l'unità contenente la Windows.oldcartella
  4. "Installazione / i di Windows" precedente, quindi fare clic su OK

Questo ha funzionato per la cartella "Windows". I 3 comandi di Arne HD hanno funzionato per alcune altre cartelle come "Programmi" e ProgramData.
gus,

Inteligente! Ed estremamente semplice. Ha funzionato come un fascino.
oneavi,

1
Funziona con qualsiasi cartella se si cambia il nome in Windows.old. Eccezionale.
AdnanG

Questo è il metodo migliore, ho provato 3 dei metodi descritti qui e questo è stato il migliore.
RaRdEvA

3

Questo ha funzionato in Windows 10 SPAGNOLO:

set del_folder=F:\Program Files
takeown /f "%del_folder%" /r /d S
icacls "%del_folder%" /grant administradores:F /T
rmdir /s /q "%del_folder%"

Nel takeowncomando, devi usare una "S" alla fine per "Sí" in spagnolo, invece di "Y" per "Sì" (inglese).

Per il icaclscomando, è necessario utilizzare "administradores" (spagnolo) e non "amministratori" (inglese).


1

Rinominare semplicemente i file di programma in Windows.old ed eseguire la pulizia del disco per cancellare i file di sistema. Lo stesso trucco funziona su qualsiasi cartella che non è possibile rimuovere.


1

NOTA: ora che ci penso, dovresti essere in grado di iniziare dal passaggio 4, devi solo premere il pulsante "cambia permessi" per ottenere l'accesso. Farei un test, ma sono fuori dalle directory da eliminare.

Su Windows 10 (probabilmente funziona anche con Windows 7 e 8):

  1. Fare clic con il tasto destro su cartella-> proprietà-> sicurezza-> avanzata.
  2. Fai clic su Modifica accanto al proprietario (in alto). Inserisci il tuo nome utente nella casella e premi i nomi di controllo. (Dovrebbe convertirsi in uno stile MACHINENAME \ USERNAME.)
  3. Premi OK, OK, OK per uscire dalle opzioni di sicurezza.

Ora dovresti possedere la directory.

  1. Fare clic con il tasto destro su cartella-> proprietà-> sicurezza-> avanzata. (Ancora.)
  2. Trova "Utenti" nell'elenco delle autorizzazioni. Fai clic su di esso, seleziona Modifica e scegli il controllo completo.
  3. In fondo, seleziona "Sostituisci tutte le voci di autorizzazione figlio ...".
  4. Premi OK, quindi scegli Sì nella casella di avviso. Attendere che il computer applichi le nuove autorizzazioni.

Ora dovresti avere le autorizzazioni necessarie per eliminare i file. Fare così. (Testato su entrambe le cartelle dei file di programma e su Windows.old.)


Testato, funziona! Grazie!
Vai al

0

(Per la cartella di Windows) Se possibile, cambia il nome in windows.old.Poi apri la pulizia del disco, seleziona l'unità e fai clic su OK.Dopo quello fai clic su 'ripulisci i file di sistema' e cancellerà la cartella

Ora se non riesci a rinominare la cartella, scarica lo sblocco, aprilo e seleziona la cartella, fai clic su Rinomina e cambia il nome in Windows.old e quindi esegui la pulizia del disco. : D


-2

Crea una USB live della tua distribuzione Linux preferita, avvia quella, monta le unità e puliscile in quel modo. Letteralmente il modo più semplice per farlo.


1
Penso che la domanda riguardi più le autorizzazioni / la proprietà dei file che la semplice eliminazione dei file. Se esiste la possibilità di eseguire attività utilizzando gli strumenti di Windows, perché qualcuno dovrebbe scaricare 500 MB e altro e creare un USB avviabile? Inoltre, non sono sicuro al 100% che ogni distribuzione Linux "di scelta" sia in grado di gestire correttamente tutte le versioni di NTFS. NTFS non è un file system Linux. Utilizzeresti Windows per manipolare i file sul file system ext4 di Linux?
Snayob,

Il kernel Linux può gestire oltre 50 file system. Inoltre, è letteralmente il modo più semplice per farlo. Forse non è quello che cercava questo utente, ma è facile.
Steven Perszyk,

1
Più semplice? Download di 1 GB e masterizzazione su USB? È davvero più semplice che emettere 3 comandi? Sembra che tu sia un vero guru di Linux;)
snayob,

1
Non sono sicuro di come quel "fatto" casuale e completamente falso riguardi la discussione in corso, ma grazie per avermi illuminato. Se vuoi avere una discussione personale sul perché si dovrebbe scegliere un sistema GNU / Linux, sarei felice di avere quella discussione altrove. A parte questo, questa discussione sta diventando terribilmente fuori tema
Steven Perszyk,

1
Non ho interesse a discutere "Il modo più semplice per farlo". La tua affermazione è GRIDANDO un fatto completamente falso.
Snayob,

-2

È possibile che tu abbia già la proprietà dello stesso utente, poiché si tratta di un disco precedente che ospitava il tuo sistema. Rimuovi quella proprietà e aggiungila di nuovo (la stessa). Ad esempio, se l'utente PETER è proprietario, rimuovilo, applica a tutte le sottocartelle, quindi aggiungi nuovamente PETER e applica. Dovresti quindi essere in grado di rinominare prima la cartella che desideri eliminare, quindi eliminarla.

Saluti


Immaginazione non istruita. Il file system NTFS utilizza i SID degli account utente insieme agli elenchi di controllo di accesso, non i nomi visualizzati dell'account utente.

-2

Supponendo che la cancellazione debba essere effettuata su una seconda unità: ciò che ha appena funzionato per me è:

  1. installare Lockhunter (applicazione gratuita per sbloccare e rinominare i file bloccati) eseguire Lockhunter con privilegi di amministratore;

  2. rinominare la cartella da eliminare in "Windows.old" (dopo la ridenominazione leggerai comunque il nome originale ma non preoccuparti che la ridenominazione verrà confermata da Lockhunter nella finestra principale);

  3. eseguire "Pulizia disco" con privilegi di amministratore;

  4. seleziona la cartella da eliminare che apparirà con il nome "Windows.old" in Pulizia disco ed eliminala.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.