CMD - Precisa de algo parecido com% ~ dp0 que seja amigável ao espaço

3

Info you don't really need - Hi All, Looking for some help with a CMD app to make life easy at work for me and a bunch of other guys. We will be moving the folder containing the app around from place to place and to make it run a parameter is needed which has its current location. Real story begins below - Thanks for your help. :)

Eu estou querendo um parâmetro que seja amigável ao espaço, para que eu possa usá-lo para outras chamadas.

Funciona assim, eu tenho um Install.cmd, que faz o seguinte.

echo off
set a= properties.txt
del %a%
echo %~dp0 >> %a%

properties.txt, então, se parece com isso.

E:\Users\USER\Google Drive\_ACP\

ApplicationStart.cmd faz o seguinte.

(Set /p ROOT=
) <properties.txt
CALL %ROOT%\data\TOOLS\INIT.CMD

O problema é esse. O caminho que é adicionado ao properties.txt é

E:\Users\USER\Google Drive\_ACP\ 

e para a chamada para o trabalho, precisa ser (para acomodar o espaço no Google Drive)

E:\Users\USER\"Google Drive"\_ACP\

Editar manualmente o arquivo para ficar parecido com o acima, faz com que meu aplicativo funcione bem.

É uma alternativa para %~dp0 , que é amigável para pastas? Eu pesquisei até não conseguir mais google. :)

    
por David 21.10.2015 / 00:31

1 resposta

1

Cite a variável quando ela está sendo expandida:

call "%ROOT%\data\tools\init.cmd"

Ou use uma linguagem mais sensata, como PowerShell, JScript, VBScript (o Windows vem com tempos de execução para todos os três) ou talvez C #.

    
por 21.10.2015 / 00:59