Batch file 将新文件添加到文件夹时执行批处理文件
我正在使用下面的批处理文件示例,这是我从中获得的。我想修改它,使其在所有子文件夹中循环 有人知道怎么做吗Batch file 将新文件添加到文件夹时执行批处理文件,batch-file,Batch File,我正在使用下面的批处理文件示例,这是我从中获得的。我想修改它,使其在所有子文件夹中循环 有人知道怎么做吗 @echo off if not exist c:\OldDir.txt echo. > c:\OldDir.txt dir /b "d:\My Folder" > c:\NewDir.txt set equal=no fc c:\OldDir.txt c:\NewDir.txt | find /i "no differences" > nul && set
@echo off
if not exist c:\OldDir.txt echo. > c:\OldDir.txt
dir /b "d:\My Folder" > c:\NewDir.txt
set equal=no
fc c:\OldDir.txt c:\NewDir.txt | find /i "no differences" > nul && set equal=yes
copy /y c:\Newdir.txt c:\OldDir.txt > nul
if %equal%==yes goto :eof
rem Your batch file lines go here
请。。。。让它成为地狱 包含函数
启动FileSystemWatcher
请不要将此批处理文件强加给任何系统
有样品 以下是一个样本:
$folder=''
$filter='*.'#你有什么好的教程可以给我指一下吗。上面提供的链接似乎比我需要的多一点
$folder = '<full path to the folder to watch>'
$filter = '*.*' # <-- set this according to your requirements
$destination = '<full path to the destination folder>'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $true # <-- set this according to your requirements
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$path = $Event.SourceEventArgs.FullPath
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp"
Move-Item $path -Destination $destination -Force -Verbose # Force will overwrite files with same name
}