Obtém o diretório contendo o script em lote atualmente executado

28

Eu uso %0 no arquivo em lote para obter o diretório que contém o arquivo em lote, mas o resultado é: -

c:\folder1\folder2\batch.bat

Eu quero apenas diretório, sem nome de arquivo em lote, como este: -

c:\folder1\folder2\

Como posso fazer isso? Talvez eu deva filtrar o caminho. Se sim, como posso fazer isso?

    
por Mohammad AL-Rawabdeh 04.04.2011 / 09:17

4 respostas

49
%~p0

Retorna apenas o caminho.

%~dp0

retornará a unidade + caminho.

Mais informações sobre o assunto podem ser encontradas em Site da Microsofts

    
por 04.04.2011 / 09:30
16

O diretório atual é mantido em% CD%

    
por 04.04.2011 / 09:31
4

Algumas expressões que afetam o nome do arquivo:

~f0 fornecerá o nome completo do arquivo.
~dpnx0 dará o mesmo que ~f0 , mas isso mostra que você pode dividi-lo em partes: d = drive p = path n = nome x = extensão

    
por 23.05.2011 / 22:49
0

use comando chdir

Opção 1:

chdir 

Opção 2:

echo %CD%
    
por 07.10.2013 / 16:13