Powershell, использующий Get-Date в строке для печати в текстовом файле

#powershell

#powershell

Вопрос:

В powershell, если я запускаю Get_Date сам по себе, он выдаст мне правильную дату. Но в моем скрипте, когда я запускаю

"$computer" "_Already_Had_Software_" "(Get-Date)" | Out-File -FilePath "\serverInstallOffice2010RemoteInstallfile.txt" -Append

Он не показывает дату, а просто говорит

 _Already_Had_Software_Get-Date
  

Вместо отображения фактической даты.

Кто-нибудь, пожалуйста, скажите мне, где я могу ошибаться?

Комментарии:

1. "$computer" "_Already_Had_Software_" "$(Get-Date)" Вам нужно использовать подвыражение в вашем примере.

Ответ №1:

Вы должны использовать "$(Get-Date)" . Ваша строка забыла $ , что сообщает powershell о ее выполнении.

Чередует:

  1. "${computer}_Already_Had_Software_$(Get-Date)"
  2. "$computer" "_Already_Had_Software_" (Get-Date)
  3. ({0}_Already_Had_Software_{1} -f $computer, (Get-Date))
  4. [String]::Join('_', ($computer, 'Already_Had_Software', (Get-Date)))

Ответ №2:

Используйте это :

 $date = Get-Date -Format "yyyy-MM-dd --- hh-mm-ss-fff tt Zone K" | Out-String
"$computer"   "_Already_Had_Software_"   "$date" | Out-File -FilePath "\serverInstallOffice2010RemoteInstallfile.txt" -Append