none
Запуск powershell скрипта с командной строки с передачей переменых RRS feed

  • Вопрос

  • Доброго дня!

    Хочу запустить powershell скрипт одной строкой из командной строки (так надо) с передачей параметров.

    в самом скрипте написано так:

    param ($var1=$Args[0], $var2=$Args[1], $var3=$Args[2], $var4=$Args[3], $var5=$Args[4], $var6=$Args[5])

    в командной строке пишу так:

    C:\>powershell.exe -executionpolicy RemoteSigned -file C:\myscript.ps1 значение1 значение2 значение3 значение4 значение5 значение6

    выходит ошибка что var1 "пустой". Пытаюсь запихнуть в var1 электронный адрес.

    Подскажите куда копать?


    17 июня 2013 г. 9:53

Ответы

  • При выполнении скрипта ругается:

    Имя "param" не распознано как имя командлета.

    Версия powershell v1. Вычитал в интернете, что в первой версии не поддерживается param. Есть ли альтернатива?


    Это неправильная информация, в PowerShell v1 есть поддержка ключевого слова param. Перед param других команд быть не должно.
    • Помечено в качестве ответа AliffKa 20 июня 2013 г. 3:01
    19 июня 2013 г. 13:20
    Отвечающий

Все ответы

  • Добрый день!

    Переношу Ваш вопрос в более подходящий раздел форума, - Windows Scripting.


    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"

    17 июня 2013 г. 10:14
    Модератор
  • param ($var1, $var2, $var3, $var4, $var5, $var6)
    Write-host $var1, $var2, $var3, $var4, $var5, $var6

    Вывод:

    PS >  powershell -nologo -noprofile -file 1.ps1 a1 b2 c3 e5 f5 g6
    a1 b2 c3 e5 f5 g6
    PS >  powershell -nologo -noprofile -file 1.ps1 a1 b2 c3 e5 f5
    a1 b2 c3 e5 f5
    PS >  powershell -nologo -noprofile -file 1.ps1 a1 b2 c3
    a1 b2 c3

    • Предложено в качестве ответа Angel-Keeper 19 июня 2013 г. 0:35
    17 июня 2013 г. 15:06
    Отвечающий
  • Можно ли передать в скрипт кириллицу и переменные с пробелом?
    19 июня 2013 г. 2:55
  • Без проблем.

    PS > powershell -nologo -noprofile -file 1.ps1 Привет "Как дела" c3 e5 f5 g6
    Привет Как дела c3 e5 f5 g6

    19 июня 2013 г. 4:55
    Отвечающий
  • При выполнении скрипта ругается:

    Имя "param" не распознано как имя командлета.

    Версия powershell v1. Вычитал в интернете, что в первой версии не поддерживается param. Есть ли альтернатива?

    19 июня 2013 г. 12:54
  • При выполнении скрипта ругается:

    Имя "param" не распознано как имя командлета.

    Версия powershell v1. Вычитал в интернете, что в первой версии не поддерживается param. Есть ли альтернатива?


    Это неправильная информация, в PowerShell v1 есть поддержка ключевого слова param. Перед param других команд быть не должно.
    • Помечено в качестве ответа AliffKa 20 июня 2013 г. 3:01
    19 июня 2013 г. 13:20
    Отвечающий
  • Заработало! Спасибо Kazun за содействие!
    20 июня 2013 г. 3:02