No Windows 7 e superior, você pode usar START /AFFINITY
para iniciar um processo e restringi-lo a um ou mais processadores específicos.
Para versões anteriores do Windows (XP e posteriores), você pode fazer o download do utilitário gratuito da Microsoft PsExec v2. 0 que não só permite atribuir um processo a processadores específicos, como também permite executar um processo em uma máquina remota.
Em seu comentário à resposta de Chopper3, você diz que tem uma fila de muitos trabalhos e deseja disparar um trabalho para cada processador e depois os trabalhos restantes aguardam até que um processador esteja livre. Em execução paralela de processos de shell no StackOverflow eu postei um arquivo de lote de amostra que faz praticamente o que você quer. Conforme escrito, ele configura uma fila de tarefas e limita o número de processos simultâneos. Ele pressupõe que o SO lidará com o balanceamento de carga entre os processadores disponíveis. Melhor ainda, o script é projetado para também suportar o PsExec, então você deve ser capaz de atribuir cada processo a uma máquina remota e / ou processador (es) específico (s). No entanto, eu não testei a funcionalidade PsExec.