You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Expand-Archive解压zip到%AppData%目录仅生成同名文件如何解决

PowerShell使用Expand-Archive解压到APPDATA目录的解决方法
  • 问题根因:PowerShell 不支持 CMD 风格的 %环境变量名% 语法,当你直接将包含 %APPDATA% 的字符串传给 -DestinationPath 参数时,系统会将其识别为普通路径文本,因此会在当前工作目录下生成名为 %APPDATA% 的文件夹,无法映射到实际的用户配置目录。
  • 正确实现方案:PowerShell 中读取系统环境变量需要使用 $env: 前缀,获取当前用户APPDATA路径的写法为 $env:APPDATA,拼接子目录即可得到正确的目标路径。
  • 修正后的完整可运行代码:
$SourcePath = "nameoffile.zip"
# 拼接得到 %APPDATA%\Folder\Folder\Folder\Folder\Folder 的实际路径
$Destination = Join-Path -Path $env:APPDATA -ChildPath "Folder\Folder\Folder\Folder\Folder"
# 可选:提前创建目标目录,避免低版本PowerShell解压时报路径不存在错误
if (-not (Test-Path -Path $Destination)) {
    New-Item -Path $Destination -ItemType Directory -Force | Out-Null
}
Expand-Archive -Path $SourcePath -DestinationPath $Destination -Force
Write-Host "nameofzipfile unzipped successfully"
  • 额外说明:使用Join-Path拼接路径可以自动适配系统的路径分隔符,避免手动拼接时漏写、多写反斜杠导致的路径错误。PowerShell 5.1及以上版本的Expand-Archive已经支持自动创建不存在的目标父目录,添加目录创建逻辑只是为了兼容更低版本的运行环境。

内容的提问来源于stack exchange,提问作者Craig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:15:10