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.

nmenego
la source
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.

Bob
la source
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