76

存在しない場合はPowerShellを使用してフォルダーを作成しようとしているので、次のようにしました。

$DOCDIR = [Environment]::GetFolderPath("MyDocuments")
$TARGETDIR = "$DOCDIR\MatchedLog"
if(!(Test-Path -Path MatchedLog )){
   New-Item -ItemType directory -Path $DOCDIR\MatchedLog
}

これにより、フォルダーが既に存在するというエラーが表示されますが、フォルダーを作成しようとするべきではありません。

ここで何が問題なのかわかりません

New-Item : 指定された名前 C:\Users\l\Documents\MatchedLog のアイテムは既に存在します。C:\Users\l\Documents\Powershell\email.ps1:4 char:13 + New-Item <<<< -ItemType ディレクトリ -Path $DOCDIR\MatchedLog + CategoryInfo : ResourceExists: (C:\Users\l. ...ents\MatchedLog:String) [New-Item], IOException + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand`

4

3 に答える 3

119

私も集中していませんでした、ここにそれを行う方法があります

$DOCDIR = [Environment]::GetFolderPath("MyDocuments")
$TARGETDIR = '$DOCDIR\MatchedLog'
if(!(Test-Path -Path $TARGETDIR )){
    New-Item -ItemType directory -Path $TARGETDIR
}
于 2013-06-26T20:07:17.347 に答える
59

New-Item を使用すると、Force パラメータを追加できます

New-Item -Force -ItemType directory -Path foo

または ErrorAction パラメータ

New-Item -ErrorAction Ignore -ItemType directory -Path foo
于 2014-04-28T22:16:40.653 に答える
21

-Not演算子を使用し、読みやすさの好みに応じた代替構文:

if( -Not (Test-Path -Path $TARGETDIR ) )
{
    New-Item -ItemType directory -Path $TARGETDIR
}
于 2016-11-18T02:18:12.653 に答える