gpt4 book ai didi

cmd 参数的 Powershell 变量

转载 作者:行者123 更新时间:2023-12-04 18:09:57 24 4
gpt4 key购买 nike

我想对 cmd 参数使用 powershell 变量,但我不知道如何制作。

function iptc($file)
{
$newcredit = correspondance($credit)
$cmd = '& C:\exiftool\exiftool.exe -S -t -overwrite_original -Credit=$newcredit $file.FullName'
Invoke-Expression $cmd
}

例如,newcredit 可以是“James”,但在我的情况下,当我运行命令时 -Credit 只会是“$newcredit”。

问候

最佳答案

单引号 (' ') 不会扩展字符串中的变量值。您可以使用双引号 ("") 解决此问题:

$cmd = "& C:\exiftool\exiftool.exe -S -t -overwrite_original -Credit=$newcredit $file.FullName"

或者,通过我最常使用的方法,使用字符串格式:
$cmd = '& C:\exiftool\exiftool.exe -S -t -overwrite_original -Credit={0} {1}' -f $newcredit, $file.FullName

如果其中一个参数中有一个空格,则该参数需要在输出中用双引号括起来。在这种情况下,我肯定会使用字符串格式:
$cmd = '& C:\exiftool\exiftool.exe -S -t -overwrite_original -Credit="{0}" "{1}"' -f $newcredit, $file.FullName

关于cmd 参数的 Powershell 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16794736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com