在 Windows 8/10 中自動批次複製檔案和目錄並重新命名檔案的最佳語言/系統?

在 Windows 8/10 中自動批次複製檔案和目錄並重新命名檔案的最佳語言/系統?

Robocopy 非常接近,但副本上缺少檔案重命名。那麼,請大家指導我使用一個非常適合以下情況的 Windows 語言或系統:

這是一個簡單、基本的備份計劃,適用於具有一些 Win8/10 筆記型電腦和 PC 以及中央網路驅動器(連接到路由器 USB 連接埠的 USB 外部驅動器)的家庭網路。幾乎所有要備份的檔案都是圖像、視訊或音樂 - 因此已經被壓縮,因此使用具有壓縮功能的商業備份軟體是沒有意義的。另外,我不希望我的文件封裝在專有的備份文件格式中。我只需要副本。

我正在想像一個命令 shell 批次文件,或者 VBScript,或者...

理想的系統將允許我將電腦上選定的資料夾(包括其所有子資料夾)的計劃備份編程到網路磁碟機上各自的資料夾中。在每個初始完整備份之後,系統將執行增量備份。這些增量備份實際上只是製作任何新檔案的副本,並使用自上次備份以來已更改的任何檔案的索引檔案名稱製作新副本。就是這樣。

正如我所說,批次檔中的 Robocopy 很接近,但無法重新命名檔案。我不想創建帶有索引名稱的新資料夾 - 我希望將原始資料夾中的重命名檔案全部放在一起。

我可能會花幾個月的時間調查和學習現有的每一個可能的 Windows 命令和系統,希望找到能做到這一點的東西。我已經花了幾天時間研究備份軟體和 Robocopy。因此,我希望該板能夠為我指明正確的方向,並提供必要的命令和功能來實現這一目標。

謝謝。

答案1

對每個項目進行初始完整備份後

這聽起來像是 robocopy 的理想情況。聽起來你對這個很著迷:

..增量備份實際上只是製作任何新檔案的副本,並使用自上次備份以來已更改的任何檔案的索引檔案名稱製作新副本。

為了處理這種情況,我將FC在循環中使用來比較檔案是否存在於完整備份中,如果存在,則將copy其單獨覆蓋並包含您修改後的名稱。


因此,為了進行設置,我將確定:

  1. 您想要多久進行一次完整備份以及是否應該刪除來源資料夾中不再存在的內容以及
  2. 如果不是手動的話,您希望多久進行一次增量備份。

在這兩種情況下,我可能會在 Windows 中設定排程任務來執行所需的批次檔。任一腳本的複雜性將由您的目錄結構決定,但在大多數情況下,這就是您的增量備份邏輯的樣子:

@echo off

set "dir=C:\Your\Directory"
set "bkp=N:\Your\Backup\Drive"

for %%A in (%dir%\*) do (
    if exist "%bkp%\%%~nxA" (
        fc "%%A" "%bkp%\%%~nxA"
        if %ERRORLEVEL% EQU 1 (copy /y "%%A" "%bkp%\%%~nA MODIFIED%%~xA")
        )
    )
)

您可以使用參數擴充功能和不同的for選項來根據目錄的設定方式自訂循環。如果您不想透過 robocopy 刪除任何內容,只需使用robocopy "source" "destination" /e- 您也可以循環 robocopyfor一次執行單一資料夾而不是根目錄 - 這樣您就可以為每個資料夾產生一個日誌文件,如果您'我們希望獲得更精細的可見性。

參考:機器人複製,足球俱樂部,為了,複製,參數

相關內容