Powershell elimina i file solo dalla directory


14

Sto cercando di eliminare tutti i file (ma non le directory) nella cartella D: \ MyTemp, ho provato:

Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"

Tuttavia, quando controllo, tutti i file sono ancora lì.
Cosa mi sto perdendo?

Risposte:


18

Prova questo:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer }

Trovato qui: /superuser/150748/have-powershell-get-childitem-return-files-only

Per eliminare tutti i file solo nella directory specificata (ignorando le directory secondarie):

Remove-Item "D:\MyTemp\*.*" | Where { ! $_.PSIsContainer }

1
Questo elenca solo i file nella directory corrente
SteB

Mio male, non ero sicuro che volessi fare la ricorrenza. Modificherò l'originale. Puoi semplicemente aggiungere -recurse al comando Get-ChildItem
bourne

Funziona (elimina solo i file dalla directory specificata, ignorando le directory secondarie): Rimuovi elemento "D: \ MyTemp \ *. *" | Dove { ! $ _. PSIsContainer}
SteB

È fantastico. Sono contento che tu abbia funzionato.
Bourne,

Mi dispiace tra SteB, ho appena notato che ho dimenticato di includere l'elemento Rimuovi. Sarà una lunga giornata Eeeek !!!
Bourne,

12

La risposta accettata non ha funzionato per me, invece avevo bisogno di:

Get-Childitem -File | Foreach-Object {Remove-Item $_.FullName}

Per includere cartelle e file, aggiungere -Recurse:

Get-Childitem -File -Recurse | Foreach-Object {Remove-Item $_.FullName}

1
Questo elimina anche i file dalle sottodirectory - probabilmente non quello che l'OP intendeva ...
Robbie Dee,

1
Questa risposta dovrebbe essere accettata una. Io ti ho scelto!
Teoman Shipahi,

4

Eri quasi lì, avevi solo bisogno di:

Remove-Item "D:\MyTemp\*.*"

0

@bourne ce l'aveva quasi fatta:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer } | remove-item

3
Questo non fornisce una risposta alla domanda. Una volta che hai una reputazione sufficiente , sarai in grado di commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
rnxrx,

Cosa vuoi dire con che non fornisce una risposta? Che cosa fa? È l'unica risposta completa sulla pagina.
Mordechai,

Non è una risposta autosufficiente. Al punto della tua risposta è una correzione per un'altra risposta e dovrebbe essere inclusa come commento.
rnxrx,

scusa, immagino tu non capisca powershell. Solo perché mi riferisco a un'altra risposta, la mia non è meno "autosufficiente",
Mordechai il

potresti voler spiegare il problema con l'altra risposta, rendendolo un comando. Altrimenti potresti voler spiegare cosa fa il tuo comando Powershell
Dennis Nolte il
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.