上でスクリプトを実行している「アクセス許可が拒否されました」:私はそれを見つけた私は次のバッチファイルを実行しているチェックサムを作成するために、PowerShellで監視フォルダを設定しているファイル
pushd \\server\folder
for %%a in (*.wav) do if not exist "%%a.md5" md5sum "%%a" >> "%%a.md5"
popd
私はそれは大丈夫実行したフォルダにファイルを移動するが、ファイルをフォルダにコピーすると、ファイルの一部で「許可が拒否されました」という結果が得られ、その結果、チェックサムが空白になります。それは一貫しているようには見えず、問題なくフォルダから手動でバッチスクリプトを実行できます。私は管理者(Win7)としてシステムにいます。何か案は?
EDIT:これは、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