Si vous essayez de supprimer un élément particulier quel que soit le type de fichier, vous devrez d’abord vérifier s’il existe ou non. Sinon, vous allez probablement rencontrer une erreur inattendue.
Bien que la vérification et la suppression de fichiers soient relativement faciles à l’aide de l’interface graphique de Windows, vous devez toujours accéder à plusieurs fenêtres pour supprimer un seul fichier. D’autre part, Powershell vous permet de faire la même tâche en utilisant des commandes simples et courtes.
Eh bien, vous pouvez simplement utiliser l’applet de commande Remove-Item pour supprimer un fichier spécifique du chemin donné. Cependant, il existe plusieurs commandes et une pléthore de méthodes pour vérifier si l’élément que vous essayez de supprimer existe ou non.
Concernant la même chose, cet article vous guidera avec les différentes commandes et techniques utiles pour vérifier et supprimer les fichiers existants dans Windows Powershell.
Table des matières
Comment vérifier et supprimer un fichier existant dans Powershell ?
Windows Powershell est un terminal qui permet aux utilisateurs d’automatiser des tâches à l’aide de langages de script. Ainsi, créer, lire, mettre à jour ou supprimer des fichiers à l’aide de cet utilitaire est facile à comprendre et à mettre en œuvre.
Vous avez probablement essayé de vérifier si un fichier existe dans Bash , l’invite de commande et l’interface graphique Windows. Maintenant, dans cette section, vous apprendrez différentes commandes pour le faire dans Powershell et le supprimer si nécessaire.
Utilisation du chemin de test
Test-Path est une commande qui détermine si le chemin/l’adresse fourni existe. Fondamentalement, l’exécution de cette applet de commande sur Powershell génère une expression booléenne . Ici, True indique que le fichier auquel vous essayez d’accéder existe, et False signifie que ce n’est pas le cas. Voici la syntaxe de Test-Path :
Test-Path
Par exemple, pour vérifier si le fichier « text.txt » existe dans le répertoire Documents et le supprimer, voici ce que vous pouvez faire :
- Dans la fenêtre Powershell, copiez et collez la commande ci-dessous :
Test-Path Documentstext.txt
- Maintenant, appuyez sur Entrée et vous devriez obtenir la valeur « True » si elle existe.
Sinon, vous obtiendrez la valeur « False » comme ci-dessous. - S’il existe, vous pouvez maintenant utiliser la commande ci-dessous pour supprimer le fichier :
Remove-Item Documentstext.txt
Cependant, si vous essayez de supprimer le fichier qui n’existe pas, vous recevrez un message d’erreur comme celui ci-dessous.
Si vous ne préférez pas les expressions booléennes, vous pouvez utiliser les instructions if et else pour générer des messages réels. De plus, écrire ce code simple vous aidera à supprimer le fichier existant sans avoir à exécuter plusieurs commandes :
$MyFile = "Documentstext.txt"
if (Test-Path $MyFile) {
Remove-Item $MyFile
Write-Host "The file was found and has been deleted successfully."
}
else
{
Write-Host "The file you're searching for doesn't exist."
}
Dans le code ci-dessus, nous représentons essentiellement l’emplacement par la variable MyFile. Maintenant, le if (Test-Path $MyFile)
détermine si le chemin existe ou non.
Si c’est le cas, vous rencontrerez le message « Le fichier a été trouvé et a été supprimé avec succès. » et la commande Remove-Item $MyFile
supprime votre fichier .
Pour vous en assurer, vous pouvez réutiliser Test-Path Documentstext.txt
et vous devriez obtenir la sortie False.
Cependant, si le fichier n’existe pas, vous rencontrerez simplement le message « Le fichier que vous recherchez n’existe pas ». message au lieu de l’erreur Impossible de trouver le chemin comme précédemment.
Utilisation de Get-Item
Utiliser Get-Item est aussi simple que d’utiliser Test-Path. Cependant, cette applet de commande ne détermine pas si un fichier existe à l’aide d’expressions booléennes. Au lieu de cela, il affiche le mode de votre fichier, l’heure de la dernière écriture, sa longueur et son nom, ainsi que son type . Ci-dessous est la syntaxe de Get-Item :
Get-Item
Veuillez suivre les instructions ci-dessous pour savoir comment identifier et supprimer un fichier existant à l’aide de l’applet de commande Get-Item. À des fins de démonstration, nous supprimerons un fichier image « image.bmp
» du répertoire Documents :
- Après avoir lancé Powershell, collez la commande ci-dessous :
Get-Item Documentsimage.bmp
- Appuyez sur Entrée et vous obtiendrez les détails du fichier si le fichier existe.
Sinon, vous rencontrerez l’erreur Impossible de trouver le chemin. - Si le fichier existe, utilisez maintenant la commande ci-dessous pour le supprimer du répertoire :
Remove-Item Documentsimage.bmp
Mais si le fichier n’existe pas et que vous essayez de le supprimer, vous rencontrerez à nouveau l’ erreur Impossible de trouver le chemin .
Eh bien, vous pouvez également utiliser le programme ci-dessous pour vérifier et supprimer un fichier existant dans Powershell à l’aide de Get-Item
:
$MyFile = "Documentsimage.bmp"if(Get-Item $MyFile -ErrorAction Ignore){Remove-Item $MyFileWrite-Host "The file was found and has been deleted successfully."}else{Write-Host "The file you're searching for doesn't exist and can't be deleted."}
Dans le script ci-dessus, nous avons d’abord affecté une variable MyFile qui stocke le chemin du fichier image.bmp
. Ensuite, nous définissons la condition if comme Get-Item $MyFile -ErrorAction Ignore
, où Get-Item $MyFile
récupère l’élément à partir de l’emplacement , et – ErrorAction Ignore
supprimera l’erreur si le fichier n’existe pas.
Fondamentalement, si votre fichier existe, vous obtiendrez le message » Le fichier a été trouvé et a été supprimé avec succès « , et l’élément est supprimé.
Sinon, vous rencontrerez « Le fichier que vous recherchez n’existe pas et ne peut pas être supprimé. »
Remarque : Vous pouvez également utiliser l’applet de commande Get-ChildItem au lieu de Get-Item. Les deux commandes fonctionnent exactement de la même manière.
Utilisation de [System.IO.File] ::Exists
System.IO
traite de la lecture et de l’écriture dans les fichiers de la bibliothèque de classes du framework .NET. En utilisant l’espace de noms, nous pouvons déterminer rapidement si un fichier existe. Ensuite, à l’aide de l’applet de commande Remove-Item
, la suppression est également possible.
Comme Test-Path, la commande [System.IO.File]::Exists lance également une expression booléenne pour déterminer si un fichier existe ou non. Voici la syntaxe de l’applet de commande [System.IO.File]::Exists
:
[System.IO.File]::Exists(“
Pour la démonstration, vérifions si un fichier MS Word ‘word.docx’ existe dans le répertoire Document et supprimons cet élément :
- Exécutez l’applet de commande ci-dessous dans la fenêtre Powershell :
[System.IO.File]::Exists("Documentsword.docx")
- Maintenant, Powershell renvoie True si le fichier existe.
Sinon, la sortie est False. - Si le fichier que vous recherchez existe, utilisez la commande suivante pour le supprimer :
Remove-Item Documentsword.docx
Eh bien, Powershell déclenche l’erreur Impossible de trouver le chemin si vous essayez de supprimer un fichier inexistant.
De plus, vous pouvez essayer le programme ci-dessous qui adopte l’applet de commande [System.IO.File]::Exists pour supprimer un fichier existant sur Windows Powershell :
$MyFile = "Documentsword.docx"if([System.IO.File]::Exists($MyFile)){Remove-Item $MyFileWrite-Host "The file was found and has been deleted successfully"}else{Write-Host "The file you're searching for doesn't exist and can't be deleted."}
Dans le programme ci-dessus, MyFile est une variable qui stocke le chemin du fichier MS Word. Maintenant, en utilisant le [System.IO.File]::Exists($MyFile)
, nous apprenons si l’élément existe ou non.
Désormais, au lieu d’afficher l’expression booléenne, l’applet de commande Write-Host
affiche » Le fichier a été trouvé et a été supprimé avec succès « . et supprime le fichier s’il existe.
De même, vous obtenez le message » Le fichier que vous recherchez n’existe pas et ne peut pas être supprimé « . si le chemin n’est pas bien défini.
Comment supprimer plusieurs fichiers existants dans Powershell ?
Parfois, vous souhaiterez peut-être supprimer plusieurs fichiers d’un dossier ou d’un répertoire. Dans un tel cas, Windows Powershell fournit une fonctionnalité pour supprimer définitivement tous les fichiers ou les fichiers sélectionnés.
Attention : les éléments ne seront pas déplacés vers la corbeille. Fondamentalement, l’action équivaut à effectuer une suppression permanente à l’aide des touches Maj + Suppr de l’interface Windows.
Dans cette section, nous aborderons des moyens simples et efficaces de vérifier et de supprimer plusieurs fichiers existants dans le programme Powershell.
Tous les fichiers d’un dossier spécifique
Si vous souhaitez supprimer tous les fichiers d’un dossier particulier, quel que soit le type de fichier ou l’extension, voici la commande appropriée que vous pouvez utiliser :
Remove-Item
Par exemple, vérifions les fichiers dans le dossier Exemple et supprimons tous les fichiers qu’il contient. Voici comment procéder :
- Tout d’abord, utilisez la commande ci-dessous pour vérifier les fichiers dans le dossier Exemple :
Get-ChildItem C:UsersBhishuDesktopExample
- Maintenant, vous pouvez exécuter le code ci-dessous pour supprimer tous ces fichiers :
Remove-Item C:UsersBhishuDesktopExample*.*
- Pour confirmer que tous vos fichiers sont supprimés, utilisez à nouveau l’applet de commande
Get-ChildItem
, qui ne devrait rien afficher.
Fichiers cachés ou en lecture seule
Eh bien, la suppression de tous les fichiers ne supprimera pas ceux avec des attributs en lecture seule et masqués. En fait, si vous essayez de supprimer ces éléments, vous obtiendrez l’erreur Vous n’avez pas les droits d’accès suffisants pour effectuer cette opération.
Par conséquent, vous devez utiliser le paramètre -Force pour les supprimer de force :
Remove-Item
Prenons un exemple pour comprendre cela. Supposons que nous ayons un fichier caché et en lecture seule, « word.docx », dans le dossier Example. Donc, pour supprimer cela, voici la commande correcte que vous devez utiliser :
Remove-Item C:UsersBhishuDesktopExampleword.docx -Force
Maintenant, vous ne devriez pas obtenir l’erreur. En fait, vous pouvez valider cela en utilisant la commande Test-Path pour vérifier si le fichier caché existe maintenant au même emplacement.
Tous les fichiers du même type
Si vous ne souhaitez pas supprimer tous les fichiers d’un dossier spécifique, mais souhaitez uniquement supprimer les éléments ayant le même type de fichier, voici la syntaxe que vous recherchez :
Remove-Item
Par exemple, pour supprimer tous les fichiers ayant l’extension .docx du dossier Exemple, veuillez suivre les étapes ci-dessous :
- Tout d’abord, exécutez le script ci-dessous pour vérifier quels fichiers existent dans le dossier :
Get-Item C:UsersbishuDesktopExample*.*
Ici, le*.*
affichera tous les fichiers quelle que soit leur extension. - Étant donné que vous essayez uniquement de supprimer des fichiers du même type, utilisez la commande suivante qui devrait faire le travail :
Remove-Item C:UsersbishuDesktopExample*.docx
Fondamentalement, le*.docx
aidera à supprimer tous ces fichiers avec l’extension .docx. De même, vous pouvez le remplacer par n’importe quel type de fichier (.bmp, .txt, .jpeg), ce qui supprimera uniquement les fichiers avec l’extension correspondante. - Enfin, vous pouvez à nouveau utiliser la commande Get-Item pour afficher tous les fichiers du dossier Example. En effet, vous remarquerez que tous les fichiers .docx sont supprimés.