如何获取文件ID并断开openfile?

时间:2014-04-28 10:39:50

标签: windows powershell 7zip

我使用PS脚本提取指定位置的文件。不幸的是,我需要覆盖它们,有时它们正在使用中。 我正在考虑使用" openfiles / disconnect"在解压缩之前的几个文件,以确保,文件覆盖良好。

如何获得指定的文件ID,并断开所有会话以进行覆盖?

谢谢

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

1 个答案:

答案 0 :(得分:0)

如果您断开SMB会话,它将立即被您断开连接的客户端重新建立。实现您的要求的一个简洁方法是:

  1. 取消共享服务器上的 \\ server \ output 并分享
  2. 仅与自己分享完全权限,即。执行解压缩的用户
  3. 运行解压缩代码
  4. 反向步骤1.