EasyCureLogs! - утилита для сбора логов и лечения с помощью Dr.Web CureIt!® 1.0.1.6

Сборщик логов для получения помощи в лечении ПК на форуме Dr.Web

Метки:
  1. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    Некоторое время назад мне довелось самому делать сборщик логов для раздела лечения форума доктор веб.
    (не то что бы ЯЯЯ... почему то никто не брался, время шло скрипт написанный кем-то (не знаю кем) безнадёжно устаревал (для антивируса и лечащей утилиты 5-6 версий) и я взялся за его отладку никого не спрашивая.. в итоге получилось вот forum_drweb.zip.)
    Код (DOS):
    :easy
    cls
    @echo off
    @chcp 866
    @title http://forum.drweb.com - cureit script beginning !
    @color 06
    @echo off
    if not exist C:\forum_drweb md C:\forum_drweb

    echo %allusersprofile%>C:\forum_drweb\critical.txt
    if exist "%HOMEDRIVE%\Documents and Settings" echo %HOMEDRIVE%\Documents and Settings>>C:\forum_drweb\critical.txt
    if exist %HOMEDRIVE%\users echo %HOMEDRIVE%\users>>C:\forum_drweb\critical.txt

    :Scan
    if exist "%programfiles%\DrWeb\dwscanner.exe" goto DRW
    if exist "%programfiles(86)%\DrWeb\dwscanner.exe" goto DRWX
    if not exist .\scanner.exe goto ren

    :CUR
    echo Start DrWeb CureIt stage one
    scanner.exe /cureit_disable_uac /AA /AR- /AC- /BI- /ok /RP:C:\forum_drweb\userscan.log /FL-:C:\forum_drweb\critical.txt /quit
    echo Start DrWeb CureIt stage two
    scanner.exe /cureit_disable_uac /LITE /BI- /ok /TR /TB /AA /RP:C:\forum_drweb\litescan.log /quit
    goto LOG

    :DRWX
    echo Start DrWeb Scanner stage one
    "%programfiles(86)%\DrWeb\dwscanner.exe" /AR- /AC- /BI- /ok /AA /RP:C:\forum_drweb\dwuserscan.log /FL-:C:\forum_drweb\critical.txt /quit
    echo Start DrWeb Scanner stage two
    "%programfiles(86)%\DrWeb\dwscanner.exe" /LITE /BI- /ok /TR /TB /AA /RP:C:\forum_drweb\dwlitescan.log /quit
    goto LOG

    :DRW
    echo Start DrWeb Scanner stage one
    "%programfiles%\DrWeb\dwscanner.exe" /AR- /AC- /BI- /ok /AA /RP:C:\forum_drweb\dwuserscan.log /FL-:C:\forum_drweb\critical.txt /quit
    echo Start DrWeb Scanner stage two
    "%programfiles%\DrWeb\dwscanner.exe" /LITE /BI- /ok /TR /TB /AA /RP:C:\forum_drweb\dwlitescan.log /quit
    goto LOG

    :LOG
    copy .\HiJackThis.exe C:\forum_drweb\ /y
    C:\forum_drweb\HiJackThis.exe /silentautolog
    del C:\forum_drweb\HiJackThis.exe /f /q
    ver>C:\forum_drweb\x-info.log
    set >>C:\forum_drweb\x-info.log
    dir %windir% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %windir%\system32 /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %windir%\system32\drivers /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %temp% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %AppData% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir .\ /a /-c >> C:\forum_drweb\x-info.log
    ipconfig /all >C:\forum_drweb\ipconfig.log
    explorer C:\forum_drweb\
    exit

    :ren
    @color 06
    echo RENAME PLEASE CUREIT in to SCANNER.EXE and press ANY KEY !
    pause && goto easy

    Пожалуйста оставляйте отзывы и предложения.
    (По специфике форума использование сторонних утилит строго ограничено..)

    logsdone.png
    log_programfiles.png
    plstf.png
    sysinf.png
    inf_inst.PNG

    _______________________________
    Скачать последнюю версию сборщика логов
    можно под паучком:
     
    Последнее редактирование модератором: 5 июл 2014
    E100, machito, Kиpилл и 2 другим нравится это.
  2. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Sorry, you don't have permission for that!

    А сколько весит архив? Можете выложить сюда? или на rghost.ru, хотелось бы не только почитать код, но и потестить вживую :)
     
  3. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    Sorry.. :) В принципе он под спойлером.
    Инструкция.
    Альтернативный способ создания логов (автоматический режим)

    Если создание логов в ручном режиме вызывает у вас затруднения, можно воспользоваться bat-файлом, создающим большую часть логов автоматически.
    Для этого скачайте архив forum_drweb.zip, распакуйте его в в любую папку (можно на рабочий стол), туда же положите утилиту HijackThis и, если у вас не установлен DrWeb-8 (7), утилиту CureIt!, переименовав её в scanner.exe, и запустите файл forum_drweb.cmd щелкнув по нему правой кнопкой мыши и выбрав в его контекстном меню Запуск от имени администратора (на ОС Vista и выше). Будут созданы логи и открыты в Проводнике Windows в папке C:\forum_drweb. Заархивируйте эту папку и приложите этот архив на форуме.
    Также нужен штатный отчет Dr. Web или лог утилиты DrWeb SysInfo, его делать самостоятельно по вышеописанным ссылкам.
    --- Объединённое сообщение, 18 ноя 2013, Дата первоначального сообщения: 18 ноя 2013 ---
    critical.txt это файл список путей для сканера
    Проверяются такие области- (автоматически применяются действия над заражёными объектами - лечатся/крантинятся или удаляются.)
    Stage one
    Object(s) to scan:
    - C:\ProgramData
    - C:\Documents and Settings
    - C:\users

    Stage two
    Object(s) to scan:
    - Scan processes in memory
    - Scan boot sectors
    - Scan system restore points
    - Scanning for rootkits
     

    Вложения:

    • forum_drweb.zip
      Размер файла:
      817 байт
      Просмотров:
      5
    Последнее редактирование: 18 ноя 2013
  4. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Отзывы... предложения?
    2 абзаца Вашей инструкции заменить на 1 батник :)
    Т.е. нельзя включать качалки, вроде нашего логосборщика WGET?
    а где он должен быть? В сборщике такого не наблюдаю.
    --- Объединённое сообщение, 18 ноя 2013 ---
    ++ у Вас в инструкции файлы для скачивания выделены жырным, а толку 0. Лучше вместо этого гиперссылки вставить (мне, например, очень неудобно читать такое).
    --- Объединённое сообщение, 18 ноя 2013, Дата первоначального сообщения: 18 ноя 2013 ---
    ++ инструкция хотя бы в текущем виде к батнику сделать не плоскую, а вертикальную (по пунктам № 1, № 2. - четко структурированную):

    Способ автоматического создание логов:
    1. Создать на рабочем столе папку "Лечение" и скопировать туда такие файлы:
    • Распаковать файл forum_drweb.cmd из архива forum_drweb.zip <<-- здесь гиперссылка (я бы батнику дал другое имя, чтобы не путать с одноименным каталогом)
    • Утилиту HijackThis.exe <-- гиперссылка
    • Если у вас не установлен DrWeb-8 (7), утилиту CureIt! <<<-- гиперссылку, переименовав её в scanner.exe <--- это можно автоматизировать!
    2. Запустите файл forum_drweb.cmd, щелкнув по нему правой кнопкой мыши и выбрав "Запустить от имени Администратора" (для ОС Vista и выше)
    3. Дождитесь завершения работы. После сканирования будут созданы логи.
    4. Заархивируйте папку C:\forum_drweb и приложите этот архив, создав новую тему на форуме <<--- гиперссылка.
    5. Также нужен штатный отчет Dr. Web или лог утилиты DrWeb SysInfo <<<--- гиперссылка (а нельзя его тоже автоматизировать?)
     
    Последнее редактирование: 19 ноя 2013
    Kиpилл нравится это.
  5. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    он в принципе всегда Exist (там хардлинк).

    Здесь будет ошибка.
    На XP эта папка содержит пробелы. "Закавычьте" ее. И заочно "закавычьте" другие папки на всякий случай.

    Вот эти символы @ - они лишние (один раз только нужно писать).
    @echo off - дважды повторяется.

    Это можно опустить под строку @echo off

    В самом начале файла нужно писать:
    cd /d "%~dp0"

    Странно, что код вообще работает без нее.
    Если запустить "От имени Администратора", рабочая папка сменится на %windir%\system32
    и проверки вида
    всегда будут FALSE.

    По остальной части кода вроде ничего. Ключи запуска CureIT Вам лучше знать. Тут я не вникаю.

    Подпрограмму ren я бы модифицировал алгоритмом автоопределения имени EXE-шника в папке, который весит более 50 МБ (это и будет наш CureIT).

    Код (DOS):
    :: Эту строку и POPD можно не писать при условии, что Вы написали в начале батника CD /D "%~dp0"
    :: и более никаких переходов cd / chdir не производили
    pushd "%~dp0"
    For /F "delims=" %%? in ('dir /B /A-D *.exe') do if %%~z? GTR 50000000 set "CureIT=%%?"
    :: если найден файл, переименовуем его в scanner.exe
    if Defined CureIT (
      ren "%CureIT%" "scanner.exe"
      goto CUR
    ) else (
      echo RENAME PLEASE CUREIT in to SCANNER.EXE and press ANY KEY !
      pause
      goto easy
    )
     
    Phoenix и Kиpилл нравится это.
  6. Гимаев Наиль
    Оффлайн

    Гимаев Наиль Пользователь

    Сообщения:
    59
    Симпатии:
    98
    Учитывая, что Cureit обновляется каждые четыре часа, то я бы добавил в батник его скачивание и переименование.
    Скачивать лучше всего из этой папки: ftp://ftp.drweb.com/pub/drweb/cureit/
    Там Cureit лежит под четырьмя разными именами, можно выбрать любое.
    Тем более, что для скачивания с ftp внешние утилиты не нужны.
    Хотя мне кажется, что лучше без переименования.
     
    Kиpилл и Phoenix нравится это.
  7. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    Прежде всего благодарю за замечания. Особо за инструкцию. Но оформлением занимается один модератор и от него и зависит (но предложу ваш вариант).
    А как же ХР ? Там это аналог папки Users. На win 7 её может и не быть - юзер может удалить. Получим непонятную ошибку.

    +

    Он удаляется после сканирования /FL-:C:\forum_drweb\critical.txt (это ключ сканера-cureit)
    Код (Text):
    echo %allusersprofile%>C:\forum_drweb\critical.txt

    if exist "%HOMEDRIVE%\Documents and Settings" echo %HOMEDRIVE%\Documents and Settings>>C:\forum_drweb\critical.txt
    if exist %HOMEDRIVE%\users
    echo %HOMEDRIVE%\users>>C:\forum_drweb\critical.txt

    Проводником копировать ? Так дольше.. ftp ?
    --- Объединённое сообщение, 19 ноя 2013, Дата первоначального сообщения: 19 ноя 2013 ---
    Да почему ? эта часть работает.. попробуйте с другим именем.
     
    Последнее редактирование: 19 ноя 2013
  8. Гимаев Наиль
    Оффлайн

    Гимаев Наиль Пользователь

    Сообщения:
    59
    Симпатии:
    98
    Вы знаете как можно в батник добавить копирование из ftp Проводником?
    Если да, то хотелось бы в двух словах услышать как. Люблю узнавать новое.
    А мой вариант был таким:
    Код (DOS):
    (echo binary&echo get /pub/drweb/cureit/setup.exe)| ftp -A ftp.drweb.com
    Когда советовал, я не знал страшный недостаток этого метода - полное отсутствие обратной связи.
    Ни каких подсказок и надписей дающих понять, сколько осталось до конца процесса.
    А это совершенно недопустимо для файлов такого большого размера.
    Поэтому если уж и скачивать, то через wget.
    --- Объединённое сообщение, 19 ноя 2013, Дата первоначального сообщения: 19 ноя 2013 ---
    Этот вопрос навёл меня на мысль, что можно скачивать браузером по умолчанию:
    Код (DOS):
    start "" "ftp://ftp.drweb.com/pub/drweb/cureit/cureit.exe"
    Причём так можно скачивать вообще любые файлы.
    Но тогда задача по копированию в нужную папку и переименованию файла ложится на плечи пользователя.
     
    Последнее редактирование: 19 ноя 2013
    Kиpилл нравится это.
  9. Kиpилл
    Онлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.209
    Симпатии:
    4.977
    Ну так временно менять папку для загрузок?
    Не помню на всех ли браузерах можно это через реестр делать,проверю.
     
    Dragokas нравится это.
  10. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Гимаев Наиль, можно просто сообщение написать "Скачивается файл...". Скрипт ведь простой.
    Если не ошибаюсь там нужно прописать команды HASH и BINARY. Тогда будет видно процесс скачивания (но не прогрессбар). QUOTE PASV еще можно (переход в пассивный режим).

    Я бы еще предложил вариант через VBScript:

    Код (vb.net):
    WScript.Echo(GetFileFromURL("ftp://ftp.drweb.com/pub/drweb/cureit/cureit.exe","C:\forum_drweb\cureit.exe"))
    Function GetFileFromURL(strURL, strPath)
        Const adTypeBinary          = 1
        Const adSaveCreateOverWrite = 2
        With CreateObject("MSXML2.XMLHTTP")
            .open "GET", strURL, False
            .send
            arrContent = .responseBody
        End With
        With CreateObject("ADODB.Stream")
            .Type = adTypeBinary
            .Open
            .Write arrContent
            .SaveToFile strPath, adSaveCreateOverWrite
        End With
        With CreateObject("Scripting.FileSystemObject")
            If objFSO.FileExists(strPath) Then
                If objFSO.GetFile(strPath).Size <> 0 Then GetFileFromURL = True
            End If
        end with
    End Function
     
    Последнее редактирование: 19 ноя 2013
    Phoenix, Kиpилл и akok нравится это.
  11. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    Код (DOS):
    start "" "ftp://ftp.drweb.com/pub/drweb/cureit/cureit.exe"
    OR
    Код (DOS):
    explorer ftp://ftp.drweb.com/pub/drweb/cureit/cureit.exe
    :)

    Сделал попроще. Добавил элевацию и изменил директорию всех юзеров на текущего, добавил програмные папки (общее время сканирования 11мин. Е6700 3.2GHz) + Исправил ошибки.
    (на счёт скачивания всё таки предполагается, что пользователь скачал с чистой машины и запускает на заражённой; при скачивании на заражённой файл может повредиться, что бывает часто, а значит и проверку подписи-хеша-размера...).

    С этой частью что можно сделать ? Она необходима ? (вроде нет).
    Код (DOS):
    :: Проверка
    ::Пытаемся записать пустой файл в корень системного раздела
    cd.>c:\test.log
    if exist c:\test.log Echo OK - привилегии получены.
    exit
    Код (DOS):
    @echo off
    if "%1"=="" (
      Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"Admin","","runas",1 >"%~dp0Elevating.vbs"
      cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"& Goto :eof
    )
    >nul del "%~dp0Elevating.vbs"
    chdir /d "%~dp0"

    :: <---код основной программы

    chcp 866 >nul
    cd /d "%~dp0"
    :easy
    cls
    title http://forum.drweb.com - cureit script beginning !
    color 06
    ::create log dir
    if not exist C:\forum_drweb md C:\forum_drweb

    ::collect paths to scan

    echo %allusersprofile%>C:\forum_drweb\critical.txt
    echo %userprofile%>>C:\forum_drweb\critical.txt
    echo %programfiles%>>C:\forum_drweb\critical.txt
    if exist "%programfiles(x86)%" echo %programfiles(x86)%>>C:\forum_drweb\critical.txt

    :Scan
    ::search scanner 7,8-9,CureIt
    if exist "%programfiles%\DrWeb\dwscanner.exe" goto DRW
    if exist "%programfiles(86)%\DrWeb\dwscanner.exe" goto DRWX
    if not exist .\scanner.exe goto ren

    :CUR
    ::CureIt
    echo Start DrWeb CureIt stage one
    scanner.exe /cureit_disable_uac /AA /AR- /AC- /BI- /ok /RP:C:\forum_drweb\userscan_%random%.log /FL-:C:\forum_drweb\critical.txt /quit
    echo Start DrWeb CureIt stage two
    scanner.exe /cureit_disable_uac /LITE /BI- /ok /TR /TB /AA /RP:C:\forum_drweb\litescan_%random%.log /quit
    goto LOG

    :DRWX
    ::DrWeb7
    echo Start DrWeb Scanner stage one
    "%programfiles(86)%\DrWeb\dwscanner.exe" /AR- /AC- /BI- /ok /AA /RP:C:\forum_drweb\dwuserscan_%random%.log /FL-:C:\forum_drweb\critical.txt /quit
    echo Start DrWeb Scanner stage two
    "%programfiles(86)%\DrWeb\dwscanner.exe" /LITE /BI- /ok /TR /TB /AA /RP:C:\forum_drweb\dwlitescan_%random%.log /quit
    goto LOG

    :DRW
    ::DrWeb8-9
    echo Start DrWeb Scanner stage one
    "%programfiles%\DrWeb\dwscanner.exe" /AR- /AC- /BI- /ok /AA /RP:C:\forum_drweb\dwuserscan_%random%.log /FL-:C:\forum_drweb\critical.txt /quit
    echo Start DrWeb Scanner stage two
    "%programfiles%\DrWeb\dwscanner.exe" /LITE /BI- /ok /TR /TB /AA /RP:C:\forum_drweb\dwlitescan_%random%.log /quit
    goto LOG

    :LOG
    chcp 1251 >nul
    copy .\HiJackThis.exe C:\forum_drweb\ /y
    C:\forum_drweb\HiJackThis.exe /silentautolog
    del C:\forum_drweb\HiJackThis.exe /f /q
    ver>C:\forum_drweb\x-info.log
    set >>C:\forum_drweb\x-info.log
    dir %windir% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %windir%\system32 /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %windir%\system32\drivers /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %temp% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir "%AppData%" /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir .\ /a /-c >> C:\forum_drweb\x-info.log
    ipconfig /all >C:\forum_drweb\ipconfig.log
    explorer C:\forum_drweb\
    exit

    :ren
    color 06
    echo RENAME PLEASE CUREIT in to SCANNER.EXE and press ANY KEY !
    pause && goto easy
    :: <---код основной программы

    :: Проверка

    ::Пытаемся записать пустой файл в корень системного раздела
    cd.>c:\test.log
    if exist c:\test.log Echo OK - привилегии получены.
    exit
    --- Объединённое сообщение, 19 ноя 2013, Дата первоначального сообщения: 19 ноя 2013 ---
    Так
    Код (DOS):
    :: Проверка
    ::Пытаемся записать пустой файл в корень системного раздела
    cd.>c:\test.log
    if exist c:\test.log Echo OK - Work with Elevated Rights.>> C:\forum_drweb\x-info.log
    exit
    --- Объединённое сообщение, 19 ноя 2013 ---
    Вот так.
    Код (DOS):
    :LOG
    chcp 1251 >nul
    copy .\HiJackThis.exe C:\forum_drweb\ /y
    C:\forum_drweb\HiJackThis.exe /silentautolog
    del C:\forum_drweb\HiJackThis.exe /f /q

    ::test elevating

    cd.>c:\test.log
    if exist c:\test.log Echo OK - Work with Elevated Rights.>C:\forum_drweb\x-info.log
    if not exist c:\test.log Echo OK - Work without Elevated Rights.>C:\forum_drweb\x-info.log
    ver>>C:\forum_drweb\x-info.log
    set >>C:\forum_drweb\x-info.log
    dir %windir% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %windir%\system32 /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %windir%\system32\drivers /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir %temp% /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir "%AppData%" /a /o:g-d /-c >> C:\forum_drweb\x-info.log
    dir .\ /a /-c >> C:\forum_drweb\x-info.log
    ipconfig /all >C:\forum_drweb\ipconfig.log
    explorer C:\forum_drweb\
    exit
    --- Объединённое сообщение, 19 ноя 2013 ---
    Все C: заменил на %homedrive% (если нет диска C: будет fatal error); к имени отчёта добавил_%date%_%random% (хотел время, но недопустимые символы...в общем что бы отчёты не затирались и не было путаницы.)
    Для полного счастья не достаёт смены временной папки...
    Dragokas, скрипт качает хоть и без прогресс бара. (но это на потом, наверное). Фишка с переименованием заманчива, но боюсь Typical users o_O
    Можно сделать специальный скрипт со всеми примочками и фичами.. ах чуть не забыл за сисинфо .. он без ключей (мне о них не известно), а значит соберёт всё из папки "%userprofile%\Doctor Web" и иногда виснет...
     

    Вложения:

    Последнее редактирование: 19 ноя 2013
    Dragokas нравится это.
  12. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Смотри сюда:
    C:\Windows\system32>net user "A Alex" /add
    Команда выполнена успешно.

    C:\Windows\system32>net user

    Учетные записи пользователей для \\ALEX-PC
    -------------------------------------------------------
    ___VMware_Conv_SA___ A Alex Alex
    UpdatusUser Администратор Гость
    Команда выполнена успешно.
    Следовательно у Вас опять выбьет ошибку, пока не закавычите.
    Есть еще такое извращение как переименовывать системную папку Windows при установке.
    Случаи могут быть разные. Поэтому я бы поосторожничал и все остальное тоже загнал бы в кавычки.
    Детализируйте...

    Код (Text):
    cd.>c:\test.log
    if exist c:\test.log Echo OK - Work with Elevated Rights.>> C:\forum_drweb\x-info.log
    exit
    Я так раньше делал. Очень ненадежная проверка.
    У меня через полгода установки разного софта, все таки подтерлись права на системный раздел (кстати, не впервые).
    Поэтому лучше все же через реестр:

    Код (Text):
    reg add "HKLM\Software\Elevation_Test" /F
    if %errorlevel%==0 set Admin=true
    reg delete "HKLM\Software\Elevation_Test" /F
    а дальше использование:
    if defined Admin echo Есть права>> Файл.отчета

    Вот так сразу тоже не стоит делать.
    Если ОСь - XP, то улетит в нирвану не стартует скрипт.
    Нужно проверять версию. Проще всего:
    Код (Text):
    ver | find "6." && if "%1"=="" (
        Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"Admin","","runas",1 >"%~dp0Elevating.vbs"
        cscript.exe //nologo "%~dp0Elevating.vbs" "%~f0"& Exit /B
    )
    --- Объединённое сообщение, 19 ноя 2013, Дата первоначального сообщения: 19 ноя 2013 ---
    Если ОСь англоязычная, скрипт вероятнее всего "вылетит".
    Смотри:
    C:\Documents and Settings\Administrator>date
    The current date is: Tue 11/19/2013
    Enter the new date: (mm-dd-yy)

    C:\Documents and Settings\Administrator>cd.>test

    C:\Documents and Settings\Administrator>ren test "test_%date%"
    The system cannot find the path specified.

    C:\Documents and Settings\Administrator>ren test test2

    C:\Documents and Settings\Administrator>
    Поэтому нужно сперва осуществить замену вероятных символов в дате, которые не могут использоваться в качестве имени для файла.
    И не забудь кавычки тоже поставить. Tue 11/19/2013 - здесь мы видим еще и пробел.
    Код (Text):
    ::если в файле будут символы / - то произойдет замена на -
    set cur_date=%date:/=-%
    ::переименовуем отчет:
    ren "отчет.zip" "отчет_%cur_date%"
    ::Да можно и сразу
    ren "отчет.zip" "отчет_%date:/=-%"
     
    Kиpилл и Phoenix нравится это.
  13. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    ОК, пожалуй лучше без даты :)
     
  14. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Показанная мною конструкция надежна, можно не беспокоится.
     
    Phoenix нравится это.
  15. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    It's realy Good ;)
    Код (DOS):
    msinfo32 /nfo %homedrive%\forum_drweb\INFO.NFO
    7za.exe a "forum_drweb_%date:/=-%".zip %homedrive%\forum_drweb\*.log %homedrive%\forum_drweb\*.nfo
    echo msgbox "Завершено. После нажатия ОК откроется папка - Отправьте архив forum_drweb_%date:/=-%.zip на форум.">xmsg.vbs
    start/wait xmsg.vbs && del xmsg.vbs /f/q
    explorer .\
     
  16. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    Сканер кавычек не понимает, надо ключ указывать /QNA – выводить пути в двойных кавычках. наверное, не проверял.
    Тут есть 3 варианта без сканирования, скачать кьюрит и сканер/кьюрит (вложенный руками).
    Код (DOS):
    CHOICE /C 123 /M " LOG'S ONLY=[3],DOWNLOAD CUREIT=[1],SCAN=[2]..."
    Код (Text):
    OK - Work with Elevated Rights.
    Dragokas from SafeZone.cc says 'Есть права';)
    (y)
     

    Вложения:

    • Disrtib.zip
      Размер файла:
      1.019,8 КБ
      Просмотров:
      2
  17. Гимаев Наиль
    Оффлайн

    Гимаев Наиль Пользователь

    Сообщения:
    59
    Симпатии:
    98
    Если в начало батника записать такой код:
    Код (DOS):
    set tmp="%~dp0temp"
    set temp=%tmp%
    то все программы запущенные из батника будут уверены, временная папка находится в папке с батником.
     
    Phoenix, Dragokas и Kиpилл нравится это.
  18. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Phoenix, утилиты Choice нет в Windows XP.
    Вместо этого можете воспользоваться такой конструкцией с подтверждением клавишей ENTER.
    Код (DOS):
    :menu
    cls
    echo 1. DOWNLOAD CUREIT
    echo 2. SCAN
    echo 3. LOG'S ONLY
    echo --------------------------------
    echo Enter Number and press ENTER.
    set x=
    set /p x=
    if "%x%"=="1" goto Download
    if "%x%"=="2" goto Scan
    if "%x%"=="3" goto Logs
    goto menu
     
    Phoenix, machito и Kиpилл нравится это.
  19. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.840
    Симпатии:
    1.830
    Гимаев Наиль, То что надо ! Спасибо.
    Вот странное было ощущение, когда с этим столкнулся.. мне казалось она везде есть..(в досе разве не было ?) Спасибо за конструкцию.
     
    Kиpилл нравится это.
  20. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Не было.
    По крайней мере в моей старенькой книге ее нет среди перечня команд/утилит.
     

Поделиться этой страницей