Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> Tipi di estensione di file >> .

Qual è il comando che eliminerà tutti i file con estensione txt nella tua directory corrente ma mettono in pausa ogni file e chiedi se si desidera o lasciarlo da solo?

Non esiste un singolo comando incorporato in shell comuni (come Bash, ZSH, PowerShell) che fa * esattamente * ciò che hai descritto:Eliminazione di file con un prompt di conferma per ciascuno. Hai bisogno di uno script per raggiungere questo obiettivo.

Ecco esempi in Bash e PowerShell:

Bash (Linux/MacOS):

`` `Bash

#!/bin/bash

per file in *.txt; Fare

Leggi -p "Elimina '$ file'? (y/n)" Risposta

if [["$ risposta" =="y"]; Poi

RM "$ file"

fi

Fatto

`` `

Spiegazione:

* `#!/bin/bash`:linea Shebang, specificando l'interprete.

* `per file in * .txt; Do ... Done`:Loops attraverso tutti i file che terminano in `.txt` nella directory corrente.

* `leggi -p" elimina '$ file'? (y/n) "Risposta ':richiede all'utente il nome file e legge la loro risposta nella variabile` Risposta'.

* `if [[" $ risposta "==" y "]; Quindi ... Fi`:controlla se la risposta è "y" (distinzione dei casi). In tal caso, esegue `rm" $ file "` per eliminare il file. Le citazioni intorno a `" $ file "` sono cruciali per la gestione corretta dei file di file con spazi o caratteri speciali.

PowerShell (Windows):

`` `PowerShell

Get-childitem *.txt | Foreach-object {

$ risposta =lettura-host "elimina '$ ($ _. nome)'? (y/n)"

if ($ risposta -eq "y") {

Rimuovi-Item $ _. FullName

}

}

`` `

Spiegazione:

* `Get-childitem * .txt`:ottiene tutti i file che terminano in` .txt`.

* `Foreach-object {...}`:itera attraverso ogni file.

* `$ _. Nome`:il nome file.

* `$ _. FullName`:il percorso completo del file.

* `Leggi-host" elimina '$ ($ _. Nome)'? (Y/n) "`:richiede la conferma dell'utente.

* `if ($ risposta -eq" y ") {...}`:controlla se la risposta è "y" (insensibile al caso). In tal caso, `Rimuovi-Item $ _. FullName` elimina il file.

prima di eseguire uno script:

1. Salva lo script: Salva il codice sopra in un file (ad es. `Delete_txt.sh` per bash,` delete_txt.ps1` per PowerShell).

2. Rendilo eseguibile (solo bash): Esegui `chmod +x delete_txt.sh` nel tuo terminale.

3. Esegui lo script: Eseguire lo script dalla directory contenente i file `.txt` che si desidera eliminare. Ad esempio:`./Delete_txt.sh` (bash) o`. \ Delete_txt.ps1` (PowerShell).

Avviso importante: Controllare sempre la sceneggiatura prima di eseguirlo. L'eliminazione dei file è un'azione distruttiva. È una buona idea eseguire il backup di file importanti prima di eseguire qualsiasi script che li elimina.

 

software © www.354353.com