У меня есть 3 командных файла, назовем их batchA batchB и batchC. Я дважды щелкаю по пакету A, который позже имеет call batchB
и call batchC
в сценарии. Я вижу только один процесс CMD.exe при его запуске, а на вкладке «Приложения» диспетчера задач отображается только пакет A. Как это работает? Работает ли он как потоки в рамках одного процесса, или он разветвляется и создает несколько процессов (чего я просто не заметил)? В данном случае 32-разрядная Windows XP, но я приму ответы и для 64-разрядной Windows 7.
В CALL
команда выполняет второй пакетный файл в контексте первого пакетного файла. Это как если бы первый командный файл содержал содержимое второго командного файла вместо CALL
команда. Здесь только один cmd.exe
процесс, и есть только один поток (выполнение первого командного файла приостанавливается, пока выполняется второй).