Jika Anda tidak keberatan membuat nama direktori berdasarkan tanggal dan waktu (yang saya pikir Anda mungkin tidak akan keberatan dalam situasi ini), maka mungkin file batch ini akan berfungsi. Juga, ini akan membantu mengotomatiskannya sedikit. Alasan saya melakukan pengecekan untuk apakah game berjalan adalah karena tidak ada alasan nyata untuk membuat cadangan saat game dimatikan untuk sementara waktu.
Buat file batch ini:
@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
Buat tugas (ada dua rute untuk melakukan ini):
- Melalui Penjadwal Tugas (Anda mungkin akan memiliki item menu diterjemahkan ke dalam bahasa asli Anda jika Microsoft memiliki akal sama sekali):
- Ketik taskchd.msc di bilah pencarian di menu mulai dan tekan Enter.
- Klik "Perpustakaan Penjadwal Tugas" di sidebar kiri dan kemudian klik "Buat tugas baru" di sidebar kanan.
- Ketikkan nama yang Anda inginkan untuk tugas tersebut.
- Klik tab "Pemicu" dan klik "Baru ..." di bagian bawah.
- Pilih "Saat tugas / modifikasi" di menu tarik-turun "Mulai tugas".
- Di area Opsi Lanjut, centang kotak yang mengatakan "Ulangi tugas setiap:" dengan opsi berikut:
- X menit (pilihan Anda di sini)
- Durasi: Tanpa batas
- Klik tab "Tindakan" dan klik "Baru ..." di bagian bawah.
- Pilih "Mulai program" di menu tarik-turun "Aksi", jika belum dipilih.
- Dalam kotak "Program / skrip:", ketik
%comspec% /t:0C /c "Drive:\Dir\To\YourBatchFile.bat"
.
- Di tab "Ketentuan", pastikan tidak ada yang dipilih. Beberapa opsi, jika dicentang, akan dengan cepat dan sepenuhnya meniadakan poin dari semua pekerjaan ini, terutama jika Anda menggunakan laptop dan keduanya "Mulai hanya jika komputer menggunakan daya AC" dan "Berhenti jika komputer beralih untuk daya baterai "diperiksa.
- Tekan "OK" di bagian bawah untuk menyimpan tugas.
- Melalui baris perintah
- Ketik ini ke dalam Command Prompt dan tekan Enter (Ganti% DirToBat% dengan direktori aktual):
schtasks / create / tn WhatYouWantToNameYourTask "/ tr" '% comspec%' / t: 0C / c \ "% DirToBat% \" "/ sc minute / mo X
Harap dicatat bahwa kutipan dilewatkan sebagai argumen untuk% comspec% HARUS lolos seperti yang ditunjukkan. Juga, jumlah menit di sini adalah sesuatu yang Anda dapat lebih mengontrol daripada di UI.
Satu item catatan: File batch ditulis untuk berhenti segera setelah melihat bahwa game tidak berjalan, dan itu membuat cek sebelum membuat persiapan untuk membuat cadangan apa pun. Jika Anda tidak menginginkannya, maka lepaskan bagian yang ditandai dengan tanda sama dengan yang dikomentari:%= ============= =%
Juga, silakan menerjemahkan echo
kalimatnya jika Anda mau.