powershell - 如何让7zip覆盖?

标签 powershell overwrite 7zip

有人在使用 7zip 覆盖文件时遇到过问题吗?我使用这个脚本:

    if ($name.Contains('something'))
 {
 Get-ChildItem \\server\load\$name | 
 % {
 & "C:\test\7z.exe" "x" "-aoa" "-y" $_.fullname "-o\\server\output"
   }
  }
else
{
"$name unknown"
}

当您在触发脚本之前删除文件时,一切正常,但不会覆盖新文件。我使用 -aoa 来实现这一点,但也许有不同的开关? 当我尝试在 7zip GUI 上提取文件并覆盖它时也很好,所以我想这不是权限问题。

谢谢

最佳答案

尝试使用这个:

&"C:\test\7z.exe"x -aoa -y "$_.fullname"-o"\\server\output"

根据我的经验,& 与其处理参数的方式不太一致。不过,通常情况下,您应该假设在使用 & 时 PowerShell 不会从参数中删除引号。仅当您调用的程序在其自己的参数中需要引号时,才应使用引号。在我的归档 IIS 日志的脚本中,我使用以下内容:

&"$7Zip" a "$ArchiveFile" "$FullLogPath\$LogFileSpec" -mx=9 -mmt=on

变量只是路径或文件名。引号之所以存在,是因为路径和文件名中可以​​包含空格。

我通常计算出的方法是通过 Write-Host & 将要调用的字符串,然后将其复制并粘贴到 cmd 中。 exe shell 窗口

关于powershell - 如何让7zip覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23246596/

相关文章:

powershell - 使用 PowerShell 对 zip 文件中的文件和文件夹进行计数

excel - Zip 批处理命令和 Excel

forms - 如何通过在 Powershell 中按 Enter 键来调用按钮单击

excel - Powershell根据过滤器值计算一列中的单元格

c++覆盖一个已经定义的变量

java - 向对象添加点而不覆盖现有点

powershell - 使用 PowerShell 在 MS Word 中编写表格内容。订单不正确

powershell - 将输入对象传递到启 Action 业文件

c - 更新包含 c 中结构的二进制文件,偏移量更改为损坏文件的其余部分

python - 无法通过 ftp 在 python 中提取 zip