标题: [文件操作] [已解决]bat文件夹变更提示 [打印本页]
作者: LJY4.0 时间: 2022-6-11 20:54 标题: [已解决]bat文件夹变更提示
本帖最后由 LJY4.0 于 2022-6-16 18:33 编辑
就是如果文件夹内文件变更或新增文件发出警告(如果可以拦截操作[move{指拦截时用的指令}])
我想做一个系统主动防御,想问一下怎么做效率才最好,wmic了解不够
作者: idwma 时间: 2022-6-12 14:46
FileSystemWatcher事件- #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
- $fsw=New-Object IO.FileSystemWatcher 'c:\' -Property @{IncludeSubdirectories=1;EnableRaisingEvents=1}
- 'Changed','Created'|%{Register-ObjectEvent $fsw -EventName $_ -Action {
- write-host '如果c:\文件夹内文件变更或新增文件发出警告'
- write-host $event.SourceEventArgs.FullPath
- }}
- while(1){Wait-Event -Timeout 1}
复制代码
作者: LJY4.0 时间: 2022-6-12 19:24
本帖最后由 LJY4.0 于 2022-6-12 19:32 编辑
回复 2# idwma
他的显示方法是怎样,是显示文件路径吗?
为什么每个文件路径都显示
作者: LJY4.0 时间: 2022-6-12 19:35
看错了,不过能不能改成移到temp,弹窗输出路径,显示Y/N
Y从temp移到原来的路径,N删除
作者: idwma 时间: 2022-6-12 22:07
只监听这个文件夹取不到原路径
按这个方法要取得移动前的路径要转个弯
加个全盘监听删除事件
这样就不友好了再看看有没有别的方式
作者: idwma 时间: 2022-6-13 21:40
回复 4# LJY4.0 - #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
- $path='c:\temp'
- $global:a=@{}
- [Environment]::GetLogicalDrives()|%{
- $fsw=New-Object IO.FileSystemWatcher $_ -Property @{IncludeSubdirectories=1;EnableRaisingEvents=1}
- 'Created','Deleted'|%{Register-ObjectEvent $fsw -EventName $_ -Action {$a[$event.EventIdentifier]=$event}}
- }
- while(1){
- Wait-Event -Timeout 1
- $a.clone().keys|?{$a[$_].SourceEventArgs.FullPath -match [regex]::Escape($path) -and $a[$_].SourceEventArgs.ChangeType -eq 'Created'}|%{
- $d=$a[$_].SourceEventArgs.FullPath
- if($d -match '[^\\]*$'){
- $a.clone().keys|?{
- $a[$_].SourceEventArgs.ChangeType -eq 'Deleted' -and
- $a[$_].SourceEventArgs.FullPath -match [regex]::Escape($matches[0]) -and
- $a[$_].SourceEventArgs.FullPath -notmatch [regex]::Escape($path)
- }|%{
- $s=$a[$_].SourceEventArgs.FullPath
- $a.remove($_)
- }
- if($s -ne $null -and $d -ne $null){
- "$s -> $d"
- $yn=read-host 'Y/N'
- if($yn -eq 'Y'){move $d $s}elseif($yn -eq 'N'){del $d}
- }
- $a.remove($_)
- }
- }
- rv d,s -ErrorAction SilentlyContinue
- }
复制代码
作者: LJY4.0 时间: 2022-6-16 18:39
回复 6# idwma
还有一个问题想问,他监听的路径在哪,我想修改一下
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |