У меня есть пакетный файл с 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"
- одна команда, однако сдвиг также выполняется как команда.