Powershell неправильно считывает пробелы

#powershell #spacing

#powershell #интервал

Вопрос:

Простая проблема, я пытаюсь выполнить следующую команду:

 $d = ((Get-Date).AddMonths(-1)).ToString('MMM')
$filepath = "<<PATH>>EOM "   $d   " "   $d.Year
New-Item $filepath -type directory
  

Путь работает правильно, это параметр, установленный внешней программой.

Я не могу заставить его распознать » » $ d.Год в пути, он просто останавливается после $ d. Есть ли простой способ заставить его прочитать весь путь к файлу? На данный момент он продолжает создавать новую папку…Начиная с сентября без указания года.

Ответ №1:

Нет свойства Year $d , поскольку вы явно преобразуете его в строку с ToString('MMM') помощью Also вместо того, чтобы пытаться объединить пробелы, используйте строковый формат:

 $d = ((Get-Date).AddMonths(-1))
$filepath = "<<PATH>>EOM {0} {1}" -f $d.ToString('MMM'),$d.Year
New-Item $filepath -type Directory