Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 10

Модерирует : KLASS, IFkO

vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

   

vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задачи на bat-файлах 10
(часть 1, часть 2, часть 3, часть 4, часть 5, часть 6, часть 7, часть 8, часть 9)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Делаем паузу в командном файле стандартными средствами Windows
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:53 09-01-2011 | Исправлено: mazafakermazafaka, 11:22 04-06-2011
    SuperKolobok



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    спасибо за наводку на WMI !
    вот эта штука для этого рулит http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2CC30A64-EA15-4661-8DA4-55BBC145C30E
     
    плохо только что эта штука  
    wmic path win32_videocontroller get AdapterCompatibility
    Не работает при НЕустановленных драйверах видеокарты......

    Всего записей: 218 | Зарегистр. 14-12-2005 | Отправлено: 21:14 03-04-2011 | Исправлено: SuperKolobok, 22:19 03-04-2011
    stoun



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброе время суток. Возникла необходимость сделать скрипт для передачи файла раз в сутки по фтп, получилось вот такого плана:  
    ------------
    @echo off
    echo user anonymous> ftp.dat
    echo 1@.ru>> ftp.dat
    echo bin>> ftp.dat
    echo put %1>> ftp.dat
    echo quit>> ftp.dat
    ftp -n -s:ftp.dat 192.168.1.100
    del ftp.dat
    ------------
     
    тестировал на локальном ftp для проверки....вроде бы все работает только почему-то файл не заливается...вот что происходит при исполнении файла:
    --------------  
    e:\f.bat 1.txt
    Связь с 192.168.1.100.
    220 Microsoft FTP Service
    ftp> user anonymous
    ---> USER anonymous
    331 Anonymous access allowed, send identity (e-mail name) as password.
     
    ---> PASS 1@.ru
    230 Anonymous user logged in.
    ftp> binary
    ---> TYPE I
    200 Type set to I.
    ftp> cd /
    ---> CWD /
    250 CWD command successful.
    ftp> put 1.txt
    1.txt: Lрщы эх эрщфхэ
    ftp> quit
    ---> QUIT
    221
    ----------
    в строке после 1.txt непонятные "иероглифы" и файл не заливается( пробовал по разному иероглифы одни и те же.....походу гдето косяк понять не могу только где.....(

    Всего записей: 451 | Зарегистр. 15-10-2003 | Отправлено: 08:51 04-04-2011 | Исправлено: stoun, 08:55 04-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SuperKolobok

    Цитата:
    вот эта штука для этого рулит

    Спасибо за утилиту!
     
    Добавлено:
    stoun
    Смени кодировку в начале батника на 1251 - "иероглифы" должны стать нормальными буквами:

    Код:
    @echo off
    >nul chcp 1251
    > ftp.dat (echo user anonymous
    echo 1@.ru
    echo bin
    echo put %1
    echo quit
    )
    ...

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 08:52 04-04-2011 | Исправлено: res2001, 08:57 04-04-2011
    stoun



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    спс была ошибка файл не найден....нужно было полностью путь прописать)
    другой вопрос....если фтп серв находится не на стандартном порту как можно к нему подцепиться....тк если в скрипте после адреса указать порт получаю такого вида ошибку:  
     
    C:\Documents and Settings\Администратор>e:\ftp.bat
    192.168.1.200:211: неизвестный узел.
    ftp> user ftprz
    Нет связи.
    ftp> cnj25085ktn
    Недопустимая команда.
    ftp> bin
    Нет связи.
    ftp> put e:\1.txt
    Нет связи.
    ftp> quit
     
     

    Всего записей: 451 | Зарегистр. 15-10-2003 | Отправлено: 09:49 04-04-2011 | Исправлено: stoun, 12:06 04-04-2011
    Joo1z



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет. Не подскажете как в консоли перевести HEX в DEC???
    А, все спасибо. Нашел http://download.sysinternals.com/Files/Hex2dec.zip

    Всего записей: 123 | Зарегистр. 17-02-2009 | Отправлено: 11:49 04-04-2011 | Исправлено: Joo1z, 12:13 04-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Joo1z

    Код:
    @echo off
    set /p val="Введите шестнадцатиричное значение: "
    set /a "val=0x%val%"
    echo %val%
     

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 12:13 04-04-2011 | Исправлено: res2001, 12:14 04-04-2011
    Misha1989



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Joo1z
    Лучше как res2001 написал, зачем лишние утилиты, когда одной строкой переводится.

    Всего записей: 359 | Зарегистр. 22-03-2010 | Отправлено: 19:08 04-04-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Quick Batch File Compiler, кроме этого больше нет, чтоб в exe файл делал?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 21:44 05-04-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    Bat_to_exe_converter например.

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 09:09 06-04-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А Bat_to_exe_converter тоже криво конвертирут с временным батником как Quick Batch File Compiler или нормально?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:49 06-04-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    криво конвертирут с временным батником

    что имеется ввиду под кривостью?

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 12:52 06-04-2011
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Будьте любезны, напишите кто-нибудь такой батник:
     
    Имею два текстовых файла, в каждом по 6 строк.
    Необходимо создать третий текстовый файл, в котором первые пять строк будут такими же как в первом файле, а шестая строка будет как шестая строка во втором файле.
     
    Должно быть так: Подробнее...
     
    Заранее благодарю

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 13:15 06-04-2011 | Исправлено: mp3exchanger, 13:20 06-04-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    что имеется ввиду под кривостью?

    Ексешник просто распаковывает батник во временную папку и выполняет его

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:28 06-04-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Ексешник просто распаковывает батник во временную папку и выполняет его

    Bat_to_exe_converter делает также. а какой нужен результат?


    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 13:32 06-04-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    понятно, я думал что на самом деле конвертирует а не просто запаковывает

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:54 06-04-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    ммм... так это не косяк. сценарий cmd (язык bat) может обрабатывать только командный интерпритатор cmd.exe. соответственно, необходим батник чистой воды. Все компиляторы на этом и построены - запаковывают сценарий в exe. Некоторые еще и умеют дополнительные файлы упаковывать вместе с батником. А такого, чтобы полностью переписывал язык bat в exe не бывает.

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 14:04 06-04-2011
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    я думал что на самом деле конвертирует
    оптимизм какой-то нездоровый - cmd.exe достаточно сильно наворочен чтоб у разработчиков конвертера совершенно не появлялось желание писать эмулятор, совпадающий с смд по глюкофичам. конвертеры умерли вместе с ДОСом - когда command.com сам ничего не умел, функционал было несложно эмулировать, а время на распаковку и перебор строк батника хотелось сократить.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 14:07 06-04-2011 | Исправлено: wolf0425, 14:08 06-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    mp3exchanger
    Как-то так:

    Код:
    @echo off
    SetLocal EnableDelayedExpansion
    del /f/q 03.txt 2>nul
    set "count=0"
    for /f "tokens=* delims=" %%a in (01.txt) do (
        if !count! lss 5 (
            >>03.txt echo.%%a
            set /a "count+=1"
        ) else (goto:next)
    )
    :next
    >>03.txt more +5 02.txt

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 15:29 06-04-2011 | Исправлено: res2001, 17:38 06-04-2011
    mp3exchanger



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001, создаётся файл 03.txt, в котором содержимое 01.txt, а в командной строке пишет "Не удаётся найти C:\03.txt"

    Всего записей: 518 | Зарегистр. 24-02-2003 | Отправлено: 16:19 06-04-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    просто поменяй на правильное  
    01.txt   1.txt
    и т д

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 16:40 06-04-2011 | Исправлено: king_stiven, 16:43 06-04-2011
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 10
    vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru