Ligne de commande Windows: "non reconnu en tant que commande, programme exécutable ou fichier de traitement interne ou externe."


9

Quand je lance cmd dans Windows 7 (en tapant 'cmd' dans Windows Run), le message d'erreur suivant s'affiche:

enter image description here

'-p' n'est pas reconnu comme une commande interne ou externe, utilisable   programme ou fichier batch.

J'ai essayé de vérifier PATH dans les variables d'environnement. Fonctionnement echo %PATH% me donne ce qui suit:

C: \ Windows \ System32; C: \ Windows; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0; C: \ xampp \ php;

J'ai vérifié tous les répertoires pointés par PATH. Tout semble être en place. Ce que je ne peux pas comprendre c'est où '-p' est appelé. Je pense que cela a quelque chose à voir avec cmd car il ne sort que lorsque j'appelle cmd et pas quand je cours ipconfig ou ping, par exemple.


Comment lancez-vous 'cmd'? Est-ce que vous exécutez un raccourci ou tapez 'cmd' dans le champ de recherche?
Simon

@ Simon, je l'exécute en utilisant Windows Run. J'ai mis à jour la question.
nmenego

vérifiez chacun des répertoires répertoriés ici dans votre PATH, pour cmd. * - peut-être que cela vous donnera
StevenV

Ce mec: stackoverflow.com/questions/10077689/… avait un espace avant un; dans la déclaration de chemin.
edelwater

@edelwater Cas légèrement différent là-bas; ce gars était en essayant exécuter un programme appelé R, qui aurait dû être sur son chemin mais ne l’était pas, à cause de cette erreur. Ce cas est du processeur de commande ( cmd ) lui-même en augmentant l'erreur au début - et le début a été réussi. Néanmoins, le problème qui l’a causé pourrait être le même; Je ne vais pas écarter ça ...
Bob

Réponses:


9

Il est possible que vous ayez une commande 'AutoRun' définie dans le registre. Deux clés de registre, une par utilisateur et une par ordinateur, permettent de définir des commandes à exécuter à chaque fois que le processeur de commandes ( cmd.exe ) a démarré. Ils sont en fait répertoriés dans cmd /?.

Quoi qu'il en soit, essayez de courir cmd /d et voir si cela produit le même message. le /d drapeau signifie "ne pas exécuter les commandes AutoRun", ce qui le rend parfait pour tester cela.

Les valeurs de registre sont:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Vérifiez les deux. Par défaut, ni devrait exister. Vous voudrez peut-être réparer les chaînes de commande dans le vôtre, voire les supprimer complètement.

En relation: http://blogs.msdn.com/b/oldnewthing/archive/2007/11/21/6447771.aspx


Alternativement, vous pouvez avoir un script batch ou similaire configuré avec le nom cmd, qui est en cours d'exécution à la place du natif cmd. Essayez la commande where cmd imprimer une liste de cmd s sur votre chemin, dans l'ordre d'exécution. S'il y en a une autre que / avant celle de C:\Windows\System32\cmd.exe, vous souhaiterez peut-être les supprimer ou leur chemin de votre variable d’environnement PATH.


J'ai essayé d'exécuter cmd /d et comme prévu, le problème avait disparu. J'ai ensuite vérifié le registre et j'ai trouvé HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun certaines chaînes de commande en ce qui concerne ANSICON. Je n'ai pas pu l'enlever la dernière fois. J'ai simplement enlevé la clé! C'est une réponse brillante!
nmenego
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.