Vorrei fornire il testo non elaborato che fa riferimento a una variabile di ambiente a un comando anziché valutare la variabile di ambiente.Riga di comando di Windows: non valutazione della variabile di ambiente
ho bisogno di questo per configurare BizTalk dalla riga di comando, ad esempio:
BTSTask.exe AddResource -ApplicationName: App1 -Tipo: System.BizTalk: BizTalkAssembly -overwrite -Source: .. \ schemas \ bin \ development \ App1.Schemas.dll -Destinazione:% BTAD_InstallDir% \ App1.Schemas.dll
Questo comando aggiunge una risorsa a un'applicazione BizTalk. Voglio che la destinazione sia% BTAD_InstallDir% \ App1.Schemas.dll, tuttavia al momento sta valutando la variabile di ambiente (su nulla) e utilizzando \ App1.Schemas.dll.
È possibile eseguire l'escape o disattivare la valutazione di questa variabile di ambiente durante l'analisi \ dell'esecuzione di questo comando?
Ho provato a sfuggire il primo e entrambi i caratteri in percentuale con una carota (^), tuttavia ciò non ha fermato la valutazione.
[EDIT] Quando eseguo questo comando al prompt dei comandi non sostituisce la variabile di ambiente, tuttavia lo fa quando lo eseguo come script, qualsiasi idea sul perché questo è diverso?
Fantastico, funziona benissimo. Funziona perché non può risolvere% BTAD_InstallDir% come variabile e quindi lo lascia come valore originale? – marcj
%% è il modo batch per non interpretare%. Usato per variabile (come in '%% a anziché% a'), poiché nel batch% 1,% 2,% 3 hanno un significato speciale. – VonC