我的 powershell 解压缩脚本不会覆盖先前存在的文件

问题描述 投票:0回答:1

它创建了目录并下载了文件,但是当它去提取它时,它无法获得覆盖权限。它在我的 Windows 11 个人电脑上运行良好,但在我运行 Windows Server 2022 的专用服务器上无法运行。

mkdir ".\oxide\tmp\" 2> NUL
echo Downloading Oxide update...
powershell.exe -command "Invoke-WebRequest https://github.com/OxideMod/Oxide.Rust/releases/latest/download/Oxide.Rust.zip -outfile oxide\tmp\oxide.zip"
echo Extracting Oxide update..
powershell.exe Expand-Archive -Path "C:\servers\testserver\oxide\tmp\oxide.zip" -DestinationPath "C:\servers\testserver" -Force
TIMEOUT /T 5 /NOBREAK
rmdir /S /Q oxide\tmp 2> NUL

我试过其他方法,也没有用。 例如

powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('C:\servers\testserver\oxide\tmp\oxide.zip', 'C:\servers\testserver\'); }"
powershell batch-file
1个回答
0
投票
  1. 它到底是怎么不起作用的?描述它是如何失败的,你得到了哪些错误信息,你观察到/预期的行为是什么。
  2. 找出到底是哪一步失败了(添加更多回显语句以查看确切的行)
  3. 尝试在您计划移动到另一台机器的脚本中使用更独立的路径,可能是另一台机器没有您依赖的路径“C:\servers estserver”
© www.soinside.com 2019 - 2024. All rights reserved.