2014-06-18 5 views
0

J'essaie d'utiliser python pour exécuter cmd.exe et ainsi exécuter des commandes comme cd C: \ nom ..... et d'exécuter d'autres programmes de la cmd ce que j'ai jusqu'ici est.Comment utiliser cmd à partir de python

os.system("cmd.exe"). 
os.system("cd C:\name\first\second"). 

Lorsque je tente de lancer trois autres commandes une nouvelle fenêtre de cmd remplace l'ancien et les commandes ne fonctionnent pas car ils doivent être consécutivement après chaque other.I déjà essayé le code ci-dessus et ont besoin d'aide en cours d'exécution de la prochaine Trois. Aussi pouvez-vous expliquer ce que sont les supravess.

+0

Cela peut être une solution de contournement, mais au lieu d'utiliser "cd", pourquoi ne faites-vous pas simplement "os.system" ("C: \ nom \ first \ second \ cmd.exe") etc – James

+0

Cela dépend un peu sur ce que vous voulez exactement atteindre, mais jetez un oeil à cette réponse: http://stackoverflow.com/questions/89228/calling-an-external-command-in-python/89243#89243 – Dirk

+0

On ne sait pas exactement ce que vous voulez dire par là, "... les commandes ne fonctionnent pas car elles doivent être consécutives l'une après l'autre", puisque vous exécutez littéralement les commandes l'une après l'autre. Pour pourquoi 'cd' ne fonctionne pas spécifiquement voir ma réponse ci-dessous. –

Répondre

2

Voir my answer à this recent question pour savoir pourquoi os.system("cd WHEREVER") ne répond pas à vos attentes.

En résumé, lorsque vous exécutez os.system('cd WHEREVER'), vous créez un nouveau shell de commande qui a sa propre idée du répertoire en cours. Cette modification dans le répertoire courant sera entièrement "oubliée" lors des appels suivants au os.system(). Vous devez modifier le répertoire en cours dans le processus parent (le script) avec os.chdir('WHEREVER') afin de conserver la modification pour les appels os.system() suivants.

+0

Pouvez-vous écrire le code exact pour le faire? – user3754017

+0

Avez-vous lu ma réponse et les exemples de l'autre question? –

+0

oui mais pourriez-vous expliquer la boucle for – user3754017