Пакетный скрипт останавливается после открытия Thunderbird

Я хочу, чтобы иметь возможность открыть Thunderbird из пакетного сценария в Windows. Я могу сделать это из командной строки:

C:>"C:Program FilesMozilla Thunderbirdthunderbird.exe"

Если я создаю пакетный скрипт, который выглядит так:

"C:Program FilesMozilla Thunderbirdthunderbird.exe"

и запустить его из командной строки:

C:>t.cmd
C:>"C:Program FilesMozilla Thunderbirdthunderbird.exe"

Thunderbird открывается, но скрипт останавливается (не выходит).

если закрыть Thunderbird вручную, скрипт завершит работу.

прошло некоторое время с тех пор, как я использовал пакетные скрипты. Я делаю что-то не так?

редактировать: сценарий завершает работу, если Thunderbird уже открыт. Странный.

17
задан Željko Filipin
29.01.2023 19:05 Количество просмотров материала 3331
Распечатать страницу

5 ответов

Try

старт /д "C:\Program файлы\Мозилла Тандерберд" Тандерберд.exe

4
отвечен admintech 2023-01-31 02:53

Как предлагает Systech,start команда-это то, что вы ищете, чтобы запустить программу и не ждать ее завершения, прежде чем продолжить.

почему вы видите другое поведение, когда Thunderbird уже запущен, что это только один экземпляр запущен. Вторая копия обнаруживает первую и дает ей фокус перед уходом (таким образом, сразу же возвращает управление вашему пакетному сценарию). При вызове приложения, которое допускает несколько экземпляров себя (что-то как просто как блокнот будет делать, если вы хотите проверить это, чтобы увидеть для себя) вы не увидите, что разница в поведении.

2
отвечен David Spillett 2023-01-31 05:10

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

вы должны использовать опцию "/d", как предлагает Systech.

1
отвечен ChrisF 2023-01-31 07:27

FWIW это не работает должным образом в windows7. Даже при запуске /b Thunderbird завершается при завершении работы управляющей оболочки.

тем не менее, как только вы запустили t'Bird, вы можете открыть другие подокна правильно (например, thunderbird-addressbook) из командной строки.

1
отвечен daddy-o 2023-01-31 09:44

Итак, если вы хотите запустить t'Bird из командной строки windows или пакетного файла, я понял, как это сделать. Как вы, наверное, заметили, использование команды start с любой комбинацией параметров не делает то, что вы действительно хотите.

первый шаг заключается в создании файла команды Хоста сценариев Windows. Поместите это в тот же каталог, что и ваш исполняемый файл t'Bird, можете назвать его чем-то вроде tbird.wsf:

<job>
<script language="VBScript">
Set WshShell = CreateObject("WScript.Shell")
cmds=WshShell.RUN("cmd /c thunderbird.exe", 0, False)
</script>
</job>

после того, как у вас есть этот файл, а затем вызвать его из команды строка или пакетный файл, например:

cscript tbird.wsf

конечно, это оставит дополнительный процесс висит вокруг вашей системы, которая не умрет, пока вы не закроете t'Bird вниз. Но я думаю, что многие люди этого хотят.

0
отвечен daddy-o 2023-01-31 12:01

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх