Я пытаюсь сделать пакетный файл, который немного упрощает командную строку. Проблема, с которой я сталкиваюсь, заключается в том, что после созданной мной системы проверки ошибок я не хочу, чтобы что-то происходило с "else".
Мне нужен эквивалент аргумента pass
, который есть в Python; аргумент, который дает интерпретатору знать, что не нужно ничего делать, а нужно подождать, пока не будет указана следующая строка с инструкциями.
Есть ли эквивалент этой партии? Если нет, есть ли простой способ сделать что-то подобное?
решение1
Batch не имеет реального эквивалента python's pass
, но, похоже, он вам здесь не нужен. Если вы не хотите ничего делать в else
предложении, просто полностью опустите это предложение. Например:
IF EXIST "somefile.txt" (
ECHO "yay!"
)
решение2
Простейшее решение — использовать REM
команду или REM pass
.
Насколько мне известно, в командной строке нет эквивалента команды «pass».
Если вам действительно нужна команда 'pass', вы можете создать свою собственную. Например, возьмите любой пример "Hello, World!" на вашем любимом языке программирования, удалите команду print и скомпилируйте его в 'pass'. Поместите вывод куда-нибудь в свой путь, и вот вам.
решение3
Вместо pass in python используйте goto и злоупотребляйте им здесь. Он был создан для этого. Мы настроим pass goto следующим образом:
если бла-бла-бла, то выведите "бла-бла" goto :pass
:return echo "теперь мы здесь"
:pass echo "бла-бла" goto :return
Я вижу, что goto все говорят как нет-нет, и я говорю, что это чушь. Они решают очень сложные проблемы кода, если используются правильно, и пока вы уверены, что все они определены и используются только один раз, они очень надежны. Я знаю, что это старый вопрос, но, возможно, он поможет кому-то еще.
Хосс