J'essaie de créer un dossier à l'aide de PowerShell s'il n'existe pas, alors je l'ai fait:
$DOCDIR = [Environment]::GetFolderPath("MyDocuments")
$TARGETDIR = "$DOCDIR\MatchedLog"
if(!(Test-Path -Path MatchedLog )){
New-Item -ItemType directory -Path $DOCDIR\MatchedLog
}
Cela me donne une erreur que le dossier existe déjà, ce qui est le cas, mais il ne faut pas essayer de le créer.
Je ne suis pas sûr de ce qui ne va pas ici
New-Item: L'élément avec le nom spécifié C:\Utilisateurs\l\Documents\MatchedLog existe déjà. Dans C:\Utilisateurs\l\Documents\Powershell\email.ps1: 4 caractères: 13 + Nouvel élément <<<< -RepertoireItemType -Path $ DOCDIR\MatchedLog + CategoryInfo: ResourceExists: (C:\Users\l. ... ents\MatchedLog: String) [Nouvel élément], IOException + FullyQualifiedErrorId: DirectoryExist, Microsoft.PowerShell.Commands.NewItemCommand`
Je ne me concentrais même pas, voici comment le faire
$DOCDIR = [Environment]::GetFolderPath("MyDocuments")
$TARGETDIR = '$DOCDIR\MatchedLog'
if(!(Test-Path -Path $TARGETDIR )){
New-Item -ItemType directory -Path $TARGETDIR
}
Avec New-Item, vous pouvez ajouter le paramètre Force
New-Item -Force -ItemType directory -Path foo
Ou le paramètre ErrorAction
New-Item -ErrorAction Ignore -ItemType directory -Path foo
Autre syntaxe utilisant l’opérateur -Not
et en fonction de vos préférences de lisibilité:
if( -Not (Test-Path -Path $TARGETDIR ) )
{
New-Item -ItemType directory -Path $TARGETDIR
}