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

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

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

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    надо в шапку засунуть
     
    Добавлено:
    начем она написана, даже на си она бы вышла кб 5

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:26 31-08-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    вот тебе и пища))) для размышлений

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 23:34 31-08-2010
    Umboking

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

    Всего записей: 31 | Зарегистр. 21-12-2009 | Отправлено: 01:04 01-09-2010 | Исправлено: Umboking, 01:05 01-09-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Umboking как-то так:
    Код:
    pushd "c:\dir1\"
    for /f "delims=" %%a in (' dir /b /a-d /s *.txt ') do copy /y "%%~a" c:\dir2\

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 01:27 01-09-2010 | Исправлено: wolf0425, 01:29 01-09-2010
    BVV63



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

    Цитата:
    "delims="

    Правильно ли я понимаю, что delims без параметров эквивалентен tokens=* ? Или есть различия?

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 05:22 01-09-2010 | Исправлено: BVV63, 05:25 01-09-2010
    Umboking

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Хм, спасибо! Всё гениальное просто    

    Всего записей: 31 | Зарегистр. 21-12-2009 | Отправлено: 06:55 01-09-2010 | Исправлено: Umboking, 06:57 01-09-2010
    stdiesel

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

    Всего записей: 56 | Зарегистр. 05-07-2010 | Отправлено: 07:44 01-09-2010
    BVV63



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

    Код:
    Net Use \\<Имя_компьютера>\<Имя_ресурса> <Пароль> /User:<Имя_домена_(если_есть)\Имя_пользователя>

    Можно в конце добавить ключ /Persistens:Yes (или No) - определяет будет ли подключение постоянным, либо ограничится пользовательской сессией.
    Для подробностей можете воспользоваться "Net Use /?".

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 08:02 01-09-2010 | Исправлено: BVV63, 08:04 01-09-2010
    stdiesel

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо, будем пробывать...
     
     
    Добавлено:
    Делал так: Net Use n \\sss\sss 111 /User:\ccc Не катит, пробывал и без имени диска как у вас указано тобиш: Net Use n \\sss\sss 111 /User:\ccc
    а он мне синтексис команды... чето я не догоняю...
     
    Добавлено:
    Все вкатило - хелп форева!

    Всего записей: 56 | Зарегистр. 05-07-2010 | Отправлено: 08:24 01-09-2010
    Sustaw

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что то туплю.. подключается сетевой диск:
    for %%i in (z y x w v u t s r q p o n m l k j i h g f e d) do if not exist %%i: (set "first=%%i" && goto next)
    :next
    echo First drive letter - %first%  
    net use %first%: \\адрес\папка1
    Там нужно проверить наличие директории \%COMPUTERNAME%\, и если ее нету, то создать.
    Вот что-то никак не додумаюсь как это сделать.

    Всего записей: 6 | Зарегистр. 25-05-2010 | Отправлено: 10:32 01-09-2010
    BVV63



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

    Цитата:
    Там нужно проверить наличие директории \%COMPUTERNAME%\, и если ее нету, то создать.


    Код:
    If Not Exist %First%\%ComputerName%\Nul MkDir %First%\%ComputerName%

     
    Добавлено:
    Или %ComputerName% - это имя удалённого компьютера?

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 10:37 01-09-2010 | Исправлено: BVV63, 10:38 01-09-2010
    Sustaw

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BVV63
    оперативно..
    есть пара синтаксических ошибок
    If Not Exist %First%:\%ComputerName%\Nul MkDir %First%:\%ComputerName%\  
    и все заработало.  
    Спасибо.

    Всего записей: 6 | Зарегистр. 25-05-2010 | Отправлено: 10:44 01-09-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BVV63
    Цитата:
    Правильно ли я понимаю, что delims без параметров эквивалентен tokens=* ? Или есть различия?
    вообще различие есть: "tokens=*" выкидывает из строк стартовые пробелы/табуляции, но в большинстве мест это без разницы.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 10:56 01-09-2010 | Исправлено: wolf0425, 13:14 01-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ета совершенно разные параметры

    Цитата:
     
    eol=c Задает символ конца строки (только один символ).  
    skip=n Задает число строк, пропускаемых в начале файла.  
    delims=xxx Задает набор разделителей. Заменяет набор разделителей по умолчанию, состоящий из пробела и символа табуляции.  
    tokens=x,y,m-n Задает элементы, передаваемые из каждой строки в тело цикла for при каждой итерации. В результате размещаются дополнительные имена переменных. Форма m-n задает диапазон, указывающий элементы с m-го по n-ый. Если последним символом строки tokens= является звездочка (*), то размещается дополнительная переменная, в которую помещается остаток строки после разбора последнего элемента.  
    usebackq Задает возможность использования кавычек для имен файлов в параметре МножествоИменФайлов. Задает исполнение строки, заключенной в обратные кавычки, как команды, а строки в одиночных кавычках — как команды в символьной строке.  
     
     

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:29 01-09-2010 | Исправлено: bomzzz, 11:32 01-09-2010
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Я понимаю, что это разные параметры. Речь шла о вполне конкретной ситуации, когда у параметра Delims отсутствовало какое-либо значение: "Delims=".

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 11:45 01-09-2010 | Исправлено: BVV63, 11:46 01-09-2010
    wolf0425



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

    Цитата:
    ета совершенно разные параметры  
    параметры - в принципе то разные, а эффект от их конкретных значений - примерно одинаковый.
    в чем разница в конкретном случае - я выше написал, если тебе известны другие варианты данных, когда при обработке будет разница между for /f "delims=" и for /f "tokens=*" - так пример и пиши, а не умничай, хэлп и без тебя все читать умеют.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:47 01-09-2010 | Исправлено: wolf0425, 11:55 01-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:57 01-09-2010
    wolf0425



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

    Цитата:
    пример своей тупизны ты напишешь сам
    ну за пример твоей тупизны такой твой ответ вполне годится, что по теме тебе сказать нечего - из него видно, так что вопрос снимается

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 13:09 01-09-2010 | Исправлено: wolf0425, 17:06 01-09-2010
    us0r



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

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 14:31 01-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Скажи, а окна сообщений могут появляться только в центре монитора?
     
    Добавлено:
    Я про msgbox.exe

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 14:56 01-09-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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru