Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
9 / 10 / 2
Регистрация: 14.12.2015
Сообщений: 170
1

Перманентная смерть. Резервное копирование и возврат вручную

01.07.2020, 08:20. Просмотров 142. Ответов 2
Метки нет (Все метки)

Предупреждаю, будет неинтересно. А, тем кому неинтересно - станет интересно.

PermaDeath - это когда твой персонаж склеивает ласты и весь прогресс теряется.

Идея заключается в том как сохранить сейвы (Играть будем в игру Донт Старв мод Царство Гигантов. на рутрекере скачал)

Понадобится сторонка AHK



Windows Batch file
1
2
3
4
5
F5::Run SAVE.bat
F1::Run LOAD.bat 1
F2::Run LOAD.bat 2
F3::Run LOAD.bat 3
F4::Run LOAD.bat 4
На клавише F5 сохранка. На остальных слоты возврата

Save.bat

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
REM Общая папка для сохранений
Set savfold=SAVE_DS_RoG\
 
REM Папка исходник
Set "source=C:\Program Files\Lonely One\Do Not Starve. Reign of Giants\bin\3DMGAME\3DMGAME\storage\"
 
REM Создаем папки-слоты сохранений
For %%i in (save1 save2 save3 save4) do if not exist %savfold%%%i md %savfold%%%i
 
REM Узнаем изменения в исходнике
For /f %%i in ('dir "%source%" /b /a-d /o:d') do (
For %%a in ("%source%%%i") do set lastrec=%%~ta
)
 
REM Инвертируем дату-время изменения файла в исходнике
Set lastrec=%lastrec::=.%
Set lastrec=%lastrec: =_%
For /f "tokens=1,2-5 delims=._" %%1 in ("%lastrec%") do set lastrec=%%3%%2%%1%%4%%5
 
REM Узнаем последнее изменение файла в резервном сохранении (вначале будет пусто)
For /f %%i in ('dir %savfold% /b /a:d /o:d') do (
For /f %%a in ('dir %savfold%%%i /b /a-d /o:d') do (
For %%b in (%savfold%%%i\%%a) do set rezsave=%%~tb
)
)
If not defined rezsave set rezsave=00.00.0000_00.00
 
REM Инвертируем дату-время изменения файла в резерве
Set rezsave=%rezsave::=.%
Set rezsave=%rezsave: =_%
For /f "tokens=1,2-5 delims=._" %%1 in ("%rezsave%") do set rezsave=%%3%%2%%1%%4%%5
 
REM Сравниваем
Setlocal EnableDelayedExpansion
set n=1
set t=2
if "%lastrec%" gtr "%rezsave%" (
for /l %%i in (1,1,4) do (
del /q save!n!\*.*
copy  %savfold%save!t!\*.* %savfold%save!n!\ || copy "%source%*.*" %savfold%save!n!\ 
set /a n+=1
set /a t+=1
)
)


Load.bat

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
REM Переменные
Set savfold=SAVE_DS_RoG\
Set "source=C:\Program Files\Lonely One\Do Not Starve. Reign of Giants\bin\3DMGAME\3DMGAME\storage\"
Set "gameway=C:\Program Files\Lonely One\Do Not Starve. Reign of Giants\bin\dontstarve_steam.exe"
Set game=dontstarve_steam.exe
 
REM Условие наличия, но не нужно - парадокс
 
REM Поехали
Taskkill /t /f /im %game%
Del /q "%source%"*.*
Copy %savfold%save%~1 "%source%"
START "%gameway%"
Проблема - эта хреновина не работает.


*************
Теперь не по теме. Все-таки я сделал эту точилку из жесткого диска. Пришлось заказывать драйвер-контроллер на Алике.
На ютубе можно видос посмотреть "как запустить моторчик синхроного типа" Блок питания на 2 Ампера 12 Вольт лучше применять.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2020, 08:20
Ответы с готовыми решениями:

Резервное копирование
Нужна помощь. 1. test100.7z начальное состояние каталога; 2. test101.7z должно быть на выходе;...

Резервное копирование БД
Здравствуйте пытаюсь сделать резервную копию базы данных вот код процедуры procedure...

Резервное копирование
Доброго времени суток. Имеется задание "проверка состояний резервных копий серверов" Резервное...

Резервное копирование бд
Данный вопрос касается больше самих бд, нежели php. Насколько я знаю, резервная копия может...

2
3130 / 1773 / 589
Регистрация: 26.04.2015
Сообщений: 5,869
01.07.2020, 19:51 2
Цитата Сообщение от RaDM Посмотреть сообщение
не работает
что именно не работает?
например в коде есть подобный кусок, я приведу два варианта написания:
Windows Batch file
1
2
3
if 2 gtr 10 echo OK
if "2" gtr "10" echo OK
pause
Добавлено через 7 минут
по команде START не раз обсуждалось:
Кликните здесь для просмотра всего текста

START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <узел NUMA>] [/AFFINITY <маска сходства>] [/WAIT] [/B]
[команда/программа] [параметры]

"заголовок" Заголовок окна.
путь Исходный каталог.


Добавлено через 3 минуты
и, как всегда, нужна полная задача для сотворения этого всего с нуля - проще чем разбирать косяки.
0
3274 / 2502 / 877
Регистрация: 28.10.2013
Сообщений: 6,584
02.07.2020, 21:04 3
Цитата Сообщение от RaDM Посмотреть сообщение
Понадобится сторонка AHK
А чего сразу не весь код на AHK? Там синтаксис, конечно, тоже не айс, но всяко почище чем в cmd.
И операторов больше и команд.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2020, 21:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Резервное копирование
Я хочу сделать заводское восстановление, но хочу сохранить все достижения в играх, которые хранятся...

Резервное копирование
Здравсвуйте! Помогите пожалуйста. В чём заключается процедура резервного копирования вцелом? И...

Резервное копирование
Пытаюсь сделать резервное копирование вот таким способом:if (SaveDialog1-&gt;Execute()) {...

Резервное копирование БД
Дано: База данных (таблицы), хранимая на общем сетевом рессурсе. Несколько клиентов Аксеса, которые...

Резервное копирование
Здравствуйте, опишу суть проблемы: 1.Поставил полное резервное копирование ALTER DATABASE...

Резервное копирование БД
Здравствуйте! У меня есть компьютер с развернутой базой данных средствами MS SQL Server 2005....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.