У меня есть простая функция Powershell, которая возвращает путь к заданному каталогу и при необходимости создает этот каталог. Если путь уже существует, функция возвращает строку. Если функция должна создать каталог, она возвращает массив.
function Get-MyDir()
{
$dir= "C:\Temp\MyTest"
if (!(Test-Path $dir))
{
New-Item -ItemType directory -Path $dir
}
return $dir
}
$mydir = Get-MyDir
$filename = "test.txt"
$file = Join-Path $mydir $filename
Write-Host $file
Если каталог существует, этот код печатает C: \ Temp \ MyTest \ test.txt. Если каталог не существует и функция его создает, код выводит C: \ Temp \ MyTest \ test.txt C: \ Temp \ MyTest \ test.txt
Есть ли способ всегда возвращать одну строку?
New-Item
записывает в конвейер. Вы можете перенаправитьNew-Item
наout-null
, если хотите подавить такое поведение. - person Daniel Mann   schedule 30.04.2021