1

Тема: CMD/BAT: Работа с bat-файлами

Здравствуйте! Мне нужно чтобы bat-файл скачивал в папку, указанную в ini-файле набор файлов,указанных в том же ini-файле.Если в папке уже есть одноименный файл и он не отличается по размеру, скачивать новый не нужно. При первом запуске скрипт должен прописывать свой автозапуск при старте компьютера.
Никогда не работал с ini файлами. Кто может помочь разобраться???

2 (изменено: Yury, 2014-04-12 16:57:50)

Re: CMD/BAT: Работа с bat-файлами

INI-файл -- "в студию"!

3

Re: CMD/BAT: Работа с bat-файлами

Yury пишет:

INI-файл -- "в студию"!

нету.его тоже нужно как-то прописать

4

Re: CMD/BAT: Работа с bat-файлами

INI-файлы либо создаются для какого-нибудь приложения, которое их поддерживает, либо редактируются уже имеющиеся. Создавать INI-файл для пакетного файла -- нонсенс. Впишите необходимые данные в любой текстовый файл, и пакетный файл их сможет обработать для последующих действий, хотя и это, думаю, излишне.

Кстати, с помощью чего качать собираетесь?

5

Re: CMD/BAT: Работа с bat-файлами

Yuri пишет:

Создавать INI-файл для пакетного файла -- нонсенс.

У каждого свой контраргумент. Если, например, писать командный сценарий с весьма развитой системой выборок, можно пойти далее - использовать xml; парсить за счет гибридизации с wsh. Как вариант.

Yuri пишет:

Кстати, с помощью чего качать собираетесь?

Хоть wget'ом, хоть curl'ом. Можно и штатными срествами.

@set @script=0 /*
  @echo off
    set @script=
    setlocal
      set "i=0"
      for %%i in (%*) do set /a "i+=1"
      if "%i%" equ "2" (
        cscript //nologo //e:jscript "%~dpnx0" %1 %2
      ) else (
        echo %~n0 v1.01 - download files from internet
        echo Copyright ^(C^) 2010-2013 greg zakharov gregzakh@gmail.com
        echo.
        echo Usage: %~n0 ^<local_path^> ^<url^>
        echo.
        echo Example:
        echo   %~n0 E:\arc http://download.sysinternals.com/files/Autoruns.zip
      )
    endlocal
  exit /b
*/

with (WScript.Arguments) {
  with (new ActiveXObject('Scripting.FileSystemObject')) {
    var file = Unnamed(1).substring(Unnamed(1).lastIndexOf('/') + 1, Unnamed(1).length);
    
    if (FolderExists(Unnamed(0))) {
      with (new ActiveXObject('MSXML2.XMLHTTP.3.0')) {
        try {
          open('GET', Unnamed(1), false);
          send();
        }
        catch (e) {}
        
        if (status == 200) {
          with (new ActiveXObject('ADODB.Stream')) {
            Open();
            Type = 1;
            Write(responseBody);
            SaveToFile(Unnamed(0) + '\\' + file);
            Close();
          }
        }
        else WScript.echo('Error: bad request.');
      }
    }
    else WScript.echo('Error: folder should be exist.');
  }
}

Правда это я бы назвал баловством. И кстати, если поработать напильником, то можно прикрутить INI и многое другое. Так что, я бы на Вашем месте не был столь категоричен в назиданиях.

6

Re: CMD/BAT: Работа с bat-файлами

greg zakharov пишет:

И кстати, если поработать напильником, то можно прикрутить INI и многое другое.

Дык, никто ж не спорит. При желании "прикрутить" можно практически всё. Если был бы предоставлен готовый INI-файл, "распарсили" бы его в два счёта. Только вот в "сочинении"  INI-файла не вижу смысла.



greg zakharov пишет:

Правда это я бы назвал баловством.

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

7

Re: CMD/BAT: Работа с bat-файлами

Yury пишет:

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

Вижу, что Вы конкретный человек. А если без ерничаний. Вы, может быть, смысла и не видете, кто-то другой - напротив. Вы не допускаете возможность того, что в данном случае тот же INI в данном случае не просто прихоть, а необходимость? Как и Вы, человек поставил конкретную цель. Хотите убить в человеке творческую жилку?

8

Re: CMD/BAT: Работа с bat-файлами

greg zakharov пишет:

Хотите убить в человеке творческую жилку?

Ну что Вы, пусть живёт... жилка-то.

9 (изменено: Serge Yolkin, 2014-04-14 16:35:30)

Re: CMD/BAT: Работа с bat-файлами

Здесь пример батничка, позволяющего создавать/читать/изменять собственный "ini"... Чисто для примера.

P.S. В поле "код" - ююэнкоженый 7zip.