我想知道在Puppet(Windows代理)中是否可能使用变量存储文件名的值,然后将此变量值添加到执行的Windows cmd.exe命令中?即,我正在尝试像这样从共享驱动器复制文件到C:\temp:
$setup_msi = "myprogram.msi"
exec { 'copy_MSI_c:\temp':
command => 'C:\\windows\system32\cmd.exe /c "copy i:\\data\\${setup_msi}" c:\\temp'
}
但是当Windows Puppet代理运行时,Puppet解析的是$setup_msi变量名本身,而不是该变量包含的值。我希望它能像这样解析:C:\windows\system32\cmd.exe /c "copy i:\data\myprogram.msi c:\temp"。如有帮助,将不胜感激。谢谢。Fr3edom21。
c:\temp
)之前都关闭了对cmd.exe /c
的引号。因此,如果您尝试传递的命令实际上在 Puppet 外部执行,它可能会更好地工作。 ;) - ferventcoder