0
我在PowerShell中监视文件夹的设置来创建一个运行以下批处理文件校验和行书:“权限被拒绝”的文件
pushd \\server\folder
for %%a in (*.wav) do if not exist "%%a.md5" md5sum "%%a" >> "%%a.md5"
popd
,我找到了我将文件移动到文件夹中运行不错,但如果我将文件复制到文件夹中,则会在某些导致空白校验和的文件中获得“权限被拒绝”。它似乎没有一致,但我可以毫无问题地从文件夹手动运行批处理脚本。我以管理员身份登录系统(Win7)。有任何想法吗?
编辑:这是PowerShell脚本:
$folder = '\\server\folder'
$filter = '*.wav'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp" -fore green
write-host "test"
Invoke-Item '\\server\folder\checksum.bat'
你运行该脚本作为管理员的你的本地计算机或域? –
文件复制完成前,FileSystemWatcher(我假设您使用该文件)事件可能会多次下沉,因此“md5sum”可能会尝试读取正在使用的文件,同样,AV产品可能会锁定新文件。您的选择是实施重试策略或TTL系统,将新文件排队在将来的某个时间进行处理。 –
我不是网络管理员,所以可能只是本地机器。我应该有完整的读/写访问服务器,虽然... – Tom