Показать полную графическую версию : [решено] скрипт должен лезть в папку vers и искать там фалы
vlad_exe@vk
22-07-2012, 02:08
Сам скрипт будет частью одного бат файла , скрипт должен лезть в папку vers и искать там фалы вот с такими названиями 1.0.0 1.6.1 1.0.3 3.0.1 5.0.4 в общем их там много расширение они как такого не имеют , это как бы версии и скрипт обязан выводить небольшое число Вот так :
Echo Версия %version%
P. S. с русской кодировкой нет проблем
HeLp PlEaSe
Предлагаю такой вариант, но он ищет только 1 файл.
@echo off
cd vers
if exist 1.0.0 goto 1.0.0
if exist 1.6.1 goto 1.6.1
//И так далее
goto errvers //На случай если нет совпадений
:1.0.0
@echo Версия: 1.0.0
pause >nul
goto end
:1.6.1
@echo Версия: 1.6.1
pause >nul
goto end
:errvers
@echo Ошибка определения версии!
pause >nul
:end
расширение они как такого не имеют »
Всё, что после последней точки — это и есть расширение.
Что Вам нужно — не понятно.
vlad_exe@vk
27-10-2012, 23:47
Я знаю про ето Iska обясню у меня есть игра и я хочу чтобы она обновлялась через сеть в случаи если выходит новая версия я это розработал на быдло коде выглядит так :
Set mod=ExE-MODs
if exist settings\version\1.0.0 (
color %col1%
echo. У вас есть обновление 1.0.0
)
)
if not exist settings\version\1.0.0 (
if exist \\-ex-\ExServ\%mod%\version\1.0.0 (
color %col2%
echo.Есть новая версия игры 1.0.0
xcopy \\-ex-\ExServ\%mod%\available\1.0.0 /S /C /H /R /K /Y /Z
copy \\-ex-\ExServ\%mod%\version\1.0.0 settings\version\1.0.0
)
)
И много копий такого скрипта для каждой версии ((((( Как вы поняли ето турпо и занимает много времени на прогон скрипта и имеется граница версий поскольку мне хватило терпения только 1.6.7 версии . Как ето всё упростить ???? вот в чом вопрос ???
Из письма в ПМ:
http://forum.oszone.net/thread-239051.html Помоги в старой теме Плиз .
у меня есть игра »
Я рад за Вас. Название её, ссылка на сайт разработчика, ссылка на загрузку, равно как и ссылка на загрузку обновлений, очевидно, зело великая тайна есть.
1. Повторюсь:
Что Вам нужно — не понятно. »
2. Наплевательское отношение к знакам грамматике, орфографии и синтаксису вызывает у меня, как правило, аналогичное отношение к потребностям писавшего.
vlad_exe@vk
28-10-2012, 01:56
Прошу прощения за грамматику ибо я с Украины , а Руский в школе нам приподавали только один год , сам того незнаю почему .
Игра тут не имеет значения это хотя это СS 1.6 ето сборка для людей в моей ланке .
Это типа скрипт для апдейта любой игры,проги
Работает так :
И так в папке с игрой находится сам батник который после проверки на обновления щапустит саму игру через старт .
Сам скрипт :
Заходит в сетевую папку моего компа \\-ex-\ExServ\ExE-MODs\version\
И если там есть файл допустим 1.2.4
Ищет его анолог в папке с игрой сstrike\settings\version\
N если он там есть то продолжает роботу в поисках 1.2.5 ; 1.2.6;1.2.7;1.2.8 и т.д.
А если есть то xcopy \\-ex-\ExServ\ExE-MODs\aval\1.2.4 /S /C /H /R /K /Y /Z
aval папка с обновлениями
Вот так примерно оно рботает сейчас (((
Но ето как вы поняли - ну и все погрешности я написал выше .
Как упростить и не делать много етого тупого скрипта.
П.С. Еще раз прошу прощения за bad Russian .
Или искать версии в игре в сетевой папке в txt документе
Чтобы оно выглядили так :
1.2.3
1.2.4
1.2.5
1.2.6
Прошу прощения за грамматику ибо я с Украины , а Руский в школе нам приподавали только один год , сам того незнаю почему . »
Ну, родной-то язык Вам явно преподавали больше, нежели, чем один год: запятые учили расставлять?
vlad_exe@vk, я вряд ли смогу Вам чем-либо помочь, поскольку не понимаю, что нужно сделать. Сожалею.
Насколько я понял:
1. создай список версий на сервере DIR .... > vlist.txt
2. Для каждой записи из списка версий проверяй что есть файл на клиентском компьютере
For /f %%a .... (vlist.txt) do ..... (
If /I not exist %%a (xcopy ....)
)
вместо ... нужно подставить правильные пути и параметры.
vlad_exe@vk
28-10-2012, 16:15
Vserd, Хммм теперь уже я не понял можно поподробней ?? ))))
1. создаем список версий на сервере, пишем его в файл.
Либо отдельным скриптом и его ведет владелец сервера
Либо если это шара, можно попробовать использовать команду dir (возможно потребуется мапинг на диск (net use) в нашем батнике.
2. вычитываем содержимое файла версий из п.1 посточно, смотрим что есть такой файл с именем которыйчитали из файла (For /f %%a .... (vlist.txt) do ), нет такого файла (If /I not exist %%a), запускаем копирование (xcopy ).
расписывать что конкретно должно быть, мне не хочется слишком много работы, и условия задачи мне непонятны. Подсказать как преодолеть затык с удовольствием.
Для начала, воспользуйся cmd /k help dir
cmd /k help for
cmd /k help if
cmd /k help set
читать вдумчиво.
P.S. в какой-то из тем по Bat\cmd либо на этом форуме, либо на ру-борде решали подобную задачу. Можешь поискать, но помне лучше научиться самому.
vlad_exe@vk
29-10-2012, 00:23
СПс попробую
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.