2011-02-08 6 views
2

Я создал простой файл install.bat в своей папке приложения, чтобы выполнить его действие в окнах.Файл Windows .bat не выполняет свою последовательность

Но он выполняет только первую строку .bat-файла.

Есть ли что-то, что мне нужно добавить, чтобы оно продолжалось после первого?

copy something somewhere 
move something somewhereelse 
gem install etc 

Выше указаны типы команд, которые находятся в байте.

Нужно ли мне что-нибудь что-то между ними?

+0

Пакетный файл должен продолжать выполнять каждую строку последовательно, пока вы либо явно не выйдете, либо что-то сильно не сработает, а убивает командный интерпретатор. –

+2

Добавьте «паузу» (без кавычек) в качестве последней строки вашего командного файла, и она оставит окно командной строки открытым, чтобы вы могли проверить наличие ошибок. –

ответ

0

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

+0

на самом деле я запустил его в подсказке, это не подведет. Установка gem требует некоторого времени, скорее всего, не блокировки и попытки выполнить другие команды, не имея возможности. –

1

Вы переписываете файл? Если это так, вам нужно добавить/Y в команду копирования, чтобы подавить приглашение, запрашивающее, хотите ли вы перезаписать файл.

Используйте параметр/h для получения справки по команде копирования. Он покажет это использование и некоторые другие.

2

Является ли первая команда в вашем командном файле фактически командой copy, или это команда, которая запускает другой пакетный файл?

Запуск командного файла от другого простым использованием второго командного файла, имя которого не будет возвращено в вызывающий пакетный файл.

Если вы хотите, чтобы один командный файл вызывал другого и возвращался, вы должны использовать команду call.

Смежные вопросы