Existe uma variável que representa o nome do arquivo de um script (excluindo as extensões)?

2

Estou fazendo um programa em lote que criará um arquivo de configurações .ini após a execução. Eu quero que o nome do arquivo de configurações (excluindo a extensão) seja extraído do nome do arquivo de scripts, portanto, se ele for alterado, o nome das configurações será alterado para espelhá-lo na sua criação. Eu usei programas como HxD que podem fazer isso, mas não tenho ideia de como. Existe uma variável ou um caractere curinga que possa ser usado para fazer isso?

Eu analisei alguns programas que fazem isso, mas alguns parecem usar valores / métodos diferentes. Um desses programas usou %d.ini .

    
por Mr. Mendelli 27.07.2017 / 12:41

1 resposta

2

Eu quero que o nome do arquivo de configurações seja o nome do arquivo de script

Use a seguinte expressão para obter o nome do arquivo de script:

%~n0

Exemplo de uso:

> dir test.cmd
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test

27/07/2017  11:47                65 test.cmd
               1 File(s)             65 bytes
               0 Dir(s)  1,627,427,311,616 bytes free

> type test.cmd
@echo off
setlocal enabledelayedexpansion
echo %~n0
endlocal

> test
test

Nota:

  • %0 é o nome do arquivo em lote.
  • %~n0 Expande %0 para um nome de arquivo sem extensão de arquivo

Leitura Adicional

por 27.07.2017 / 12:51