是否可以在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 解壓縮安裝程序,然後執行它而不進行安裝。

相關內容