se existir! SOMEPATH! não está funcionando no arquivo em lotes

1

Eu tenho um script em lote no qual estou usando várias instruções if, o problema é que todas as instruções estão funcionando, exceto uma.

As seguintes variáveis são definidas

SETLOCAL ENABLEDELAYEDEXPANSION
SET basedrive=E:
SET tfworkspace=!basedrive!\TFS
SET envdefault=%1
SET projenv=!envdefault!
echo subapp=!subapp! subappservice=!subappservice! 
SET tfworkspacepath=!tfworkspace!\!releasebranch!\!app!\!subapp!

Esta declaração funciona,

if exist "!tfworkspacepath!" (robocopy "!tfworkspacepath!"\sourcecode\messagebroker\ /E /NFL /NJS /NDL /ETA  "!basedir!\!messagebroker!" )  else SET /a foldererror=1
SET tfworkspacepathservice=!tfworkspace!\!releasebranch!\!app!\!subapp!\sourcecode\build\!projenv!

Esta declaração não funciona, por não funcionar, quero dizer que mesmo que o caminho não exista, ele ainda tenta fazer o robocopy.

if exist !tfworkspacepathservice! (
  robocopy !tfworkspacepathservice! /E /NFL /NJS /NDL /ETA  "!basedir!\!scripts!") else  SET /a foldererror =!foldererror!+1

Eu sou novo em escrever em lote, por favor me guie

    
por akash 11.06.2014 / 04:34

1 resposta

0

Antes de mais, minhas desculpas a todos que vieram aqui tentando ajudar.

o que estava errado?

eu tinha uma declaração if que verifica uma variável subappservice se ela está vazia, a sintaxe sabia que era imperfeita.ver a sintaxe BAD abaixo

if NOT !subappservice!=="" (SET scripts=!scripts!\!subapp!) else SET projenv=!projenv!\!subappservice!& SET scripts=!scripts!\!subapp!\!subappservice!

eu o corrigi abaixo para resolver o problema

if [!subappservice!]== []  (SET scripts=!scripts!\!subapp!) else SET projenv=!projenv!\!subappservice!& SET scripts=!scripts!\!subapp!\!subappservice!

minha opinião - mesmo a minha sintaxe era má ou imperfeita, o CMD.exe não emitia nenhum aviso e eu continuei a validar o meu script até que eu achasse isso acidentalmente. eu estou colocando aqui para que outra pessoa possa se beneficiar do meu erro:)

    
por 12.06.2014 / 12:54

Tags