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

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

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

vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 17:45 04-09-2010 | Исправлено: Accessor, 18:04 28-09-2010
    lid111

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    и батник, и GUI использовать - зачем так сложно?

    Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 07:47 24-10-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вроде конвертирует, пробуй
     
    ECHO OFF
    COLOR 9F
    CLS
    type *.lst>*.txt
    del *.lst
    ren *.txt *.lst
    pause

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 07:47 24-10-2010
    lid111

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz, не знаю, что и куда конвертирует, но все файлы в папке исчезли и сообщение: "Синтаксическая ошибка в имени файла..."

    Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 08:27 24-10-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    type *.lst>*-1.lst
     
    так сделкай

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 08:34 24-10-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bomzzz
    Что это вдруг type должна что-то перекодировать?
    lid111
    Воспользуйся любым перекодировщиком командной строки, их полно в инете, например тут

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 09:24 24-10-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    сам не знаю
       
     
    Добавлено:
    а понил - потому что исходный в юникоде.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:33 24-10-2010
    digis14

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как переделать этот батник, для переименования по порядку
    Имеется 231.jpg, tre02.jpg, 5u8i.jpg...  с любыми названиями
    Требуется 1.jpg, 2.jpg, 3.jpg...

    Цитата:
    @echo off
    for %%a in ( *.jpg) do call :ren "%%a"
    exit /b
     
    :ren
    set /a name = 1000000 + %random%
    if exist "%name:~1%%~x1" goto :ren
    ren "%~1" "%name:~1%%~x1"  

    Всего записей: 35 | Зарегистр. 19-01-2007 | Отправлено: 15:46 24-10-2010 | Исправлено: digis14, 15:50 24-10-2010
    01MDM



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

    Код:
     
    @echo off
    setlocal
     
    for /f "tokens=*" %%i in ('dir /b *.jpg') do call:ren "%%i"
    goto:eof
     
    :ren
    set /a cnt+=1
    set "num=00%cnt%"
     
    ren %1 "%num:~-3%%~x1"
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:00 24-10-2010 | Исправлено: 01MDM, 16:04 24-10-2010
    FAPSI



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Мужики, как с помощью командной строки определить имя диска флешки?
    Общая задача заключается в том, что необходимо автоматически скопировать файл с винта на флешку с определённым именем.
    или тут VBS нужен?

    Всего записей: 59 | Зарегистр. 03-08-2004 | Отправлено: 16:00 24-10-2010
    01MDM



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

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:02 24-10-2010
    FAPSI



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

    Всего записей: 59 | Зарегистр. 03-08-2004 | Отправлено: 16:54 24-10-2010
    01MDM



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

    Код:
     
    @echo off
    setlocal
     
    set "exec=wmic logicaldisk where DriveType^="2" get Name /value"
     
    for /f "tokens=*" %%i in ('%exec%') do 1>nul set "%%i"
    echo %name%
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:18 24-10-2010
    lid111

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001, мне бы в идеале так: входная кодировка - произвольная, а на выходе - 866. То есть получается, что входную кодировку нужно ещё распознать. То, что вы предложили - такие задачи решает или нет?

    Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 19:56 24-10-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    постоянно приходить декодировать, самый удобный вот этот дос вин конвертер

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:22 24-10-2010
    01MDM



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

    Цитата:
    То есть получается, что входную кодировку нужно ещё распознать.

     
    iconv можно использовать и без указания входной кодировки:

    Код:
     
    iconv -t cp866 1.txt 1>2.txt
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:49 24-10-2010
    lid111

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, эта приблуда для Линукс? У меня Windows.

    Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 21:59 24-10-2010
    01MDM



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

    Цитата:
    эта приблуда для Линукс? У меня Windows

    GNU is NOT Linux:

    Код:
    iconv.exe -t cp866 1.txt 1>2.txt

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:22 24-10-2010
    lid111

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, у вас в примере записана обработка одного файла, а мен нужно всех в каталоге сразу. Попробовал те примеры,  что тут - http://ru.wikipedia.org/wiki/Iconv - у меня не работают (или я что-то не так установил)  

    Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 23:04 24-10-2010
    01MDM



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

    Цитата:
    в примере записана обработка одного файла, а мен нужно всех в каталоге сразу.


    Код:
     
    @echo off
     
    for /f "tokens=*" %%i in ('dir /b *.txt') do iconv -t cp866 "%%i" 1>"866_%%i"
     

     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:38 24-10-2010
    lid111

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, создаются новые файлы с именами 866_старое имя - но пустые, нулевого размера.
     
    Мне нужно так: чтобы перекодировались все файлы в каталоге, имеющие расширение LST, при этом входная кодировка может быть любой (Win 1251, UTF-8 или 866), а результат должен быть 866, при этом старые файлы должны замениться на новые с теми же именами.  

    Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 00:00 25-10-2010 | Исправлено: lid111, 00:00 25-10-2010
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 9
    vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru