创build一个文件夹,如果它不存在 – “项目已经存在”
我试图创build一个文件夹使用PowerShell,如果它不存在,所以我做了:
$DOCDIR = [Environment]::GetFolderPath("MyDocuments") $TARGETDIR = "$DOCDIR\MatchedLog" if(!(Test-Path -Path MatchedLog )){ New-Item -ItemType directory -Path $DOCDIR\MatchedLog }
这给我错误,该文件夹已经存在,它做,但它不应该试图创build它。
我不确定这里有什么问题
New-Item:具有指定名称C:\ Users \ l \ Documents \ MatchedLog的项目已经存在。 在C:\ Users \ l \ Documents \ Powershell \ email.ps1:4 char:13 + New-Item <<<< -ItemType directory -Path $ DOCDIR \ MatchedLog + CategoryInfo:ResourceExists:(C:\ Users \ l。 … ents \ MatchedLog:String)[New-Item],IOException + FullyQualifiedErrorId:DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand`
我甚至没有专注,这是怎么做的
$DOCDIR = [Environment]::GetFolderPath("MyDocuments") $TARGETDIR = '$DOCDIR\MatchedLog' if(!(Test-Path -Path $TARGETDIR )){ New-Item -ItemType directory -Path $TARGETDIR }
使用New-Item,您可以添加Force参数
New-Item -Force -ItemType directory -Path foo
或者ErrorAction参数
New-Item -ErrorAction Ignore -ItemType directory -Path foo
使用-Not
运算符的替代语法并根据您的偏好设置可读性:
if( -Not (Test-Path -Path $TARGETDIR ) ) { New-Item -ItemType directory -Path $TARGETDIR }