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

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

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

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
     
    N.N.Kagarlitskaya@1234domain.ru        OK
    Fadeev-VV@1234domain.ru        OK
    N.A.Kormina@1234domain.ru        OK
    Kormina-NA@1234domain.        OK          < - строка где в конце точка
    строка где в конце точка
    pupkin@1234domain.ru        OK
    Pupkin-VV@1234domain.ru        OK
    Test-User@1234domain.ru        OK
    a.v.patsianskiy@1234domain.ru        OK
    D.V.Fedorov@1234domain.ru        OK
    Fedorov-DV@1234domain.        OK             <---
    D.A.Kharakhorin@1234domain.ru        OK
    sapadm1@1234domain.ru        OK
    Shevchenko-SV@1234domain.ru        OK
    v.a.bulanov@1234domain.ru        OK
    Bulanov-VA@1234domain.        OK             <---
    REJECT  
     
    в конце каждой строки возможен любой символ . , : } - _ @  как только строка достигнет 111 символов будет перевод строки
     
     
    01MDM
     
    Ваш почему то выдал только
    REJECT

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 10:54 12-01-2008 | Исправлено: JohnRD, 11:06 12-01-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnRD
     
    Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!  
     
    Добавлено:
    и пустую строку после 'echo REJECT>> result.txt'  удали

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:12 12-01-2008
    01MDM



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

    Цитата:
    почему то выдал только
    REJECT

    Ну если его правильно скопировать, убрать все конечные пробелы, то все будет в порядке.  

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:14 12-01-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
     
    да так и было, теперь все отлично  
    спасибо огромное
     
    01MDM
     
    а Ваш по прежнему REJECT отдает вот на этом приближенном к реальному примере

    Код:
     
    EmailAddresses : {smtp:N.N.Kagarlitskaya@1234domain.ru, smtp:Kagarlitskaya-NN@1234domain.local, SMTP:Kagarlitsk
                     aya-NN@1234domain.ru}
     
    EmailAddresses : {smtp:Fadeev-VV@1234domain.local, SMTP:Fadeev-VV@1234domain.ru}
     
    EmailAddresses : {smtp:N.A.Kormina@1234domain.ru, smtp:Kormina-NA@1234domain.local, SMTP:Kormina-NA@1234domain.
                     ru}
     
    EmailAddresses : {smtp:pupkin@1234domain.ru, smtp:Pupkin-VV@1234domain.local, SMTP:Pupkin-VV@1234domain.ru, smt
                     p:pupkin@1234domain.local}
     
    EmailAddresses : {smtp:Test-User@1234domain.local, SMTP:Test-User@1234domain.ru}
     
    EmailAddresses : {smtp:a.v.patsianskiy@1234domain.ru, smtp:Patsianskiy-AV@1234domain.local, SMTP:Patsianskiy-AV
                     @1234domain.ru}
     
    EmailAddresses : {smtp:D.V.Fedorov@1234domain.ru, smtp:Fedorov-DV@1234domain.local, SMTP:Fedorov-DV@1234domain.
                     ru}
     
    EmailAddresses : {smtp:D.A.Kharakhorin@1234domain.ru, smtp:Kharakhorin-DA@1234domain.local, SMTP:Kharakhorin-DA
                     @1234domain.ru}
     
    EmailAddresses : {smtp:sapadm1@1234domain.local, SMTP:sapadm1@1234domain.ru}
     
    EmailAddresses : {smtp:Shevchenko-SV@1234domain.local, SMTP:Shevchenko-SV@1234domain.ru}
     
    EmailAddresses : {smtp:v.a.bulanov@1234domain.ru, smtp:Bulanov-VA@1234domain.local, SMTP:Bulanov-VA@1234domain.
                     ru}
     

    спасибо в любом случае за помощь
     
    Добавлено:
    да уж мне не меньше недели разбираться как это работает и то будут вопросы..
     
    в чем пишите батники поделитесь, far, total comm, notepad?  чтоб сразу увидеть все лишние пробелы итд
     
    я к фару привык а там, не все так гладко

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 11:32 12-01-2008 | Исправлено: JohnRD, 11:41 12-01-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnRD
    Только что попробовал "приближенный" вариант вот вывод в файл:

    Код:
     
    N.N.Kagarlitskaya@1234domain.ru        OK
    Kagarlitskaya-NN@1234domain.ru        OK
    Fadeev-VV@1234domain.ru        OK
    N.A.Kormina@1234domain.ru        OK
    Kormina-NA@1234domain.ru        OK
    pupkin@1234domain.ru        OK
    Pupkin-VV@1234domain.ru        OK
    Test-User@1234domain.ru        OK
    a.v.patsianskiy@1234domain.ru        OK
    Patsianskiy-AV@1234domain.ru        OK
    D.V.Fedorov@1234domain.ru        OK
    Fedorov-DV@1234domain.ru        OK
    D.A.Kharakhorin@1234domain.ru        OK
    Kharakhorin-DA@1234domain.ru        OK
    sapadm1@1234domain.ru        OK
    Shevchenko-SV@1234domain.ru        OK
    v.a.bulanov@1234domain.ru        OK
    Bulanov-VA@1234domain.ru        OK
    REJECT
     

     

    Цитата:
     в чем пишите батники поделитесь

    Я в фаре
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:40 12-01-2008 | Исправлено: 01MDM, 11:43 12-01-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
     
    беру свои слова назад, все действительно работает, просто еще раз скопировал Ваш код и убрал лишние пробелы..
     
    спасибо всем  
    я в трансе от ваших решений

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 12:06 12-01-2008
    ddna

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте нужна ваша помощь в батах ноль, а надо помогите чем можите
     
    нужны два батника один для выполнения переноса всех файлов каталога на уровень выше
    другой командный файл, должен удалять из файла list1.txt строки, которые есть в файле list2.txt и выводить количество строк в полученном и исходных файлах.
     
    заранее спасибо

    Всего записей: 5 | Зарегистр. 12-01-2008 | Отправлено: 12:29 12-01-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ddna
     
    @echo off
    cd ..
    for %%e in ("%~dp0\*") do move "%%e" "%cd%"
     
     
    батник для поиска совпадающих строчек ищи в этом топике
     
    Добавлено:
    01MDM
     
    В сиысле, как это писать в фаре? То есть там есть что-то другое, чем текстовой редактор?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:31 12-01-2008 | Исправлено: king_stiven, 13:39 12-01-2008
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, а мне поможете?
    http://forum.ru-board.com/topic.cgi?forum=62&topic=11825&start=1320#21

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 13:46 12-01-2008
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:58 12-01-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    cluster
    я бы не морочил себе одно место, и сделал как-то так:
     
    for /F "tokens=6,11 delims= " %a in ('ls -al --full-time *.txt') do @ren %b %~nb_%a.txt

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 14:27 12-01-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cluster
    Или так (не используя юниксовские утилиты):

    Код:
     
    @echo off
    setlocal
    for %%A in (*.txt) do (
    call :get_date "%%~tA"  
    call :ren_file "%%A"
    )
    goto :EOF
    :get_date
    echo wscript.echo WeekDayName^(WeekDay^(DateValue^("%~1"^)^)^)>tmp.vbs
    for /f %%a in ('cscript tmp.vbs //Nologo') do set "fdate=%%a")
    goto :EOF
    :ren_file
    ren "%~1" "%~n1_%fdate%%~x1"
     

    Хотя работает это, конечно, медленнее.


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:13 12-01-2008 | Исправлено: Elroir, 15:48 12-01-2008
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vu1tur
    Что-то не очень понимаю, одна строчка всю работу выполняет?
     
    Не получается выполнение команды

    Код:
    Следующее использование оператора пути при подстановке параметров
    в пакетных файлах является недопустимым: %~nb_%a.qqq
     
    Для просмотра списка допустимых форматов введите CALL /? или FOR /?
    Непредвиденное появление: date.cmd.
     
    C:\>for /F "tokens=6,11 delims= " %a in ('ls -al --full-time *.txt') do @ren %b
    b %~nb_%a.txt

    Ни из CMD, ни просто командой. Пробовал добавлять %. Не получилось.

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 15:16 12-01-2008
    ddna

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

    Цитата:
    ddna
     
    @echo off
    cd ..
    for %%e in ("%~dp0\*") do move "%%e" "%cd%"  

     
    спасибо большое, хорошо бы что бы подкаталоги цеплял в переносе помогите дописать

    Всего записей: 5 | Зарегистр. 12-01-2008 | Отправлено: 15:17 12-01-2008
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:20 12-01-2008
    ddna

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

    Всего записей: 5 | Зарегистр. 12-01-2008 | Отправлено: 15:28 12-01-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ddna
     
    давай пример в виде:
    есть каталоги
    1  c:\temp\45\ с файлами 1.txt 2.txt ,...
    2 c:\temp\45\34\ с файлами ...
             ...
     
    что и куда надо перенести?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:43 12-01-2008
    ddna

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

    Цитата:
     давай пример в виде:
    есть каталоги
    1  c:\temp\45\ с файлами 1.txt 2.txt ,...
    2 c:\temp\45\34\ с файлами ...  

     
    значит файлы из каталога 45 перенести в каталог temp и туда же перенести каталог 34 со всеми файлами
     
    т.е. c:\temp с файлами каталога 45
    и c:\temp\34
    папочка 45 остается пустой
             

    Всего записей: 5 | Зарегистр. 12-01-2008 | Отправлено: 15:49 12-01-2008 | Исправлено: ddna, 15:50 12-01-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ddna
    следуя твоей логике надо все файлы из c:\temp\45\ перенести в c:\45\ , каталог c:\temp\45\ остается пустой.
    Какова глубина вложений подкаталогов? Чтоб сэкономить своё и чужое время, дай нормальный пример.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:51 12-01-2008 | Исправлено: king_stiven, 16:05 12-01-2008
    01MDM



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

    Цитата:
    В сиысле, как это писать в фаре? То есть там есть что-то другое, чем текстовой редактор?

    Не понял. Да в его встроенном редакторе + colorer чтобы выглядело повеселее
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:54 12-01-2008
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru