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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    vertigoavi

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как решить следующую задачу.
    Нужно пакетно обработать изображения с помощью консольной ImageMagick. Изображения хранятся в папке name (название условное) и множестве подпапок. Нужно обработанные изображения сложить в папку name_new с сохранением первоначальной структуры всех вложенных подпапок.

    Всего записей: 184 | Зарегистр. 16-07-2006 | Отправлено: 17:18 16-06-2011 | Исправлено: vertigoavi, 17:20 16-06-2011
    01MDM



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

    Цитата:
    Вот структура каталогов:
    c:\FLAC\Artist {Genre 1, Genre 2}\Artist - Album (Year) [FLAC]


    Код:
     
    @echo off
    for /d %%i in ("c:\flac\*") do for /d %%j in ("%%~fi\*") do echo %%~nxj
     

     
     
    Добавлено:
    vertigoavi
    Image Magic нет, поэтому условно:

    Код:
     
    @echo off
     
    xcopy /t /e "c:\name" "c:\new_name\"
    subst z: "c:\name"
    pushd z:
     
    for /f "tokens=*" %%i in (' dir /b /s /a *.jpg *.png *.gif ') do (
     
        echo imagemagic "%%i" "c:\new_name%%~pnxi"
     
    )
    popd
    subst z: /d
     

    Проверь, убери echo, подставь нужные параметры. "c:\new_name%%~pnxi" будет служить путем для выходного файла в imagemagic. Там же есть возможность определять местоположение результирующего файла?


    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:22 16-06-2011 | Исправлено: 01MDM, 17:54 16-06-2011
    olegpronin



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Engraf
     
    вот так получилось

    Цитата:
    @echo off
    for /r c:\flac /d %%i in (*[FLAC]*) do echo %%~nxi >> list.txt  

     
    p.s. кто-нибудь может помочь тоже самое сделать для консоли unix? (mac os) -> вроде придумал

    Всего записей: 5365 | Зарегистр. 31-01-2007 | Отправлено: 18:08 16-06-2011 | Исправлено: olegpronin, 18:39 16-06-2011
    p3west



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

    Цитата:
    Цитата:Это вы считаете помощь в создании батника раз ответом такая лажа пишется?  
     
    "Помоги себе сам" - кажется так говорится? А вот вы не хотите себе помочь. Вы живёте в мире, где есть только один архиватор?

     
     
    Хорошо...Предположим я новичок и не знаю как что и где прописывать и ваших терминов тоже не понимаю.Как тогда вам нужно сформулировать вопрос чтобы вы все поняли и просто помогли мне? Архиватором допустим является rar...Я конечно понимаю здесь все умные,но раз так,то помогите не умному...

    Всего записей: 12 | Зарегистр. 05-10-2009 | Отправлено: 18:33 16-06-2011
    wolf0425



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

    Цитата:
    Предположим я новичок и не знаю как что и где прописывать и ваших терминов тоже не понимаю
    тогда тебе надо почитать что-то, чтоб понимать что тебе отвечают.
    Цитата:
    Архиватором допустим является rar..

    для стандартного каталога инсталляции winrar:

    Код:
    "C:\Program Files\WinRAR\Rar.exe" x -- "путь_к_архиву\имя_архива" "путь_куда_распаковать\"

    А уж какие у тебя сложности прочитать хэлп к винрару, где есть аналогичный пример - понять как-то сложно.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 18:50 16-06-2011 | Исправлено: wolf0425, 18:53 16-06-2011
    ShamanNeo



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

    Цитата:
    start WScript Setup.vbs //B //Nologo

     
    Спасибо большое! Все заработало.

    Всего записей: 54 | Зарегистр. 04-02-2011 | Отправлено: 19:17 16-06-2011 | Исправлено: ShamanNeo, 19:18 16-06-2011
    res2001



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

    Цитата:
    >nul 2>&1

    stdin перенаправляем в nul, а stderr в stdin, т.е. фактически тоже в nul. В таком виде аналогично 1>nul 2>nul

    Цитата:
    if defined num >>test1.txt echo.!txt!

    Это просто if, который проверяет наличие переменной num.  
    if /?

    Цитата:
    echo.%txt:~1% VS echo.%ff:~1%  

    Да то же самое, просто в этом скрипте я использовал переменную txt, а в прошлом ff.
    txt и ff просто имена переменных, могут быть любыми.
     
    Вот тебе уроки батаники, почитай, думаю много вопросов снимется:
    http://www.rsdn.ru/article/winshell/batanyca.xml
    В шапке есть "Полезные ссылки", там еще есть несколько мануалов.
    Ну и не забывай что практически любая команда в cmd имеет ключ /?

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 20:11 16-06-2011
    fire4x



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

    Цитата:
    Вот тебе уроки батаники, почитай, думаю много вопросов снимется:  
    http://www.rsdn.ru/article/winshell/batanyca.xml  
    В шапке есть "Полезные ссылки", там еще есть несколько мануалов.

    Уже просматривал.

    Цитата:
     
    Ну и не забывай что практически любая команда в cmd имеет ключ /?

    Я в курсе.
     
    Ещё пару вопросов по теме:
    Можно ли в файле Х сменить кодировку (например WIN->KOI->MAC)?
    Можно ли изменить байты по смещению в файле (типа НЕХ-редактора)?
    Можно ли сделать отсчет на экране, например с 10 до 0, после чего запустить файл Х?
     

    Всего записей: 503 | Зарегистр. 25-02-2008 | Отправлено: 01:09 17-06-2011
    Elroir



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

    Цитата:
    Можно ли в файле Х сменить кодировку (например WIN->KOI->MAC)?  

    В шапке, в разделе "Полезные утилиты", есть ссылка на программу xcodewin

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:31 17-06-2011
    01MDM



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

    Цитата:
    Можно ли сделать отсчет на экране, например с 10 до 0, после чего запустить файл Х?  

    Без очистки буфера хоста:

    Код:
     
    @echo off
     
    for %%i in ( p l e a s "e w" a i t ) do 1>nul ping -n 2 localhost && 0>nul set /p="%%~i"
    start calc
     



    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 07:22 17-06-2011
    vertigoavi

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

    Цитата:
    Image Magic нет, поэтому условно:  
     

    Код:
     @echo off  
       
     xcopy /t /e "c:\name" "c:\new_name\"  
     subst z: "c:\name"  
     pushd z:  
       
     for /f "tokens=*" %%i in (' dir /b /s /a *.jpg *.png *.gif ') do (  
       
         echo imagemagic "%%i" "c:\new_name%%~pnxi"  
       
     )  
     popd  
     subst z: /d  
       

     
     
     Проверь, убери echo, подставь нужные параметры. "c:\new_name%%~pnxi" будет служить путем для выходного файла в imagemagic. Там же есть возможность определять местоположение результирующего файла?

    Чего-то не могу заставить это работать... Нельзя ли сделать попроще, чтобы запускать прямо из командной строки, задав входную и выходную директории. Вот, например, одна из команд ImageMagick для одного файла:
    convert file_in.png -background black -channel A -combine file_out.png
     
    Может, только на Windows PowerShell это можно сделать?

    Всего записей: 184 | Зарегистр. 16-07-2006 | Отправлено: 10:13 17-06-2011 | Исправлено: vertigoavi, 15:05 17-06-2011
    Nagual



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

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 15:06 17-06-2011
    omamont

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача:
    в urlfilter.ini
    строки:
    *.dt00.net/*
    *.ru/counter?*
    */images/banners/*
    *.redtram.com/*/*.js*
    и т.д.
     
    Заменить все символы "*." на "." в начале строк
    а, символы "*" в начале строк - удалить.
     
    типа:
    *.dt00.net/*
    .dt00.net/*
    и
    */images/banners/*
    /images/banners/*

    Всего записей: 3438 | Зарегистр. 12-01-2007 | Отправлено: 15:58 17-06-2011 | Исправлено: omamont, 15:59 17-06-2011
    fire4x



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

    Цитата:
    Без очистки буфера хоста:  
     
    Код:  
    @echo off  
     
    for %%i in ( p l e a s "e w" a i t ) do 1>nul ping -n 2 localhost && 0>nul set /p="%%~i"  
    start calc

    Как вставлять в текст знаки пунктуации и пробелы?

    Всего записей: 503 | Зарегистр. 25-02-2008 | Отправлено: 16:06 17-06-2011
    vertigoavi

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

    Цитата:
    что надо сделать? по твоему посту мало что понятно, телепаты в отпуске

    http://forum.ru-board.com/topic.cgi?forum=62&topic=22143&start=1760#2

    Всего записей: 184 | Зарегистр. 16-07-2006 | Отправлено: 16:19 17-06-2011
    RSEREGAR



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужен скрипт для установки шрифта по сети
    От сюда: http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=41442#lt

    Всего записей: 710 | Зарегистр. 26-10-2008 | Отправлено: 16:27 17-06-2011 | Исправлено: RSEREGAR, 16:27 17-06-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    RSEREGAR
    ну дык, для редактирования реестра есть стандартная утилита - reg
    смотри
    reg /?
    reg query /?
    reg add /?
    Если скажешь, что и куда прописывать в реестре можно помочь и с правильной командой.
    Ну а копирование, как обычно
    copy file.fnt \\comp\admin$\fonts\
    Главное чтоб админский доступ был.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:17 17-06-2011
    fire4x



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

    Код:
     
    @echo off  
    setlocal  
    chcp 1251>nul  
    set "word=Тестовое слово"  
    SET "word=%word:ж=zh%"  
    ...
    SET "word=%word: =_%"  
    echo %word%

    Как применить ваша творение к файлу?

    Всего записей: 503 | Зарегистр. 25-02-2008 | Отправлено: 18:33 17-06-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    fire4x
    Че-та я не помню это свое творение.
    А к файлу применить так:
    set word=<file.txt
    Только в файле должна быть 1 строка.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 20:07 17-06-2011
    fire4x



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

    Цитата:
    Че-та я не помню это свое творение.

    Конвертирование текста из кириллицы в латиницу

    Цитата:
    set word=<file.txt

    Не хочет функционировать.

    Цитата:
    Только в файле должна быть 1 строка.

    А под многострочный файл возможна переделка?
     

    Всего записей: 503 | Зарегистр. 25-02-2008 | Отправлено: 20:37 17-06-2011 | Исправлено: fire4x, 20:45 17-06-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