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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 109 110 111 112 113 114 115 116 117

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    sandkey



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

    Всего записей: 79 | Зарегистр. 25-07-2006 | Отправлено: 00:06 02-12-2009
    01MDM



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

    Код:
     
    @echo off
    for /r "Start Folder" /d %%i in (*) do (
        if exist "%%~fi\%%~nxi.exe" del /f /q "%%~fi\%%~nxi.exe"
    )
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 00:35 02-12-2009 | Исправлено: 01MDM, 00:47 02-12-2009
    BVV63



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

    Код:
     
    For /F "Skip=1 Tokens=*" %%A In ('%SystemRoot%\System32\WBEM\WMIC.Exe OS Get LocalDateTime') Do (
        Set LocalDateTime=%%A
        GoTo :0
        )
    :0
    Set Day=%LocalDateTime:~6,2%
    If Not Exist "<Путь к архивам>\*.arj" (
        Set Number=1
        GoTo :1
        )
    CD "<Путь к архивам>"
    For %%A In (*.arj) Do (
        Set ArchiveName=%%A
        )
    Set Number=%ArchiveName:~2,1%
    Set /A Number=%Number%+1
    :1
    "<Путь к архиватору>\Arj.Exe" a -h#"<Путь к архивам>\%Day%%Number%" SFile.ext1
     

    Не проверил, но должно работать.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 05:52 02-12-2009 | Исправлено: BVV63, 05:59 02-12-2009
    GreG



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    All
     
    помогите решить следующую задачу:
    необходимо раз в месяц отправлять письмо на определенный адрес с определенным текстом который содержит число которое долно быть ежемесячно увеличено на рандомное значение от 150 до 200.

    Всего записей: 1149 | Зарегистр. 22-10-2001 | Отправлено: 09:33 02-12-2009
    drksrv

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А мне с моим вопросом в конце прошлой странички может кто то что то посоветует ? :\
    Спасибо.

    Всего записей: 3 | Зарегистр. 01-12-2009 | Отправлено: 11:08 02-12-2009
    BumerangII



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

    Всего записей: 88 | Зарегистр. 14-12-2005 | Отправлено: 12:59 02-12-2009
    192168

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BVV63
     
    ОК, спасибо.
    По готовности сообщу результаты.

    Всего записей: 19 | Зарегистр. 10-11-2006 | Отправлено: 13:24 02-12-2009
    s1nfrompvl



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GreG
    попробуй покопаться в blat. это консольная утилита для отправки почты.
     

    Цитата:
    Подскажите, возможно ли реализовать при помощи bat-файла чтение текстового файла, который имеет построчную структуры, поиск в нем определенной строки и изменение её.

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

    Всего записей: 62 | Зарегистр. 07-04-2008 | Отправлено: 16:49 02-12-2009
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BumerangII поиск и изменение строк в текстовом файле по заданному шаблону - типовая задача для sed (это консольная утилита такая).
    А вообще, внятно описываешь что на что надо заменить - наверняка помогут с составлением скрипта замены.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 16:52 02-12-2009 | Исправлено: wolf0425, 16:55 02-12-2009
    BumerangII



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

    Цитата:
    поиск и изменение строк в текстовом файле по заданному шаблону - типовая задача для sed (это консольная утилита такая).
    А вообще, внятно описываешь что на что надо заменить - наверняка помогут с составлением скрипта замены.
     

     
    Описываю, есть необходимость сформировать правильный sysprep.ini, задав вопросы пользователю, а затем запустить sysprep.
    Хочу использовать в качестве шаблона готовый файл в котором меняются только некоторые параметры.
    Цель не использовать сторонних утилит - только стандартные утилиты, представленные в свеже установленной системе.
     

    Всего записей: 88 | Зарегистр. 14-12-2005 | Отправлено: 17:24 02-12-2009
    NIKZZZZ



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

    Цитата:
    Цель не использовать сторонних утилит

    Если шаблон простой и строки не содержат спец. символов, это достаточно просто, приведи пример.
     
     
     
    Добавлено:
    Исходный sysprep.ini жесткий, или его можно задать самому?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:39 02-12-2009
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BumerangII да там вроде все просто - засовываешь sysprep.ini в for, нужным ключикам подменяешь параметры, остальные печатаешь как есть.
    как-то так:

    Код:
    @echo off
     
    (for /f "tokens=1* delims==" %%a in (sysprep.ini) do (
        if .%%b equ . (echo %%a
        ) else if %%a equ TargetPath (echo %%a=c:\xp
        ) else if %%a equ JoinWorkgroup (echo %%a=MyGroup
        ) else echo %%a=%%b
    )) 1>sysprep.new  

     
    встроенными средствами - теряешь пустые строки, но в sysprep.ini они не нужны
    (или их можно автоматом расставить перед секциями)

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

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача такая - изменить локальную политику безопасности из бат. Делаю  
    secedit /export /cfg <Мой файл>.txt  
     Потом загружаю.    
     secedit /configure /cfg <Мой файл>.txt /db secsetup.sdb /verbose  
      Проблема - текст в юникоде. Чем лучше обрабатывать юникод ? надо найти и заменить несколько параметров.

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 09:58 03-12-2009
    ZidanCo



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

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



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

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 13:41 03-12-2009
    ZidanCo



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

    Всего записей: 65 | Зарегистр. 02-08-2009 | Отправлено: 14:00 03-12-2009
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BumerangII
    А не проще ли полностью создать sysprep.ini батником?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:13 03-12-2009
    192168

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Батник запускается с параметром - именем файла.
    Как проверить соответствие имени файла-параметра заранее заданной маске?
     
     
     
    Добавлено:
    Хотелось:
     
    Set P = PartOfName
    Set F = %1:~-4.6%
    If -%F% == -%PartOfName% goto Proc
     
    roc
    ...
     
    Не получилось выделить часть имени файла из %1.

    Всего записей: 19 | Зарегистр. 10-11-2006 | Отправлено: 17:11 03-12-2009
    GORA2



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

    Код:
    Set P=PartOfName
    Set F=%1
    Set F=%F:~-4,6%
    If %F%==%PartOfName% goto Proc
     
    roc

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 17:29 03-12-2009
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не подскажете, а FTP.exe понимает русские каталоги?
    Н-р: lcd c:\обмен

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:33 03-12-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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru