создание папки в BMC через powershell/window создает файл, а не папку

Я использую Powershell и BMC для автоматизации, я создал скрипт Powershell для создания папки:

$directoryname= "D:\sysdba" 
$DoesFolderExist = Test-Path $directoryname 
$null = if (!$DoesFolderExist){MKDIR "$directoryname"}

$directoryname= "D:\temp" 
$DoesFolderExist = Test-Path $directoryname 
$null = if (!$DoesFolderExist){MKDIR "$directoryname"}

Я использую команду ниже для создания папки на хост-сервере:

<commands>
  <command>\\Path\SPUpgrade\Create_Folder.ps1</command>
</commands>

Но он создает файл вместо папки:

введите здесь описание изображения

Есть идеи, почему? Я смущен, почему не создается папка и почему файл


person deepti    schedule 12.10.2017    source источник
comment
Не знаю, почему mkdir больше не работает, но вы можете попробовать заменить его на: new-item -Path $directoryname -ItemType Directory   -  person Martin Brandl    schedule 12.10.2017
comment
Я не могу воспроизвести это поведение с вашим кодом. Можете ли вы подтвердить, что это действительно ваш сценарий создает файл sysdba, а не какой-то другой процесс, который выполняется в то же время? Вы можете проверить это, изменив путь с «D:\sysdba» на «D:\foo» и посмотреть, произойдет ли то же самое.   -  person Manuel Batsching    schedule 12.10.2017
comment
Может это псевдоним? попробуйте md или предложения, представленные здесь.   -  person VGSandz    schedule 12.10.2017
comment
я проверил новый каталог типа элемента, вместо папки создается тот же файл   -  person deepti    schedule 12.10.2017


Ответы (1)


Использование mkdir из Powershell не рекомендуется, поскольку mkdir — это внешняя утилита, а не внутренняя команда Powershell. Вместо этого используйте New-Item -ItemType directory для достижения желаемого:

$directoryname= "D:\sysdba" 
if(!(Test-Path -Path $directoryname )){
    New-Item -ItemType directory -Path $directoryname
    Write-Host "created a new folder"
}
else
{
  Write-Host "The folder is already exists"
}

И вы можете сделать то же самое для "D:\temp".

person Megabeets    schedule 12.10.2017
comment
я проверил еще раз, файл сгенерирован - person deepti; 12.10.2017