Если вы не возражаете делать имена каталогов на основе даты и времени (что, я думаю, вы не возражаете в этой ситуации), возможно, этот пакетный файл сработает. Кроме того, это поможет немного автоматизировать это. Причина, по которой я проверяю, работает ли игра, заключается в том, что нет никакой реальной причины делать резервную копию, когда игра была отключена некоторое время.
Создайте этот пакетный файл:
@echo off
setlocal enabledelayedexpansion enableextensions
cls
rem Color is taken care of in the task call.
%= ============================================================== =%
rem * Take this section out if you want it to make backups even when
rem * you're not playing the game.
echo Checking if game is running...
md "%tmp%\cmdtmp"
set tmpdir=%tmp%\cmdtmp
tasklist /fo csv /nh /fi "imagename eq %NameOfACExectuable%" /fi "status eq running" > "%tmpdir%\tmp.txt"
set /p tasklist= < "%tmpdir%\tmp.txt"
del "%tmpdir%\tmp.txt"
rd "%tmpdir%" /s /q
set tasklist=
set tmpdir=
%= ============================================================== =%
set image=
for /f "tokens=1 delims=," %%I in (!tasklist!) do (
set tmpvar=%%~I
for %%J in (!tmpvar!) do if not defined image set image=%%~xJ
rem * The file extension needs checked so image doesn't become
rem * set with output saying that no files have been found.
rem * This section has to be a bit complicated because there
rem * isn't any straightforward way to get an extension out of
rem * an environment variable.
)
if not defined image goto :eof
echo.
echo Backup has now started.
rem * This is to ensure that the date/time format is consistent
rem * (we likely don't use the same date/time format).
set X=
for /f "skip=1 delims=" %%x in ('wmic os get localdatetime') do if not defined X set X=%%x
set datetime=!X:~0,4!!X:~4,2!!X:~6,2!_!X:~8,2!!X:~10,2!!X:~12,2!
set bkupdir="%WhereverYouWantToMakeTheBackup%"
md "%bkupdir%\savebackup_!datetime!"
set thisbkupdir="%bkupdir%\savebackup_!datetime!"
xcopy "%WhereYourACGameSaveIs%" "!thisbkupdir!" /e /y /c /q
echo.
echo Backup completed. Exiting...
timeout /t 5 /nobreak
exit
Создайте задачу (для этого есть два маршрута):
- С помощью планировщика заданий (возможно, у вас будут пункты меню, переведенные на ваш родной язык, если у Microsoft вообще есть смысл):
- Введите taskschd.msc в строке поиска в меню "Пуск" и нажмите Enter.
- Нажмите "Библиотека планировщика заданий" на левой боковой панели, а затем нажмите "Создать новую задачу" на правой боковой панели.
- Введите имя, которое вы хотите для задачи.
- Перейдите на вкладку "Триггеры" и нажмите «Новый ...» внизу.
- Выберите «При создании / изменении задачи» в раскрывающемся меню "Начать задачу".
- В области "Дополнительные параметры" установите флажок «Повторять задачу каждый:» со следующими параметрами:
- X минут (ваш выбор здесь)
- Продолжительность: неопределенно
- Перейдите на вкладку "Действия" и нажмите «Создать ...» внизу.
- Выберите "Запустить программу" в раскрывающемся меню "Действие", если она еще не выбрана.
- В поле «Программа / скрипт:» введите
%comspec% /t:0C /c "Drive:\Dir\To\YourBatchFile.bat"
.
- На вкладке "Условия" убедитесь, что ничего не выбрано. Некоторые из опций, если они отмечены, быстро и полностью сведут на нет смысл всей этой работы, особенно если вы используете ноутбук, а также "Запускать только при включенном питании от компьютера" и «Остановить, если компьютер переключается». к заряду батареи "проверены.
- Нажмите "ОК" внизу, чтобы сохранить задачу.
- Через командную строку
- Введите это в командной строке и нажмите Enter (замените% DirToBat% на действительный каталог):
schtasks / create / tn WhatYouWantToNameYourTask "/ tr" '% comspec%' / t: 0C / c \"% DirToBat% \" "/ sc минута / мес. X
Обратите внимание, что кавычки, передаваемые в качестве аргументов в% comspec%, ДОЛЖНЫ быть экранированы, как показано. Кроме того, количество минут здесь можно контролировать более точно, чем в пользовательском интерфейсе.
Одно замечание: командный файл записывается так, что он останавливается сразу после того, как игра не запускается, и проверяет ее перед подготовкой к резервному копированию чего-либо. Если вы этого не хотите, выньте разделы, отмеченные закомментированными знаками равенства: %= ============= =%
Кроме того, не стесняйтесь переводить линии echo
если хотите.