是否可以在 Windows 中自动运行 bat 文件来保存文件

是否可以在 Windows 中自动运行 bat 文件来保存文件

每次我更改文件时,我都需要手动将其复制到另一个文件夹,以便更新的版本存在于该文件夹中。我知道mklink,但对我来说这是不可行的。

有没有办法将 bat 文件挂接到saveWindows 中的文件事件?因为如果可能的话,我可以创建一个 bat 文件来自动复制文件。如果没有,除了 之外,我还有什么其他选择mklink

答案1

您可以在 powershell 中执行此操作。

首先从这里获取 FileSystemWatcher:https://gallery.technet.microsoft.com/scriptcenter/Powershell-FileSystemWatche-dfd7084b

你不需要所有这些 - 我已经将其精简为这个,它应该适合你:

$destination = "\\Location\file\should\go" 
$folder = 'c:\scripts\test' # Enter the root path you want to monitor. 
$filter = '*.*'  # Enter filename here. 
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'} 
Register-ObjectEvent $fsw Changed -SourceIdentifier FileChanged -Action  
{ 
$name = $Event.SourceEventArgs.Name 
Copy-Item $name $destination -force
} 

这仅当检测到文件发生变化时才会触发。

我还没有测试过这个但它应该足够接近可以让你开始。

每次启动机器时,您都需要运行这个 powershell,启动项或计划任务就可以启动它。

答案2

我建议使用免费文件同步使该文件保持同步。FreeFileSync 有一个名为 RealtimeSync 的附加工具,每次检测到给定文件夹中的更改时,它都会触发同步任务。您只需为该文件创建一个同步任务,然后使用该任务运行 RealtimeSync,每次修改时它都会“自动”复制。

完整教程请参阅如何在 Windows 中使用 FreeFileSync 同步文件和文件夹

重要脚注:尽管 FreeFileSync 是开源软件,并且根据 GPL 获得许可,但它与 OpenCandy PUP/PUA 捆绑在一起,因此请在禁用网络连接的情况下安装它,或者确保取消选中垃圾软件安装选项。此外,您也可以使用 7zip 或 PeaZip 解压安装程序,然后直接运行它而无需安装。

相关内容