Como posso obter o nome de um script windows bat do script em si?

3

Eu tenho um arquivo .bat. Eu quero obter o nome do arquivo .bat programaticamente. Como posso fazer isso?

Este é o meu objetivo final

"..\lib\nant\nant.exe" -buildfile:nant.build {{pass in name of this file here}}
pause
    
por Ryan Montgomery 15.09.2009 / 22:29

2 respostas

8

Teste for /? na linha de comando. A ajuda mostra todos os tipos de substituições de nome de arquivo úteis, como:

%~I         - expands %I removing any surrounding quotes (")
%~fI        - expands %I to a fully qualified path name
%~dI        - expands %I to a drive letter only
%~pI        - expands %I to a path only
%~nI        - expands %I to a file name only
%~xI        - expands %I to a file extension only

Substitua I por 0 para obter apenas o nome do arquivo em lote e substitua I por 1, 2, 3 etc. para obter nomes de argumentos.

    
por 15.09.2009 / 22:52
1

A variável% 0% fornecerá o caminho completo para o arquivo em lote, incluindo seu nome. Pode haver uma maneira melhor de obter apenas o nome.

    
por 15.09.2009 / 22:36