Пакетный сценарий: Как мне установить 2-й аргумент в CALL? - PullRequest
0 голосов
/ 13 октября 2011
for /f %%j in ('dir /b *.txt') do (
findstr /m /i "yoyoyo" %%j
    if !ERRORLEVEL! == 0 (
        set post=yoyoyo
        CALL postset.bat "yoyoyo" %%jj
    )
)

Я пытаюсь передать 2 аргумента в CALL первое проходит, но не второе.

edit Моя настоящая проблема была с другой партией, не использовал% 1 и% 2, моя ошибка!

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Код хорошо работает для меня.При передаче 2 или более параметров в postset.bat я могу распечатать% 1 до% 9 (если установлено) из postset.bat.

0 голосов
/ 13 октября 2011

Поскольку вы передаете не переменную %% j, а %% jj .......

Поскольку этого не существует, нулевое значение (ничего) будетпередается в файл bat.

Обновление:

Тест ERRORLEVEL не работает должным образом из-за того, как работает расширение переменных, поэтому файл batникогда не звонил вообще.

Используйте if errorlevel 1 вместо.

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