como obter o diretório atual para executar o arquivo em lotes do diretório atual? [duplicado]

4

Eu tenho um arquivo de lote (lunch.bat) para executar o comando que tem para executar outro arquivo de lote (main.bat). Eu copiei esses dois arquivos no meu pendrive. Eu sei o drive do meu pendrive no meu computador, é por isso que eu posso configurar o primeiro arquivo de lote (lunch.bat) para executar outro lote no meu computador. Mas quando copio esses dois arquivos no meu pendrive e os insiro em outro computador, o primeiro arquivo de lote não pode executar outro arquivo de lote. Então isso é um problema para mim. Alguém pode me ajudar a obter o comando de diretório atual como a função c ++ (GetCurrentDirectory) para executar o lote de qualquer computador e de qualquer unidade?

    
por powermun50 01.04.2013 / 19:42

3 respostas

3

De Raymond Chen

The easy way is to use the %CD% pseudo-variable. It expands to the current working directory.

set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory
    
por 01.04.2013 / 19:44
1

O comando em lote cd digitado sem nenhum parâmetro retornará o diretório de trabalho atual.

    
por 01.04.2013 / 19:45
0

Coloque este código no arquivo lunch.bat :

call %~dp0main.bat

Isso inicia o main.bat da mesma unidade & pasta como lunch.bat , onde quer que esteja.

    
por 01.04.2013 / 20:34

Tags