PS скрипт через CMD - PullRequest
       15

PS скрипт через CMD

0 голосов
/ 02 апреля 2019

Я пытаюсь запустить выражение PS через CMD, но получаю сообщение об ошибке

powershell -command "Get-ChildItem <FOLDERPATH> -Recurse -file | % { "{0}  {1}" -f $_.FullName, [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName).FileVersion }

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Проблема в символе «%» и в кавычках. Вместо этого используйте ForEach-Object. Псевдонимы не должны использоваться в скриптах. Используйте апострофы вместо кавычек в строке форматирования.

@ECHO OFF
SET "FOLDERPATH=C:/src"
powershell -NoLogo -NoProfile -Command ^
    "Get-ChildItem '%FOLDERPATH%' -Recurse -File |" ^
        "ForEach-Object { '{0}  {1}' -f $_.FullName, [Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName).FileVersion }"
0 голосов
/ 02 апреля 2019

Я подтвердил, что использование одинарных кавычек с двойными кавычками работает, как предложил Энтони Стрингер

powershell -command "Get-ChildItem <FOLDERPATH> -Recurse -file | % { '{0}  {1}' -f $_.FullName, [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName).FileVersion }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...