как передать сложную цепочку в качестве аргумента в пакет 'index1', 'index2', 'index3' - PullRequest
0 голосов
/ 15 ноября 2010

Я хочу передать эту строку 'index1','index2','index3' в пакет

test2.cmd 1 'index1','index2','index3' 3

, и если test2.cmd равен

echo %1
echo %2
echo %3

Я хотел бы увидеть

echo 1
echo 'index1','index2','index3'
echo 3

Но это не работает ... потому что я вижу

echo 1
echo'index1'
echo 'index2'

Как я могу это исправить, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

Просто заключите строку в двойные кавычки:

test2.cmd 1 "'index1','index2','index3'" 3

Правка для ответа на ваш комментарий:

Также измените test2.cmd на

echo %1
echo %~2
echo %3
0 голосов
/ 15 ноября 2010

Проблема здесь в том, что "," является разделителем для параметров, поэтому вы должны заменить его или заключить в кавычки полный параметр, как советовала Вики.

У вас больше проблем, если index1, index2, .. могут содержать кавычки, тогда параметр будет разбит.

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