Maison  >  Article  >  développement back-end  >  Pourquoi les commandes ImageMagick fonctionnent-elles dans CMD mais échouent-elles dans PowerShell ?

Pourquoi les commandes ImageMagick fonctionnent-elles dans CMD mais échouent-elles dans PowerShell ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 08:58:02878parcourir

Why Do ImageMagick Commands Work in CMD but Fail in PowerShell?

Les commandes ImageMagick ne s'exécutent pas dans la fenêtre PowerShell mais s'exécutent dans la fenêtre CMD

Problème :

Une commande ImageMagick pour ajouter un Le filigrane sur une image ne parvient pas à s'exécuter dans PowerShell lors de son exécution réussie dans CMD.

Cause :

La commande utilise des caractères spéciaux qui peuvent être interprétés différemment par différents shells (par ex. , bash, CMD32, PowerShell).

Solution :

Citation et syntaxe Shell :

Bash : Échappez les parenthèses avec des barres obliques inverses et placez les hachages entre guillemets.

CMD32 : Utilisez des carets pour échapper et doublez les signes de pourcentage.

Powershell : Échapper aux parenthèses avec des guillemets.

Techniques d'échappement :

Shell Escape Character Line Continuation
Bash Backslash Backslash
CMD32 Caret ^ Caret ^
PowerShell Backtick ` Backtick `

Exemples de commandes :

Bash :

<code class="sh">magick IMAGE1.PNG \
   \( IMAGE2.PNG -resize 50% -fill '#ff0000' -colorize 100% \) \
  -composite -transparent 'hsl(40,50,60)' result.png</code>

CMD32 :

magick IMAGE1.PNG ^
   ( IMAGE2.PNG -resize 50%% -fill &quot;#ff0000&quot; -colorize 100% ) ^
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png

Powershell :

magick IMAGE1.PNG `
   `( IMAGE2.PNG -resize 50% -fill &quot;#ff0000&quot; -colorize 100% `) `
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png

Cross -Solution de plate-forme :

Pour éviter les problèmes de citation spécifiques au shell, utilisez l'option "-script" d'ImageMagick pour lire les commandes à partir d'un fichier :

<code class="sh">magick -script script.mgk</code>

Fichier de script ( script.mgk):

-size 640x480 xc:#ffff00
( foreground.png -resize 50% )
-gravity center -composite -write result.png

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn