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 #.
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. :)
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 #.
Tags command-line windows