1

ラップトップで 10 秒ごとにファイルを削除/書き込みするクライアントがあります。また、ファイルが変更されるたびにネットワーク上の場所にファイルをコピーする Powershell スクリプトもあります。

ここで問題が発生します。リモート ネットワークの場所にあるファイルの 1 つまたは 2 つが削除されることがよくあります。しかし、スクリプトには、ファイルを削除することになっているものは何もなく、コピーするだけです。

なぜこれが起こるのですか?以下のスクリプトを参照してください。

$block = {
function CreateCopyFile
{
    param ($message, $event)
    # function to call when event is raised
    # do a robocopy or whatever

    $path = $Event.SourceEventArgs.FullPath
    $targetpath = $targetFolder + "/" + $Event.SourceEventArgs.Name

    Copy-Item $path $targetFolder
}


$watchedFolder = "C:\Users\test\Documents\folder"
$targetFolder = "\\TRICASTER-MINI\DataLink Watch Folder"
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $watchedFolder

Register-ObjectEvent -InputObject $watcher -EventName Created -SourceIdentifier File.Created -Action { CreateCopyFile "Created" $event }
Register-ObjectEvent -InputObject $watcher -EventName Changed -SourceIdentifier File.Changed -Action { CreateCopyFile "Changed" $event }
}

$encodedBlock = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($block))

Start-Process PowerShell.exe -verb Runas -argumentlist '-WindowStyle Hidden', '-NoExit', '-EncodedCommand', $encodedBlock
4

0 に答える 0