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

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

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

vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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-файлах (часть 1)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:59 14-11-2006 | Исправлено: Elroir, 04:30 26-04-2007
    Snegov1k



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    СпасибО!  
     
    Добавлено:
    PS для 1с писал?

    Всего записей: 48 | Зарегистр. 12-10-2006 | Отправлено: 16:51 28-11-2006 | Исправлено: Snegov1k, 17:12 28-11-2006
    KapralBel



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

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 18:10 28-11-2006
    Snegov1k



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А есть возможность *.bat проверять наличие какого либо процесса ( всегда одного и того же) ?

    Всего записей: 48 | Зарегистр. 12-10-2006 | Отправлено: 14:51 29-11-2006
    KapralBel



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

    Код:
    pstat.exe | find /i "eserv.exe"
    Echo %ErrorLevel%
    pstat.exe | find /i "eser.ex"
    Echo %ErrorLevel%
     

    ErrorLevel - 0 - в случае существования процесса
    ErrorLevel - 1 - если нет процесса
    pstat входит в Support Tools (обычно идет на диске с виндой) но могу и выслать (8кб)
     

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:16 29-11-2006
    Snegov1k



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вышли плз. viking200@mail333.com  
    Спасибо!





    Личная переписка.

    Всего записей: 48 | Зарегистр. 12-10-2006 | Отправлено: 15:47 29-11-2006 | Исправлено: evle, 20:13 01-12-2006
    KapralBel



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




    Личная переписка.

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:11 29-11-2006 | Исправлено: evle, 20:13 01-12-2006
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Небольшая проблемка требуется вывести результат работы дос команды в win кодировке.
    Решение -
    dir.cmd
    ********************************
    mode con codepage select=1251 > nul
    dir
    ********************************
     
    dir.cmd > xxx.txt
     
    Можно ли обойтись без этого командного файла?
     
    mode con codepage select=1251 & dir > xxx.txt  не работает (результат дос кодировка)
     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:14 29-11-2006
    Levitant



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Народ, самая прикольная тема по батникам в инете! Нашел огромную кучу полезного. Это так отступление.
     
    Вопрос: Возможно ли, и если возможно, то как с помощью бат файла включать\отключать File and printers Sharing for Microsoft Networks. Это свойства соединения(в локальной сети).
    Если возможно, то скажите плиз как.
     
    И можно ли с помощью батника останавилвать определенные службы и как?

    Всего записей: 62 | Зарегистр. 09-11-2006 | Отправлено: 17:14 29-11-2006
    Smitis



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

    Цитата:
    И можно ли с помощью батника останавилвать определенные службы и как?

    net start /?
    net stop /?
    sc /?


    ----------
    Разум когда-нибудь победит

    Всего записей: 2582 | Зарегистр. 09-02-2003 | Отправлено: 17:50 29-11-2006
    KapralBel



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

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:56 29-11-2006
    Levitant



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

    Всего записей: 62 | Зарегистр. 09-11-2006 | Отправлено: 19:26 29-11-2006
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    Я не совсем точно сформулировал задачу. Мне требуется выполнить командную строку из своего собственного приложения, а не из-под cmd.exe. Тоесть строку подобного типа -
    cmd.exe /c chcp 1251 & dir > xx.txt
    но эта строка дает 866 страницу.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:43 29-11-2006
    tester_new

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    УВАЖАЕМЫЕ! подскажите как указав в батнике файл (например demo.txt) узнать дату его создания и записать это в лог-файл. Срочно надо! HELP, отцы!!!

    Всего записей: 1 | Зарегистр. 30-11-2006 | Отправлено: 01:40 30-11-2006
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Есть такая задача...
    Нужно запаковать файлы по списку (используя исключительно 7z.exe), но при этом поместить все эти файлы в папку которая будет в этом архиве.
    Т.е, нужно чтобы в результате запаковки, в архиве была папка с определённым названием, и в этой папке были все файлы которые запаковывались по списку...
    вариант с копированием файлов в эту папку, а потом запаковывание этой папки, НЕ подходит (работа на флэш диске). Подходит вариант запаковывания пустой папки, а потом помещения файлов из списка в эту папку, но даже это я не знаю как сделать...
     
    Запаковывать файлы по списку в корневой каталог архива, можно так:
     

    Код:
    7z.exe a -tzip archive.zip @list.txt -mx=9

     
    Но как поместить файлы в определённы каталог в архиве, я не знаю , плиз подскажите кто знает, очень надо.
     
    P.S
    Если для этого нужно что-то дописывать в файле списка, то это подходит (например, может нужно какой то параметр дописывать после каждого файла в списке).
    Я всю справку от 7z облазил, но решения так нигде и не нашёл, неужели это не продуманно, вроде не такая уж и сложная задача для такой мощной утилиты, ну просто не верится.

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:42 30-11-2006
    Elroir



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

    Код:
     
    dir /T:C demo.txt | find /i "demo.txt" > log.txt
     

    В файл log.txt запишется дата создания, время, размер и название файла.
    Если нужно записать только дату, то мне нужно знать формат системной даты (echo %date%).
     
     
    Добавлено:
    ViSiToR

    Цитата:
    вариант с копированием файлов в эту папку, а потом запаковывание этой папки, НЕ подходит  

    Может я чего-то не понимаю...
    А почему нельзя переместить (move) файлы в нужную директорию, а не копировать. Ведь при этом место на диске не меняется.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:49 30-11-2006 | Исправлено: Elroir, 01:55 30-11-2006
    ViSiToR



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

    Цитата:
    как указав в батнике файл (например demo.txt) узнать дату его создания и записать это в лог-файл.

     
    Например так:
     

    Код:
    @echo off
    dir /c /tc demo.txt | find /I "demo.txt" > Log.txt

     
    Добавлено:
    Elroir

    Цитата:
    почему нельзя переместить (move) файлы в нужную директорию

    Не, перемещать не подходит, файлы должны быть не тронутыми, это флэш диск, таких действии происходить должно много, а насколько всем известно, запись\перезапись\смещение, и любая работа на флэшке, портит её. Прсто нужно решить задачу как есть...
     
     
    Добавлено:
    tester_new
    Если нужна только дата и имя файла в лог файле, то можно сделать так:
     

    Код:
    @echo off
    Set File=demo.txt
    dir /t:c "%File%" | find /I "%File%" > %temp%\log.tmp
    For /f "delims= " %%a in (%temp%\log.tmp) do echo File "%File%" was Created at: %%a>> Log.txt
    Del /q /f %temp%\log.tmp

     
    Вместо demo.txt можно подставить имя (и путь по необходимости) другого файла, и тогда в файл Log.txt будет дописываться результат.

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:59 30-11-2006 | Исправлено: ViSiToR, 02:19 30-11-2006
    Elroir



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

    Цитата:
    For /f "delims= " %%a in  

    Я же не просто так задал ему вопрос о формате даты
    Например, если дата вида Пн 01.01.01, в log.txt запишется только "Пн".

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:23 30-11-2006
    ViSiToR



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

    Цитата:
    Я же не просто так задал ему вопрос о формате даты  

    Да, ты прав, но я просто исходил из большинства случаев, когда формат даты обычны (состоящий только из чисел). Можно в принципе не зная заранее формата даты, расчитать и подставить только дату (проверяя текущий формат по %date%, и на основе этого вычислить где рассплогается дата, и соответственно подставить её в файл log.txt).
     
    А по поводу моей задачки ты не вкурсе? может всё же можно её как то решить?

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 03:23 30-11-2006
    Elroir



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

    Цитата:
    А по поводу моей задачки ты не вкурсе

    Сейчас голова не работает - у меня пол третьего ночи.
    Завтра попробую что-нибудь придумать.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:27 30-11-2006 | Исправлено: Elroir, 03:28 30-11-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    NIKZZZZ
    Формируй батничек вида

    Код:
    @Echo Off
    CHCP 1251
    Dir >%Temp%\List.txt
     

    И запускай его - все будет ОК


     
    tester_new

    Код:
    @Echo Off
    For %%a in (1.cmd) Do Echo %%~ta >Log.txt
     

     


    Levitant

    Код:
    sc \\ASUP0 config eserv.exe start= demand

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:00 30-11-2006
       

    Страницы: 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-файлах 2
    vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru