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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    Elroir



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

    Код:
     
    echo %~dpn1.txt
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:07 25-02-2009
    Ilyansk

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А как запустить CMD с заданными параметрами окна? (кол-во строк, колонок, цвета) ведь винда где-то это помнит...

    Всего записей: 70 | Зарегистр. 27-07-2006 | Отправлено: 07:06 25-02-2009
    Maza_Faka



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

    Цитата:
    ведь винда где-то это помнит

    HKEY_CURRENT_USER\Console

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:36 25-02-2009
    K_AHTOH



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

    Всего записей: 155 | Зарегистр. 20-10-2006 | Отправлено: 07:45 25-02-2009
    Ilyansk

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Maza_Faka
    Чё-то уж шибко там все зашифровано... Ладно, спасибо, разберусь как-нибудь...

    во, например
    "WindowSize"=dword:000f0022
    старшие 4 разряда (НЕХ) - размер по вертикали, младшие - горизонталь. В приведенном примере размер окна: 34х15 символов

    Всего записей: 70 | Зарегистр. 27-07-2006 | Отправлено: 07:55 25-02-2009 | Исправлено: Ilyansk, 08:01 25-02-2009
    K_AHTOH



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Уважаемые Помогите добить этот скрипт
    Все работает прекрасно но:
    Мне необходимо чтобы перед его выполнением удалялась последняя запись  в файле logfil и последний файл всегда начинал обрабатываться.  
     
    И еще. Как узнать какой диск выбран после выполнения команды  

    Код:
    net use * \\192.168.1.25\test /user:test\test 12345  

    Чтобы потом его можно было бы использовать в качестве пути к файлам.

    Всего записей: 155 | Зарегистр. 20-10-2006 | Отправлено: 12:26 25-02-2009 | Исправлено: K_AHTOH, 13:24 25-02-2009
    ponand

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как с помощью команды rd удалить все папки по пути C:\test\  папку test удалять не нужно

    Всего записей: 56 | Зарегистр. 14-07-2008 | Отправлено: 18:16 25-02-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ponand
     
    Очистить папку С:\test ?

    Код:
     
    pushd C:\test
    rd /s /q "." 2>nul
    popd
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:41 25-02-2009
    metrim

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужно сделать следующее:
    Есть файл со списком наличествующих файлов (допустим pre.txt). Имена вида 03221468.файл.  
    Нужно сгенерировать список ссылок на отсутствующих файлов.
    Ссылки при этом вида http://домен/0321/45/03214500.файл
    Генерировать я предполагаю файлы по 100000 файлов запуская пакетник командой вида mybat.bat 03200000
     
    Как правильно записать mybat.bat, что бы программа запускала цикл от 03200000 до 03300000, проверяя при этом не имеется ли уже такой файл (по файлу pre.txt или непосредственно просматривая каталог со вложенными файлами) и если файла локально нет - записывала бы в выходной файл download.txt ссылку на скачку.
    Для меня основное затруднение представляет "проверка на наличие". Как её организовать наиболее оптимально?
    В экселе я написал таблицу с формулами что бы генерировать список файлов, но как то уж очень она полцчилась тяжеловесна и непроизводительна
     
    Поможите плз.

    Всего записей: 110 | Зарегистр. 05-12-2002 | Отправлено: 19:53 25-02-2009
    Elroir



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

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    set "start=%~1"
    set "position=0"
    :find_prefix
    if "!start:~%position%,1!"=="0" (
    set "prefix=!prefix!0"
    set /a "position+=1"
    goto :find_prefix
    )
    set "_start=!start:~%position%!"
    set /a "_end=_start+100000"
    del /q all_range.txt 2>nul & for /l %%a in (%_start%,1,%_end%) do echo http://domen/0321/45/%prefix%%%a.file>>all_range.txt
    del /q local.txt 2>nul & for /f "tokens=*" %%a in ('dir /b "C:\Temp\Downloaded\*.file"') do echo %%~nxa>>local.txt
    type all_range.txt | findstr /v /g:pre.txt | findstr /v /g:local.txt>download.txt
    del /q all_range.txt 2>nul
    del /q local.txt 2>nul
     

    Запускаешь с единственным аргументом ком. строки - начальным индексом.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:53 26-02-2009
    ponand

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

    Всего записей: 56 | Зарегистр. 14-07-2008 | Отправлено: 02:14 26-02-2009
    Herissen



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго всем времени суток.
    Люди добрые подскажите, помогите.  
    Вообщем есть необходимость написания батника который умеет следущее:
    1. проверять папку на предмет новых и изменившихся файлов
    2. делать копию этих файлов в заданное место
    3. при его работе недолжно ни чего на него указывать.
    4. он работал постоянно (запустил один раз и забыл)
    Зарание спасибо.
     
    З,Ы, Я конечно понимаю что по этому поводу здесь написанно очень много и можно самому это сделать, но слишком много букав неосилил, а батничек нужен срочно.

    Всего записей: 12 | Зарегистр. 26-02-2009 | Отправлено: 05:11 26-02-2009 | Исправлено: Herissen, 05:14 26-02-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Herissen
    robocopy "что" "куда" /mir

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 05:16 26-02-2009
    Herissen



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

    Цитата:
    Herissen  
    robocopy "что" "куда" /mir

     еще раз прошу пощение но мне бы полностью текст батника если не затруднит.

    Всего записей: 12 | Зарегистр. 26-02-2009 | Отправлено: 05:26 26-02-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Herissen
    это и есть полностью текст командного сценария
    1. вместо что ставишь
    Цитата:
    папку на предмет новых и изменившихся файлов

    2. вместо куда
    Цитата:
    заданное место

    3 пункт не понятен
    4 пункт предположительно требует какой-то периодичности
     

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 05:40 26-02-2009
    Herissen



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual  
    попробовал ни че не вышло (
     
    3 пункт подразумевает что при работе программы не будет появление каких либо окошек или чего еще
     
    4 пункт сценарий (программа) должен работать постоянно.

    Всего записей: 12 | Зарегистр. 26-02-2009 | Отправлено: 06:17 26-02-2009
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Herissen
     
    3 cmdow в полезных утилитах
     
    4 robocopy /?
      /MON:n :: MONitor source; run again when more than n changes seen.
      /MOT:m :: MOnitor source; run again in m minutes Time, if changed.

    Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 06:50 26-02-2009
    Herissen



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Люди добрые, обьясните плиз мне как человеку совсем далекому от всего этого (приложите полный текст). Очень прошу.
    В идеале мне нужно готовое решение моей проблемки (мне только вставить пути где искать и куда копировать)
    голова болит ужас, дошел только до половины второй части.

    Всего записей: 12 | Зарегистр. 26-02-2009 | Отправлено: 07:13 26-02-2009
    K_AHTOH



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Уважаемые помогите!!! Всю голову сломал не пойму как сделать.
    Есть строка:

    Код:
    for /F "tokens=1 delims=;" %%d in ('findstr /L /I /C:"%1" %logfile%')  DO  (echo %%~ti | findstr /v %date% 1>nul && call :wrk %1)

    Строка НЕ должна обрабатывать (call :wrk) сегодняшний файл. Не могу понять как получить переменную %%~ti Сам путь и имя файла находятся в %1.

    Всего записей: 155 | Зарегистр. 20-10-2006 | Отправлено: 10:34 26-02-2009
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Посоветуйте как батником определить интернетовский адрес компа.
    В смысле - ответ какого сайта лучше парсить для максимизации доступности сайта и простоты*неизменности разбора ответа.
     
    пс: адрес в локальной сети естественно НЕ равен интернетовскому.
     
    Добавлено:
    K_AHTOH, что с твоей точки зрения должен делать твой чудный батник?
    своими словами

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:34 26-02-2009 | Исправлено: wolf0425, 11:47 26-02-2009
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru