Ви вже отримали важливі відомості на місці. Ви знаєте джерело та цільові назви файлів / каталогів, і у вас є змінна, %today
яка містить поточну дату.
Для переміщення файлу ви можете використовувати move
або якусь copy
команду. Важлива частина полягає в тому, що у вас є ім'я файлу резервного zip ( %Output_Path%\Daily_backup_%today%.zip
). Якщо ви використовуєте команду копіювання, вам доведеться скористатися del
пізніше, щоб видалити вихідний файл.
Хоча ви пояснювали в одному зі своїх коментарів, що ви використовуєте наступний код, щоб призначити змінну сьогодні, це насправді не пояснює багато. Змінні, які ви використовуєте для створення %today
, не є стандартними. Отже, ви вже виконуєте якусь команду для їх побудови.
set today=%Month%-%Day%-%Year%
Якщо ви подивитесь Як отримати та відобразити вчорашню дату? і Як отримати вчорашню дату у пакетному файлі? [дублікат] ви побачите, що, мабуть, немає простого способу отримати вчорашню дату партією. Але ви, мабуть, могли використовувати ці рішення.
Як зазначається у вашому коментарі, ви використовуєте простіший підхід, щоб видалити "всі" старі файли (які повинні бути лише одним), а потім просто перемістити новий файл.
Тепер ви хочете зробити це перевірити, коли операція пройшла успішно, перш ніж продовжувати. Значення %errorlevel%
залежить від програми, з якою ви маєте справу. Як простий приклад, наступне поверне 0, що вказуватиме на те, що помилки не було. Який тип правдивий, але, мабуть, не той, що ви насправді хочете.
del C:\Temp\ThisFileDoesn'tExist.txt
echo %errorlevel%
Добре запитання з інформацією про це, здається, перевірити, чи була команда успішною в пакетному файлі .
Я не знаю, яку програму zip ви використовуєте, і вам доведеться перевірити документацію, щоб дізнатись про те, які значення очікувати і т.д. Хороший приклад для цього - Як перевірити, чи існує файл із серійного файлу [дублікат] .
То яке б було можливе рішення?
- Створіть свої файли, як ви робили раніше
- Перевірте, чи існує ваш резервний файл. Це не перевіряє, чи виникли помилки, але ви принаймні знаєте, що щось було записано у файл, який відповідає потрібному імені
- Видаліть старі резервні копії
- Перемістіть новий файл резервної копії
move
(ви отримали шлях вже там, де файл знаходиться зараз) та видаліть файл після цього, використовуючиdel
.