2009-09-02 5 views
1

Pour exécuter un programme avec des paramètres env personnalisé, nous le faisons sur LinuxExécution d'une commande avec les paramètres d'environnement spécifiques - un revêtement

$ MYVAR=23 ./foo.py 

Sous Windows, la seule façon que je connaisse est:

C:\> set MYVAR=23 
C:\> .\foo.py 
C:\> REM unset MYVAR here (but how?) 

Mais est-ce que cela ne peut pas être fait en une seule ligne?

+0

Peut-être que cette question serait mieux pour les gens à ServerFault? – blparker

Répondre

1
set foo=bar&.\foo.py&set foo= 

Il convient de noter que les fichiers de traitement par lots sont analysés une ligne à l'époque, donc un liners comme celui-ci sont là des problèmes (setlocal ENABLEDELAYEDEXPANSION peut aider dans les cas)

+0

'&' signifie que la commande suivante sera exécutée sur succès de commande (et non échec)? –

+1

& exécute toujours la commande suivante, && est le succès seulement et || pour l'échec – Anders

1
set MYVAR= 

Désactiver. Vous pouvez également utiliser SETLOCAL et ENDLOCAL pour limiter la portée de vos variables. Exécutez help SETLOCAL et help GETLOCAL à partir de la ligne de commande pour plus d'informations.

Consultez également le Cmd reference.

Questions connexes