Bonjour JagV12,
Je vais essayer sans être trop bavard de t'expliquer le fonctionnement de DOS pour les commandes qui nous occupe.
La console Windows (anciennement DOS) n'est plus aujourd'hui qu'une fenêtre Windows comme toutes les autres.
Parler de DOS est un abus de langage.
Cette fenêtre s'obtient par WIN+R Ouvrir: cmd.exe ou via un menu de Windows en fonction de la version.
Pour tout exécutable Windows, on peut omettre l'extension lors de l'appel d'une commande.
Ce qui veut dire que WIN+R Ouvrir: cmd.exe est équivalant a WIN+R Ouvrir: cmd
Pour connaitre les extensions reconnues dans Windows:
Ouvre une Console (Invite de commandes) et passe la commande echo %PATHEXT%
Tu obtiens quelque chose comme
Code : Tout sélectionner
EBCAGE::ADMIN C:\Users\admin>echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
EBCAGE::ADMIN C:\Users\admin>
Quelles sont les commandes consoles/DOS ?
Ouvre une Console (Invite de commandes) et passe la commande help
Tu verras notamment
Code : Tout sélectionner
CMD Exécute une nouvelle instance de l’interpréteur de commandes de Windows.
L'aide de chaque commande peut-être obtenue par commande /? ou help commande
Ou se trouvent toutes ces commandes ?
Il faut différencier 2 types de commandes, les commandes exécutables et les commandes internes.
1) Les commandes exécutables sont des binaires ".exe ou .com" présents dans Windows
"C:\Windows\System32\chcp.com"
"C:\Windows\System32\cmd.exe"
Les commandes internes sont des commandes disponibles uniquement dans une Console (Invite de commandes)
break, cd, cls, chdir, dir, ... ne peuvent êtres utilisées qu'en mode Console (dans cmd.exe)
Je m’arrête là pour les explications.
Essayons de comprendre ou tu bugue
1. chcp 1252 & cmd /c dir "%1" /A /S /C > _Listing.txt, tout nu, ouvre une console et la ferme aussitôt sans autre résultat.
J'ouvre une Console par WIN+R Ouvrir: cmd.exe
Code : Tout sélectionner
Microsoft Windows [version 10.0.18363.719]
(c) 2019 Microsoft Corporation. Tous droits réservés.
EBCAGE::ADMIN C:\Users\admin>y:
EBCAGE::ADMIN Y:\> chcp 1252 & cmd /c dir "y:\temp" /A /S /C > _Listing.txt
Page de codes active : 1252
EBCAGE::ADMIN Y:\> chcp.com 1252 & cmd.exe /c dir "y:\temp" /A /S /C > _Listing.txt
Page de codes active : 1252
EBCAGE::ADMIN Y:\>
Çà fonctionne comme attendu et j'ai mon fichier _Listing.txt dans Y:\ au format Unicode donc sans caractère bizarre.
Note que je me suis positionné sur mon disque Y: et que j'ai listé le contenu de Y:\Temp.
J'ai un accès complet a Y:
Pourquoi ça fonctionne ?
chcp.com est une commande externe et peut donc être directement appelée depuis n'importe où et notamment de puis la base de registre.
"C:\Windows\System32" étant dans le chemin de recherche, inutile de préciser le chemin lors de l'utilisation.
Afficher le chemin de recherche ou PATH avec echo %PATH%
Code : Tout sélectionner
EBCAGE::ADMIN C:\Users\admin>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Livestreamer;C:\WINDOWS\System32\OpenSSH\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\NoteBook FanControl\;C:\Users\admin\AppData\Local\Microsoft\WindowsApps;Y:\DOS;Y:\WIN;Y:\YH\PAF\PortableApps\CommonFiles\Java\bin;C:\Users\admin\AppData\Local\Programs\Fiddler;;C:\Users\admin\AppData\Local\Microsoft\WindowsApps
EBCAGE::ADMIN C:\Users\admin>
Conclusion: le cas 1 doit fonctionner
7. cmd /k "chcp 1252 && dir "%1" /A /S /C > _Listing.txt", se comporte comme sans les guillemets (fichier CP850)
Cette commande n'a aucun intérêt car chcp est une commande externe et n'a pas besoin de cmd pour être activée.
De plus, chcp 1252 doit être appelée avant l'ouverture de cmd pour que cmd hérite du changement de page opéré avec chcp 1252
Conclusion: les cas 2 a 7 sont des erreurs de compréhension du fonctionnement des commandes externe/interne.
WINDOWS 10 est un très bon OS quoi qu'en pensent certains.
Si on fait fi de l'interface et de son nouveau menu Démarrer, le reste est totalement identique a Windows XP ou Seven. (Je parles des arcanes de la machine)
Je ne reviendrais pas en arrière pour rien au monde.
Si les menus rebutent certains, il existe des applications qui permettent de retrouver le menu Windows 7, mais franchement, ou est l’intérêt.
cage