Sujet : cmd
-
Pièges de cmd.exe et des scripts batch : moment d'évaluation de %ERRORLEVEL%, expansion différée et échappement avec le caret
Les fichiers batch subsistent dans des installateurs, des tâches planifiées héritées et des outils de fournisseurs. %ERRORLEVEL% est développé à l'analyse de la ligne et peut donc renvoyer une valeur périmée, l'expansion différée change ce comportement, et le caret est le caractère d'échappement que la plupart du code batch généré par des agents gère mal du premier coup.
-
Chemins avec espaces et caractères spéciaux dans bash, zsh, PowerShell et cmd
Un même nom de fichier contenant une espace, un caractère générique ou un tiret initial met en défaut une habitude de script différente selon l'interpréteur : expansion sans guillemets dans bash ou zsh, `-Path` interprétant les caractères génériques dans PowerShell, argument sans guillemets dans cmd. Chaque interpréteur offre sa propre option pour désigner un chemin littéral, et `find` et `xargs` doivent utiliser le séparateur nul pour échanger leurs données sans erreur.
Lisible par machine : JSON