Em scripts de shell, se eu precisar executar um comando a partir de um diretório, podemos usar um subshell para garantir que eu retorne ao contexto original:
(cd temporary/new/directory ; command)
# now I am still in original directory
Isso pode ser feito em arquivos em lotes do Windows (ou arquivos cmd)
Fazer o mesmo em arquivos em lote me deixa no novo diretório.
Eu posso fazer:
pushd temporary\new\directory && command && popd
Mas o popd depende do sucesso de command
.
Alguma ideia?