«(в это время было неожиданно» при запуске командного файла из Powershell - PullRequest
0 голосов
/ 19 апреля 2019

Я использую Powershell для удаленного доступа к серверу, а затем запускаю командный файл для выполнения на удаленном сервере.Я могу нормально подключиться к серверу и запустить командный файл.Но когда я выполняю командный файл через Powershell, я получаю сообщение об ошибке

"NotSpecified: (в это время было неожиданно .:String) [], RemoteException"

Однако,если я выполняю пакетный файл локально с сервера, пакетный файл запускается без проблем.Благодаря устранению неполадок и ведению журнала, я думаю, что проблема связана с блоком If-else, который находится в командном файле.Код ниже.Есть ли что-то, что нужно исправить в синтаксисе, чтобы он работал через Powershell?

Предположим, что% prop_arg% - это значение, которое передается в качестве аргумента командной строки.Другие переменные устанавливаются во время выполнения командного файла, прежде чем он попадет в оператор if else.Спасибо за вашу помощь.

if [%prop_arg%] == [] (
    @rem if nothing then use default value
    echo Running Execution for '%USERID%' on %DATE% >> %CURRENT_DIR%\Logs\%LOG_FILE% 
    echo.   >> %CURRENT_DIR%\Logs\%LOG_FILE% 
    echo GEM list:  >> %CURRENT_DIR%\Logs\%LOG_FILE% 
    gem list >> %CURRENT_DIR%\Logs\%LOG_FILE% 
    ruby %CURRENT_DIR%\testscript.rb %CURRENT_DIR%\framework_properties.txt 2>&1 | tee -a %CURRENT_DIR%\Logs\%LOG_FILE%

) else (

    echo Using properties file: %prop_arg%
    ruby %CURRENT_DIR%\testscript.rb %CURRENT_DIR%\%prop_arg% 2>&1 | tee -a %CURRENT_DIR%\Logs\%LOG_FILE%
)

1 Ответ

1 голос
/ 19 апреля 2019

Посмотрите, как вы используете операторы if / else. У вас неправильный синтаксис для них. Вам нужны скобки {}, заключающие биты выполнения if if вместо скобок () у вас есть

пакет не PowerShell, они разные языки и имеют разный синтаксис. Если вы используете пакетный код в powershell, он попытается интерпретировать его как powershell.

если вам нужно запустить командный файл из powershell, сделайте

Запуск процесса C: \ path \ to \ file.bat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...