Я пишу свой собственный пакетный скрипт для резервного копирования некоторых файлов на внешний. вот что у меня так далеко:
@echo off
:: variables
set /p dname=Enter the Backup drive's drive letter:
set drive=%dname%:\Backup
set folder=%%date:~4,2%_%date:~7,2_date:~10,4%%
set backupcmd=xcopy /s /c /d /e /h /i /r /y /q
echo ### Backing up My Documents...
%backupcmd% "%USERPROFILE%\Documents" "%drive%\Last\Documents"
echo ### Backing up Favorites...
%backupcmd% "%USERPROFILE%\Favorites" "%drive%\Last\Favorites"
echo ### Setting backup folder of today's date...
%backupcmd% "%drive%\Last\Documents" "%drive%\%folder%\Documents"
%backupcmd% "%drive%\Last\Favorites" "%drive%\%folder%\Favorites"
echo Backup Complete!
Итак, в итоге две папки: последняя и сегодняшняя дата будут содержать одно и то же. Я хочу, чтобы последняя папка содержала именно то, что находится на моем диске C в настоящее время, однако я не хочу удалять функциональность xcopy, копируя только измененные файлы. Есть ли способ пройти через мою папку «Документы» и удалить из «Последнего» любые файлы, которые не существуют в C:?
Другими словами, при первом запуске скрипта создается
Last\Documents\file1.txt and (Date)\Documents\file1.txt
второй запуск (где file1.txt был удален с диска C :) происходит завтра и содержит:
Last\Documents\(no file1.txt) and (NewDate)\Documents\(no file1.txt)
но
(Date)\Documents\file1.txt
остается без изменений