gpt4 book ai didi

解压缩时powershell空值表达式错误

转载 作者:行者123 更新时间:2023-12-02 23:54:04 25 4
gpt4 key购买 nike

我正在尝试从 S3 下载 zip 文件并使用以下脚本解压缩到特定文件夹:

$zipfile = "myapp.zip"
$dest_loc = "C:\test\"
aws s3 cp s3://apptxtmy/$zipfile $dest_loc
$shell = New-Object -Com Shell.Application
$zip = $shell.NameSpace("$dest_loc\$zipfile")
if (!(Test-Path "C:\test\appname\")) {
mkdir C:\test\appname
}
$shell.Namespace("C:\test\appname\").CopyHere($zip.items())

但我不断收到以下错误:

You cannot call a method on a null-valued expression. At C:\Users\Administrator\Desktop\deploy.ps1:9 char:1 + $shell.Namespace("C:\test\appname\").CopyHere($zip.items())



任何帮助,将不胜感激。

谢谢

最佳答案

如果您想坚持使用 native Powershell 命令...

您可以使用Expand-Archive (如果您使用的是 PS v4+)来提取 zip 文件。

Read-S3Object (AWS Tools for PowerShell 的一部分)从 S3 获取文件。

Join-Path也可用于确保双斜杠没有问题 \\在你的道路上。

$zipfile = "myapp.zip"
$dest_loc = "C:\test"
$appname = "appname"
$bucket = "apptxtmy"

$unzip_loc = Join-Path $dest_loc $appname
$zip_loc = Join-Path $dest_loc $zipfile

Read-S3Object -BucketName $bucket -Key $zipfile -file $zip_loc

if ((Test-Path $unzip_loc) -eq $false) {
New-Item $unzip_loc -ItemType Directory
}

Expand-Archive -Path $zip_loc -DestinationPath $unzip_loc

关于解压缩时powershell空值表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50342218/

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