Передача более 9 параметров в пакетный файл Windows - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть пакетный файл с 2 командами, как показано ниже

echo y | "%10\putty\plink.exe" -ssh %6@%1 -pw "%7" exit
"%10\putty\plink.exe" -ssh %6@%1 -pw "%7" "/u01/./script.sh %1 %2 %3 %4 %5 %6 %7 %8 %9"

Как вы можете видеть, он принимает 10 параметров из другой программы, которая вызывает этот пакет.

Проблема здесь заключается в10-й параметр, поскольку мы можем использовать только параметр до% 9, и после этого% 10 рассматривается как% 1, то есть первый параметр, а 0 - как другое значение.

Как я могу решить эту проблему?

Iпроверили это Как передать более 9 параметров в пакетный файл , однако в моем случае позиции параметров отличаются, так как первый параметр, переданный команде, на самом деле является 10-м параметром, переданным из программы, т.е. echo y |"% 10 \ putty \ plink.exe"

Я немного не понимаю, как мне использовать сдвиг здесь.

Пожалуйста, помогите !!

РЕДАКТИРОВАТЬ:

Я пытался изменить положение параметра от самого вызова программы, так что мне просто нужно передать 10-й параметр, как это:

echo y | "%1\putty\plink.exe" -ssh %7@%2 -pw "%8" exit
"%1\putty\plink.exe" -ssh %7@%2 -pw "%8" "/u01/./script.sh %2 %3 %4 %5 %6 %7 %8 %9
shift
shift
shift
shift
shift
shift
shift
shift
shift
shift %1"

И параметры передаются какожидается, но проблема здесь в том, что команда не выполняется за один раз.

т.е.

"%1\putty\plink.exe" -ssh %7@%2 -pw "%8" "/u01/./script.sh %2 %3 %4 %5 %6 %7 %8 %9 %10"

- одна команда, однако сдвиг также выполняется как команда.

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