gpt4 book ai didi

file - Powershell:检查文件是否被锁定

转载 作者:行者123 更新时间:2023-12-03 13:13:01 27 4
gpt4 key购买 nike

我在自动化部署时遇到问题,在我停止服务后,文件仍然被锁定,我无法删除它。我真的不想开始用 sleep 来制作一些“通常有效”的东西。有没有好的方法可以正确解决锁定文件的问题,也许是某种“等到文件可移动”:

Get-ChildItem :拒绝访问路径“D:\MyDirectory\”。

在这种情况下,“测试路径”是不够的,因为该文件夹都存在并且我可以访问它。

最佳答案

感谢 David Brabant 在最初的问题下发布了此解决方案的链接。看来我可以通过以下功能开始:

function Test-FileLock {
param (
[parameter(Mandatory=$true)][string]$Path
)

$oFile = New-Object System.IO.FileInfo $Path

if ((Test-Path -Path $Path) -eq $false) {
return $false
}

try {
$oStream = $oFile.Open([System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite, [System.IO.FileShare]::None)

if ($oStream) {
$oStream.Close()
}
return $false
} catch {
# file is locked by a process.
return $true
}
}

然后添加一个带有超时的“等待”功能。

谢谢你的帮助!

关于file - Powershell:检查文件是否被锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24992681/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com