PS C:\ImageMagick> convert -background transparent -fill hsb(0%,0%,0%) -font Arial -pointsize 18 -size 18x26 -gravity center label:p "output2.png"
At line:1 char:51
+ convert -background transparent -fill hsb(0%,0%,0%) -font Arial -pointsize 18 -s ...
+ ~
You must provide a value expression following the '%' operator.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
上面的命令在cmd窗口中没有任何问题,在PowerShell中引发了一个错误,我在上面粘贴了它。我看了很多文章,但还没有找到一个好的解决方案。
我或许他们正在谈论我引用hsb
的电话:
PS C:\ImageMagick> convert -background transparent -fill "hsb(0%,0%,0%)" -font Arial -pointsize 18 -size 18x26 -gravity center label:p "output2.png"
Invalid Parameter - transparent
这只会导致另一个问题。我尝试使用&
为命令添加前缀,这是我以前不熟悉的技术,但似乎没有解决任何问题。
答案 0 :(得分:5)
PowerShell不使用当前目录作为查找命令的宫殿。因此convert
已解析为C:\Windows\System32\convert.exe
Get-Command convert|ft CommandType,Name,Definition
# CommandType Name Definition
# ----------- ---- ----------
# Application convert.exe C:\Windows\System32\convert.exe
如果要从当前目录调用convert.exe
,请使用.\convert
代替convert
。
答案 1 :(得分:4)
PowerShell将parens解释为分组表达式,因此它认为%inside是余数(模数)运算符。您可以使用停止解析运算符--%
来使PowerShell以“哑”模式进行解析,例如:
convert.exe --% -background transparent -fill hsb(0%,0%,0%) -font Arial -pointsize 18 -size 18x26 -gravity center label:p "output2.png"