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

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

Ответить
Настройки темы
CMD/BAT - помогите оптимизировать скрипт

Новый участник


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

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


Изменения
Автор: dredre
Дата: 18-09-2011
Написано крайне криво и неграмотно, так как со скриптовым языком я впервые познакомился 4 часа назад. Просьба понимающих в этом, оптимизировать скрипт, чтоб не стыдно было людям показать, так же не помешали бы сообщения на русском и возможность запускать скрипт из директории с русскими буквами.


updater.bat
читать дальше »
Код: Выделить весь код
@Echo off

call :read_settings %~dp0\settings.txt || exit /b 1

echo etkapath : %etkapath%
echo nau : %nau%
echo nse : %nse%
echo nsk : %nsk%
echo nvw : %nvw%

:read_settings

set SETTINGSFILE=%1

rem Проверка существования файла
if not exist %SETTINGSFILE% (
    echo FAIL: Файл с настройками отсутствует
    exit /b 1
)

for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (
    set %%i=%%j
)

Echo AUDI

set m=au
set m2=audi

:label1
set /a nau="%nau%+1"

if exist "%etkapath%\%m%\Update\etup%m%%nau%0.exe" GOTO label1

Set ROOT=%etkapath%\%m%\Update
Set KBFile1=etup%m%%nau%0.exe
Set KB_Url1=http://update1.lex-com.net/update/%m2%/0/etup%m%%nau%0.exe

Call :KB_TEST "%KBFile1%" "%KB_Url1%"
Echo.
pause
EXIT

:KB_TEST
<Nul Set /P $_X="%~1..."

If Exist "%ROOT%\%~1" Echo Ok& Exit /B
<Nul Set /P $_X=Loading

CScript //NoLogo "script.vbs" "%ROOT%\%~1" "%~2"
Set ERR=%ErrorLevel%

<Nul Set /P $_X=
If %ERR% EQU 0 (
Echo Ok     
GOTO label1
) Else Echo ERROR  

Echo SEAT

set m=se
set m2=seat

:label2
set /a nse="%nse%+1"

if exist "%etkapath%\%m%\Update\etup%m%%nse%0.exe" GOTO label2

Set ROOT=%etkapath%\%m%\Update
Set KBFile1=etup%m%%nse%0.exe
Set KB_Url1=http://update1.lex-com.net/update/%m2%/0/etup%m%%nse%0.exe

Call :KB_TEST "%KBFile1%" "%KB_Url1%"
Echo.
pause
EXIT

:KB_TEST
<Nul Set /P $_X="%~1..."

If Exist "%ROOT%\%~1" Echo Ok& Exit /B
<Nul Set /P $_X=Loading

CScript //NoLogo "script.vbs" "%ROOT%\%~1" "%~2"
Set ERR=%ErrorLevel%

<Nul Set /P $_X=
If %ERR% EQU 0 (
Echo Ok     
GOTO label2
) Else Echo ERROR  

Echo SKODA

set m=sk
set m2=skoda

:label3
set /a nsk="%nsk%+1"

if exist "%etkapath%\%m%\Update\etup%m%%nsk%0.exe" GOTO label3

Set ROOT=%etkapath%\%m%\Update
Set KBFile1=etup%m%%nsk%0.exe
Set KB_Url1=http://update1.lex-com.net/update/%m2%/0/etup%m%%nsk%0.exe

Call :KB_TEST "%KBFile1%" "%KB_Url1%"
Echo.
pause
EXIT

:KB_TEST
<Nul Set /P $_X="%~1..."

If Exist "%ROOT%\%~1" Echo Ok& Exit /B
<Nul Set /P $_X=Loading

CScript //NoLogo "script.vbs" "%ROOT%\%~1" "%~2"
Set ERR=%ErrorLevel%

<Nul Set /P $_X=
If %ERR% EQU 0 (
Echo Ok     
GOTO label3
) Else Echo ERROR  

Echo VW

set m=vw
set m2=vw

:label4
set /a nvw="%nvw%+1"

if exist "%etkapath%\%m%\Update\etup%m%%nvw%0.exe" GOTO label4

Set ROOT=%etkapath%\%m%\Update
Set KBFile1=etup%m%%nvw%0.exe
Set KB_Url1=http://update1.lex-com.net/update/%m2%/0/etup%m%%nvw%0.exe

Call :KB_TEST "%KBFile1%" "%KB_Url1%"
Echo.
pause
EXIT

:KB_TEST
<Nul Set /P $_X="%~1..."

If Exist "%ROOT%\%~1" Echo Ok& Exit /B
<Nul Set /P $_X=Loading

CScript //NoLogo "script.vbs" "%ROOT%\%~1" "%~2"
Set ERR=%ErrorLevel%

<Nul Set /P $_X=
If %ERR% EQU 0 (
Echo Ok     
GOTO label4
) Else Echo ERROR  

Exit /B

pause


script.vbs
читать дальше »
Код: Выделить весь код
If Wscript.Arguments.Count=2 Then
   WScript.Quit(HTTPFileGet(Wscript.arguments.Item(1), Wscript.arguments.Item(0)))
Else
   WScript.Quit(1)
End If

Function HTTPFileGet(strFileURL, strFileSave)
   Dim objXMLHTTP, objADOStream, objFSO
   HTTPFileGet = 1

   Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
   Set objADOStream = CreateObject("ADODB.Stream")
   Set objFSO = Createobject("Scripting.FileSystemObject")

   objXMLHTTP.Open "GET", strFileURL, False
   objXMLHTTP.Send()

   If objXMLHTTP.Status = 200 Then
      objADOStream.Open
      objADOStream.Type = 1

      objADOStream.Write objXMLHTTP.ResponseBody
      objADOStream.Position = 0

      If objFSO.FileExists(strFileSave) Then objFSO.DeleteFile strFileSave

      objADOStream.SaveToFile strFileSave
      objADOStream.Close

      HTTPFileGet = 0
   End If
End Function


settings.txt
читать дальше »
Код: Выделить весь код
etkapath=C:\Program Files\ETKA\VWAU\DATA
nau=842
nse=372
nsk=376
nvw=842

Отправлено: 04:39, 18-09-2011

 

Ветеран


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

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


dredre, для помощников было бы хорошим подспорьем (а для Вас — хорошим тоном) Ваше пояснение на предмет того, что делает (или должен делать) этот набор из пакетного файла и скрипта.

Отправлено: 05:10, 18-09-2011 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
помогите оптимизировать систему BABA ZINA Выбор отдельных компонентов компьютера и конфигурации в целом 6 07-01-2011 22:19
Загрузка - Как оптимизировать систему? systeman Microsoft Windows 7 1 06-07-2010 14:05
Помогите оптимизировать офис. Голова пухнит Joni Флейм 11 19-08-2009 11:55
MySQL - Реально ли оптимизировать запрос? volter Программирование и базы данных 1 30-03-2009 02:58
CMD/BAT - Помогите оптимизировать код n4! Скриптовые языки администрирования Windows 3 08-04-2008 05:59




 
Переход