gpt4 book ai didi

Powershell 在 7zip 上使用调用运算符

转载 作者:行者123 更新时间:2023-12-02 23:47:22 24 4
gpt4 key购买 nike

简介

因此,我试图从一个目录中读取一个 zip 文件,并将其解压缩到一个 tmp 位置。问题是 powershell 似乎误解了引号并且没有写出 $copyLocation 变量的值。相反,它将文件复制到 [currentDirectory]\$copyLocation。我希望你们能帮上忙。我是 Powershell 的新手,这只是我必须编写的一部分脚本来接管我们的构建自动化。提前谢谢你。

顺便说一下,hosts 是一个我们正在迭代的 XmlElement。因此,我们将此 zip 文件部署到 xml 配置文件中指定的多个主机上的某个位置。

function copyWebappToDestination($copyWebappFrom,$to,$hosts){
foreach( $it in $hosts ){
Write-Host "Deploying webapp" $webapps.webappName "to" $it.hostIp "at" $it.to

setUpDirectories

foreach($file in $filelocation){
if($file.name.ToString() -eq "Web.Main.zip"){
$filename = $file.name.ToString()
$hostIp = $it.hostIp
$fileDest = $file.FullName
#unzip the files
& '7z' x ""$fileDest"" -o""$copyLocation"" -y -r
break
}
}
}

编辑

最奇怪的是,我写出了命令

& '7z' x "C:\MoveToProduction\SM\PROD\Web.Main.zip" -o"C:\MoveToProduction\SM\PROD\tmp" -y -r"

然后从 Powershell 控制台运行它,它工作得很好。它只是在脚本的上下文中不起作用。

最终编辑

所以,我放弃了让调用接线员正常工作的尝试。基本上,我最终确定的是命令:

Invoke-Expression -command  "cmd /C '7z x `"$fileDest`" -o`"$copyLocation`" -y -r'"

最佳答案

所以,我放弃了让调用接线员正常工作的尝试。基本上,我最终确定的是命令:

Invoke-Expression -command  "cmd /C '7z x `"$fileDest`" -o`"$copyLocation`" -y -r'"

关于Powershell 在 7zip 上使用调用运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486972/

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