我注意到,当使用 PowerShell 的 FileSystemWatcher cmdlet 时,它似乎没有监视 System32 或其在我的 Windows 7 计算机中的子文件夹。一个脚本 Í 在监视“我的文档”的子文件夹时工作得很好(即“C:\Users\W\Documents\Fichiers PowerShell”是一个有效的 fplder 路径)但当我替换文件夹路径时不起作用System32(即 C:\Windows\System32\Recovery 是一个不起作用的路径)
这是我正在使用的脚本,但 System32 路径在其他 FileSystemWatcher 脚本中不起作用。任何有关解决方法的建议将不胜感激。我必须监控 C:\Windows\System32\Recovery。谢谢你。
function FileSystemWatcher([string]$log = "C:\Users\W\Documents\Fichiers PowerShell\newfiles.txt",
[string]$folder = "C:\Windows\System32\Recovery",
[string]$filter = "*ps1",
[char]$timeout = 1000
){
$FileSystemWatcher = New-object System.IO.FileSystemWatcher $folder, $filter
Write-Host "Press any key to abort monitoring $folder"
do {
$result = $FileSystemWatcher.WaitForChanged("created", $timeout)
if ($result.TimedOut -eq $false) {
$result.Name |
Out-File $log -Append
Write-Warning ("Detected new file: " + $result.name)
$filename = (gc $log -ea 0)
ii "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
remove-item "C:\Users\W\Documents\Fichiers PowerShell\newfiles.txt"
}
} until ( [System.Console]::KeyAvailable )
Write-Host "Monitoring aborted."
Invoke-Item $log}
FileSystemWatcher