Ответ 1
Я даже не концентрировался, вот как это сделать
$DOCDIR = [Environment]::GetFolderPath("MyDocuments")
$TARGETDIR = '$DOCDIR\MatchedLog'
if(!(Test-Path -Path $TARGETDIR )){
New-Item -ItemType directory -Path $TARGETDIR
}
Я пытаюсь создать папку с помощью powershell, если она не существует, поэтому я сделал:
$DOCDIR = [Environment]::GetFolderPath("MyDocuments")
$TARGETDIR = "$DOCDIR\MatchedLog"
if(!(Test-Path -Path MatchedLog )){
New-Item -ItemType directory -Path $DOCDIR\MatchedLog
}
Это дает мне ошибку, что папка уже существует, но она не должна пытаться ее создать.
Я не уверен, что здесь не так.
Новый элемент: элемент с указанным именем 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
}