У меня есть .bat сценарий с командами ftp (все в одном) подобными этому. Посмотрите 5-й down:FTP - Разрешение Переменных среды - Создание сценария FTP на лету во времени выполнения и использовании переменных в рамках сценария FTP
Когда я выполняю .bat из командной строки, все работает хорошо. Файлы передаются (в моем случае) с сервера на мой компьютер.
Однако, когда я выполняю этот тот же .bat файл путем двойного щелчка, он больше не интерпретирует сценарий ftp правильно.
Все другие .bat файлы, кажется, работают то же, если по ним дважды щелкают по сравнению с названным из командной строки. Разве это не будет работать здесь? Если так, почему нет?
Править:
Кажется, что проблема состоит в том, когда это достигает, первый ftp управляют, чтобы использовал переменную.
Например, это откроется и соединится прекрасный, но затем моя следующая команда является получением с переменной для имени файла. Это, может казаться, не читает имя переменной и просто звонит, добираются. Однако я не вижу эту проблему, когда я называю летучую мышь от cmd строки....
Править
Устраненная проблема, см. мой ответ ниже.
Спасибо.
ОТВЕТ:
Мои переменные были объявлены перед для цикла, который сохраняет команды ftp во временном файле и затем заменяет переменные значениями. Таким образом в той точке, не было никаких переменных для замены тех используемых в сценарии ftp.
Только казалось, что это работало из командной строки, потому что, после того как я назвал это первым разом это, вероятно, с ошибками там, но если я назвал его снова, не закрывая консоль, переменные были теперь сохранены в памяти. Оттуда затем было похоже, что это всегда работало от консоли.
После того как они были сохранены в памяти, не имело значения, что для цикла был перед переменными. Переменные были теперь сохранены в памяти после открытия его в первый раз.
При двойном щелчке это открывалось для первой сессии, каждый раз, и переменные были удалены в памяти после того, как это закрылось автоматически. Так в этом случае это открылось и закрылось, каждый раз, когда я дважды щелкнул по нему.
Открытие для первой сессии по сравнению с вызовом его снова в той же консоли, не закрывая его было основным различием здесь. Называя его в, первый раз переменные были бы сохранены, ПРЕЖДЕ ЧЕМ после ftp сценарий был уже создан.
Не стесняйтесь редактировать это, если можно сделать это более ясным...
Это очень твердо, не зная, как сценарий перестал работать.
Основным различием между выполнением из окна командной строки и двойным щелчком был бы рабочий каталог.
Вы не можете изменить это на нормальных пакетных файлах, но можно создать ярлык на пакетный файл и измениться Start in:
каталог там.