Как передать второй параметр из CMD (% 2) в переменную PowerShell - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть файл с именем test.bat.

. Он содержит вызов скрипта PowerShell (Process.ps1) следующим образом:

Powershell.exe -File %1

, где %1 - это имяфайла PowerShell, который я передаю в командной строке.

По сути, в командной строке это выглядит так:

e:> test.bat Process.ps1

В данный момент скрипт выполняется так, как должен.Однако мне нужно передать второй аргумент (% 2) в командный файл (test.bat), чтобы он выглядел так:

Powershell.exe -File %1 %2

% 1 - это Process.ps1

% 2 будет именем некоторого куба (то есть CUBE1)

Так что в CMD это будет выглядеть в конечном итоге так:

e:> test.bat Process.ps1 CUBE1

Теперь, как я могу передать этот второй аргумент (CUBE1) впеременная ($CUBE) объявлена ​​в скрипте PowerShell (Process.ps1)?

Я исследовал форумы, но не могу найти пример, подобный моему собственному случаю.

Это можетчто-то очень простое, что я упускаю, но я новичок в PowerShell / пакетных сценариях, поэтому я не могу понять, что ответить.

1 Ответ

0 голосов
/ 12 сентября 2018

Есть два пути.Первый - это использование объявлений Parameter:

Param(
    [Parameter(mandatory)]
    [String]
    $first,
    [Parameter(mandatory)]
    [String]
    $second
)
Write-Output "First argument: " $first
Write-Output "First argument: " $second

Второй - встроенная переменная $args:

Write-Output "First argument: " $args[0]
Write-Output "Second argument: " $args[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...