Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сравнение даты изменения файлов и замена старого на новый

Ответить
Настройки темы
CMD/BAT - [решено] Сравнение даты изменения файлов и замена старого на новый

Аватара для Tosyk

Старожил


Сообщения: 166
Благодарности: 0

Профиль | Отправить PM | Цитировать


Тема такая:

Есть игра, которая хранит сохранения в "блабла"
Есть 2 компьютера.

Проблема: поиграл в игру на одном компьютере, пересел за второй - а там нет сохранений. Приходится перетаскивать на флешке или ещё как.

Более гибкий выход - использовать Dropbox.

Что хотелось бы:
- поиграл в игру
- нажал на батник
- батник проверил наличие сохранений (и дату изменения если сохранения есть) в папке в Dropbox
- батник проверил дату изменения сохранений в "блабла"
- если сохранения в "блабла" новее то батник копирует их в папку на Dropbox с заменой
- переходим на другой комп
- запускаем батник
- батник проверяет опять там и там дату и заменяет в "блабла" новыми сохранениями

вот и всё, как и написано в сабже: проверка на новизну файла и замена старого на новый

Спасибо.

Отправлено: 07:26, 26-11-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Tosyk:
Iska, создаю я значит ссылку на ПЕРВОМ компьютере, появляется символическая в дропбоксе, всё отлитчно »
Пока всё верно.

Цитата Tosyk:
(хотя отличить от обычной ссылки её невозможно). »
Я — отличаю:



Цитата Tosyk:
соответственно дропбокс на ВТОРОМ компьютере закачивает этот файл к себе. »
Вы на второй машине сначала создаёте ссылку с «%AppData%\Some Game\Saves» в «%UserProfile%\Мои документы\Dropbox» (т.е. — те же действия, что и на первой машине), а затем только подключаетесь к интернету.

Я попробую смоделировать сегодня ситуацию у себя.

Отправлено: 06:22, 28-11-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Tosyk

Старожил


Сообщения: 166
Благодарности: 0

Профиль | Отправить PM | Цитировать


в общем пришёл к понимаю, что dropbox не взаимно синхронизирует файлы с одинаковыми именами, а переименовывает на одной из машин файл с таким же именем (не понятно как он выбирает на какой машине это делать, у меня переименовал более новый файл) в

test (USERNAME-PC's conflicted copy 2012-11-29).ini

и помимо переименования закачивает на машину ещё и файл с таким же именем с другой машины, в итоге у нас есть 2 файла:

test (USERNAME-PC's conflicted copy 2012-11-29).ini (является переименованной символьной ссылкой)
test.ini (является вновь закачанным файлом)

для теста создал файл test.ini на обеих машинах
всё делал через teamviewer с отключёным dropbox'ом, после чего практически секунда в секунду включил dropbox на обеих машинах, ждал

есть у вас какие-нибудь мысли по этому поводу?

Последний раз редактировалось Tosyk, 29-11-2012 в 06:30.


Отправлено: 04:28, 29-11-2012 | #12


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Tosyk, проверил. Сработало обратное: создание ссылки с папки в каталоге Dropbox'а в каталог игры. Т.е., на первой машине Вы берёте каталог с сохранениями и перемещаете его в папку Dropbox'а. Затем создаёте ссылку с этой папки, находящейся в каталоге Dropbox'а, в каталог игры (под тем же именем). На прочих машинах — сначала дожидаетесь, пока Dropbox не синхронизирует папку со своим сервером, затем удаляете папку с сохранениями из каталога игры и делаете ссылку с папки, находящейся в каталоге Dropbox'а, в каталог игры (под тем же именем).

Понятно? Пробуйте.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:55, 29-11-2012 | #13


Аватара для Tosyk

Старожил


Сообщения: 166
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, вполне логично и всё работает.

есть пару моментов:
1 - увеличивается размер занимаемого места в Dropbox
2 - при создании игрой новых сохранений/файлов их придётся вручную переносить в Dropbox, что собственно ломает половину идеи

- можно ли сделать линк для всей папки, чтобы при сохранении игра сохраняла оригинал файла в Dropbox? а в своей папке хранила только ярлык
- можно ли определить имя текущего пользователя (%USERNAME%) и подставлять это имя в .cmd вида:

"C:\Users\%USERNAME%\AppData\Local\SOMEGAME\Savegames\savegame00.dat" "D:\My Dropbox\Public\00-archive\01-games\00-savegames\SOMEGAME\Savegames\savegame00.dat"

это для того чтобы при переходе на другой компьютер запускать скрипт, который все ссылки сделает сам туда куда нужно

спасибо вам огромное в любом случае, половина того, что я хотел сделано даже проще чем я мог подумать.

Отправлено: 08:40, 30-11-2012 | #14


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Tosyk:
2 - при создании игрой новых сохранений/файлов их придётся вручную переносить в Dropbox, »
С чего бы это вдруг? Они сразу попадают с папку DropBox'a, поскольку теперь папка с сохранениями в игре — это ссылка на папку в DropBox'е.

Цитата Tosyk:
- можно ли сделать линк для всей папки, чтобы при сохранении игра сохраняла оригинал файла в Dropbox? »
Ну, а я про что писал выше? Вы сделали как-то иначе?

Последний раз редактировалось Iska, 30-11-2012 в 11:25. Причина: Добавлена пропущенная буква: «В сделали …» → «Вы сделали …»


Отправлено: 09:23, 30-11-2012 | #15


Аватара для Tosyk

Старожил


Сообщения: 166
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, ах, точно на папку, вижу, а я делал на каждый файл, хм, что-то не получилось у меня в первый раз сделать ссылку на папку

её мы делаем командой: mklink /D ?

edit:
всё отлично работает! спасибо!

и всё таки можно как то определить имя текущего пользователя, чтобы подставить его в скрипт?

Последний раз редактировалось Tosyk, 30-11-2012 в 10:49.


Отправлено: 10:32, 30-11-2012 | #16


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Tosyk:
её мы делаем командой: mklink /D ? »
Я же писал выше — у меня не Vista, и не Windows 7. Смотрите сами.

Цитата Tosyk:
и всё таки можно как то определить имя текущего пользователя, чтобы подставить его в скрипт? »
Тут Вам «%UserName%» даже не нужен. Берите сразу «%AppData%».
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:26, 30-11-2012 | #17


Аватара для Tosyk

Старожил


Сообщения: 166
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Тут Вам «%UserName%» даже не нужен. Берите сразу «%AppData%». »
кстати да, спасибо огромное! буду пробовать

Отправлено: 12:45, 30-11-2012 | #18



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сравнение даты изменения файлов и замена старого на новый

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Сравнение даты SloTiK Скриптовые языки администрирования Windows 3 26-10-2012 19:08
CMD/BAT - [решено] Сравнение файлов и замена значения из одного файла в другой. Aleks911tat Скриптовые языки администрирования Windows 12 25-08-2012 22:27
VBS/WSH/JS - [решено] Проверка даты изменения папки. ufunf Скриптовые языки администрирования Windows 2 28-01-2010 07:44
[решено] Запрет изменения даты laro4ka Microsoft Windows 95/98/Me (архив) 3 05-12-2008 14:27
Доступ - [решено] Запрет изменения даты laro4ka Microsoft Windows 2000/XP 1 04-12-2008 10:40




 
Переход