Ho un problema di script batch di Windows a cui sto sbattendo la testa (nessun gioco di parole). Lo script problematico si presenta così:Come impostare PATH su un altro valore di variabile con spazi nel file batch di Windows
if defined _OLD_VIRTUAL_PATH (
set PATH=%_OLD_VIRTUAL_PATH%
)
quando l'eseguo e _OLD_VIRTUAL_PATH
è impostata ottengo:
\Microsoft was unexpected at this time.
_OLD_VIRTUAL_PATH
è una variabile che è stato originariamente impostato da PATH
e contiene spazi - Sono sono sicuro che questo è il problema Ma qual è la soluzione? Viene eseguito correttamente se lo racchiudo tra virgolette, ma non penso che l'intero valore della variabile PATH
debba essere compreso tra virgolette.
Wow - Ho imparato 2 cose oggi ... Ero sicuro che questa sintassi sarebbe esplosa, ma sicuramente, funziona. Tuttavia, non sono sicuro del motivo per cui sarebbe necessario per Evgeny: impostare un PERCORSO con spazi non è mai stato un problema per me senza usare le virgolette. Forse "_OLD_VIRTUAL_PATH" di Evgeny ha qualche altro carattere speciale (diverso da uno spazio) che ha bisogno di essere citato? –
@ Michael: Non sono gli spazi il problema. Ho riscritto il post (spero che a Chris non dispiaccia: può tornare indietro se necessario) e ha spiegato cosa è sbagliato e perché. – Joey
Grazie Johannes, avevo dimenticato il motivo, ma questo ha sicuramente un senso. –