Sim, sua entrada de registro do Autorun está causando o problema. FOR /F
executa comandos dentro da cláusula IN () via CMD.EXE. E o CMD.EXE executa o Autorun a menos que a opção /D
seja usada. Mas não há como forçar o FOR / F a usar a opção /D
. : (
Eu também gosto de ter meu shell de comando aberto em uma pasta específica, mas não uso o Autorun. Em vez disso, crio um atalho e edito as propriedades para que "Start in:" seja definido como minha pasta desejada.
Se você realmente quiser, acho que ainda pode usar o Autorun. Eu acredito que você realmente só quer o seu Autorun para CD na instanciação inicial da sua sessão do CMD. Você pode modificar sua entrada de registro da seguinte maneira para conseguir isso:
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="if not defined AutoRunComplete set AutoRunComplete=TRUE&cd /d C:\Work\Consulting"
Se a sua lógica do Autorun ficar mais complexa, convém criar um script em lote e depois fazer o Autorun chamar esse script.