我在工作中遇到了一些我想用脚本解决的小问题。
背景
更多信息
代码
$folder = '\\SMT...\...\...\Desktop\testscript\Archiv' # Enter the root path you want to monitor.
$filter = '*.*' # You can enter a wildcard filter here.
$backup = '\\...\...\...\Desktop\testscript\backup'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $true;
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
$path = $Event.SourceEventArgs.FullPath
Write-Host "The file '$name' was $changeType at $timeStamp" -fore green
$path2 = Get-ChildItem $path
$namedir = $path2.Name
$woname = $path2 -replace [Regex]::Escape($namedir)
$dest = $woname -replace [Regex]::Escape($folder)
$backupdest = "$backup\$dest"
New-Item -ItemType directory -Path $backupdest -Force -verbose
Copy-Item -Path $path2 -Destination $backupdest -verbose -recurse
}
所有"路径" stuff是创建与原点相同的文件夹树。
我做错了什么?可能有更简单的方法吗?
非常感谢你!