有人在使用 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/