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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    mugil_cephalus

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

    Цитата:
    глубокие мысли о том, что и в VBScript и в Batch File используются похожие английские буковки и в обоих есть команды с именем set, пусть и с разной функциональностью - как-то навевают на мысли о мировом заговоре...

    похоже ComradG проник очень глубоко в структуру shell32.dll
    Цитата:
    Я тоже так думал пока не развинтил shell32.dll, но стоит попробовать копать в данном направлении, как поражаешься тому, что от нас утаивает винда и мелкософт вцелом.  
    что его уже "повязали"...  и тайной сего магического камня он не сможет поделиться  с форумом, а только с колымскими автохтонами  
     

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 13:15 06-06-2010 | Исправлено: mugil_cephalus, 13:17 06-06-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кхе, кхе. Я конечно понимаю, что за несколько лет жизни в Германии я стал асемилироваться и похоже мой русский стал совсем ни к черту. Что ж, попробую сформулировать свои мысли как можно точнее.
    Итак,

    Цитата:
    на самом деле что-ли? А список функциональных отличий где посмотреть можно?

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

    Код:
    set /?

    полагаю знают все. Оттуда же и можно узнать почему я описывал каждый месяц через set, а не через for. Кстати, я проверил на работе под 2k3 через for - работает, значит эти мелкие пакости в прежних серверных осях отсутствуют.
    Теперь

    Цитата:
    глубокие мысли о том, что и в VBScript и в Batch File используются похожие английские буковки и в обоих есть команды с именем set, пусть и с разной функциональностью - как-то навевают на мысли о мировом заговоре...[/b]
    Не могу сказать, что подобного я не предвидел, как и ухмылок вроде
    [q]что его уже "повязали"...  и тайной сего магического камня он не сможет поделиться  с форумом, а только с колымскими автохтонами

    Похоже то, о чем я пытался рассказать не все поняли. В ближайшее время попытаюсь восполнить сей недостаток и напишу подробно, как можно использовать лексемы васика в батниках. Относительно того, что, мол, ComradG не может поделиться батником и т.д., еще раз покорнейше прошу перечитать мой пост и отнестись с пониманием. Я НЕ ХОЧУ ВЫКЛАДЫВАТЬ СКРИПТ, КОТОРЫЙ КОСЯЧИТ И НЕ РАБОТАЕТ В СООТВЕТСВИИ СО ВСЕМИ НЕОБХОДИМЫМИ ТРЕБОВАНИЯМИ, КАК И НЕ ХОЧУ ПОСЛЕДУЮЩИХ ПРЕДЪЯВ ВРОДЕ ComradG - падла, слил косячный скрипт и т.д. Еще раз повторюсь, что СВОИ НАРАБОТКИ ОТ ВАС Я УКРЫВАТЬ НЕ НАМЕРЕН, просто дайте время отшлифовать батник.

    ----------
    So, never be anxious about the next day, for the next day will have its own anxieties. Sufficient for each day is its own badness.

    Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 13:40 06-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ComradG
    Всегда можно сделать пердупреждение зелёным цветом...
    А то тяжело мыслить неимея предмета медитации пред очами...

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 13:53 06-06-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    :applose:
    us0r
    Дядь, ты чего курил?

    Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 14:09 06-06-2010
    wolf0425



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

    Цитата:
    отличий там немного и все они описаны во встроенной справке, а проще всего набирать саму команду со знаком вопроса в интерпретаторе, например:
    set /?  
    и что - set /? в XP и на сервере выдаст различную справку? на самом деле???
    а можно конкретный пример команды set, которая в XP и на сервере выполнится по-разному?
     

    Цитата:
    Оттуда же и можно узнать почему я описывал каждый месяц через set, а не через for.  
    вот читал я как-то set/?  и в нем НЕ было написано, почему надо писать в 12 строчек через set а не в одну строчку через for  
     
     

    Цитата:
    Я НЕ ХОЧУ ВЫКЛАДЫВАТЬ СКРИПТ, КОТОРЫЙ КОСЯЧИТ И НЕ РАБОТАЕТ В СООТВЕТСВИИ СО ВСЕМИ НЕОБХОДИМЫМИ ТРЕБОВАНИЯМИ
    так как и требования и скрипт составляешь ты же - то неспособность выложить работающий скрипт, выполняющий в соответствии с твоим же описанием что-то кроме лексем батника - это только твоя проблема
     

    Цитата:
    СВОИ НАРАБОТКИ ОТ ВАС Я УКРЫВАТЬ НЕ НАМЕРЕН, просто дайте время отшлифовать батник.
    пока ты демонстрируешь полное отсутсвие наработок и дикий избыток громких слов
     

    Цитата:
    В ближайшее время попытаюсь восполнить сей недостаток и напишу подробно, как можно использовать лексемы васика в батниках.
    нам не нужно описание. Нам нужен работающий пример.Хоть как-то работающий.
    Список узких (или не узких) условий когда лексемы васика хоть как-то работают непосредственно в батнике можешь делать очень длинным, но лучше их выполнение просто включить в код
     
    а все начинаалось с этого:
    Цитата:
    Да, верно! несколько не по сабжу. Но приглядитесь внимательней к третьей строчке. Все мы прекрасно знаем, что в качестве переменной можно создавать не только фиксированное значение, скажем, путь или файл, но и некоторое действие.
    так вот - к третьей строчке пригляделись и увидели что там переменной задается обычное строковое значение, а вовсе не действие.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 14:15 06-06-2010 | Исправлено: wolf0425, 14:38 06-06-2010
    mugil_cephalus

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

    Цитата:
    как и ухмылок вроде  

    ухмылка не синонимична шутке
    во-вторых, есть почта
    и в-третьих, если в письме будет предупреждение о глючности, никто претенциозно не отнесется к коду
    а то заинтриговал, аж любопытство "язву прободило"... и ждите "ад калэндас грэкас"
    как напишешь, так глюк ауф!

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:17 06-06-2010 | Исправлено: mugil_cephalus, 14:43 06-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ComradG
    Тоже хочешь?

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

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 14:58 06-06-2010
    wolf0425



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

    Цитата:
    то и глюки одной команды должны повторяться в другой.
    и как- глюки то нашли?

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:21 06-06-2010
    mugil_cephalus

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

    Цитата:
    как напишешь, так глюк ауф!

    это немецкий  
    http://ru.wikipedia.org/wiki/Gl%C3%BCck_auf

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 15:35 06-06-2010
    king_stiven

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

    Цитата:
    и как- глюки то нашли?

    Вроде да. Только в одной команде.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:46 06-06-2010
    mugil_cephalus

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

    Цитата:
    должны

    я писал возможны
    wolf0425
    king_stiven
    tasklist юзаю eng
    taskkill не тестил
     
    Добавлено:
    wolf0425

    Цитата:
    и как- глюки то нашли?  

    http://forum.ru-board.com/topic.cgi?forum=62&topic=19668&start=360#7

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 15:55 06-06-2010
    BagaBaga

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще вопрос (про метаинформацию, на этот раз PDF):
    возможно ли (некими утилитами) из командной строки менять свойства/метаинформацию PDF-документа (автор, организация и т.д.), для определенности, версия формата - 1.4 или 1.5.

    Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 19:59 06-06-2010
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BagaBaga
    http://www.sno.phy.queensu.ca/~phil/exiftool/
    Среди поддерживаемых форматов числится PDF(read\write). Я сам правда с PDF не проверял эту утилиту, попробуй сам...

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 00:22 07-06-2010
    barsikline



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

    Цитата:
    barsikline
     
    Цитата:
    Необходимо чтобы с ftp качались все файлы или целиком папка дата которых больше по сравнению с другими.
     
    Шапка
     
    Цитата:
    Работа с текстом, датой, и файлами »  

     
    Спасибо. Немного не то. Там примеры относительно какой-то даты, то есть заранее известно, что новые файлы будут к примеру, через 14 дней . А если обновления выкладываются в разное время - может через месяц, может через неделю, как быть?. Help плиззз....
    Насчет пробелов с русскими словами никто не знает что делать?

    Всего записей: 33 | Зарегистр. 24-10-2008 | Отправлено: 10:20 07-06-2010 | Исправлено: barsikline, 10:22 07-06-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    barsikline
    Там должна быть строка типа
    if %errorlevel% gtr 14 echo "%fgh%" created more than 14 days ago
     
    если надо 30 дней то
    if %errorlevel% gtr 30 echo "%fgh%" created more than 14 days ago
     
    вместо echo "%fgh%" created more than 14 days ago пиши свою команду
     
    также набери в комстроке  
    if /?
     
     
    Добавлено:

    Цитата:
    Насчет пробелов с русскими словами никто не знает что делать?  

    Пиши батник в кодировке WINDOWS 1251 ANSI и вначале батника ставь  
    chcp 1251
    двойными кавычками все пути экранируй.
    А вообще надо %errorlevel% каждой папки загонять в переменнуюи сравнивать их

    Цитата:
    дата которых больше по сравнению с другими

    это типа самая свежая папка нужна? вопрос тоже надо уметь задавть подробно, чётко, ясно и точно.

    Цитата:
    Необходимо чтобы с ftp качались все файлы или целиком папка дата которых больше по сравнению с другими.  

    плохая постановка задачи.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:10 07-06-2010
    AlienPulsar

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, а можно ли через батник создать ссылку - "Сетевое размещение" - нужно добавить фтп\веб ссылку, наравне с сетевыми дисками, диском С, cd-rom'ом в Моем Компьютере!

    Всего записей: 1 | Зарегистр. 20-09-2009 | Отправлено: 12:17 07-06-2010
    LunQ



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спецы, помогите с проблемой плиз.
    Есть батник - ищет уникальную папку в корне раздела и присваивает переменной MYDISK букву диска (необходимо копировать фалы с переносного картридера  - буква диска не постоянная, батник хранится на компах, так как копировать необходимо в разные места):
     
    if exist c:\MYFOLDER set MYDISK=c:
    if exist d:\MYFOLDER set MYDISK=d:
    if exist e:\MYFOLDER set MYDISK=e:
    if exist f:\MYFOLDER set MYDISK=f:
    if exist g:\MYFOLDER set MYDISK=g:
    if exist h:\MYFOLDER set MYDISK=h:
    if exist j:\MYFOLDER set MYDISK=j:
    if exist k:\MYFOLDER set MYDISK=k: и т.д.
     
    Беда в том, что как только доходит до буквы картридера без карты памяти, процесс останавливается и появляется ошибка винды:
     
       Windows - Диск отсутствует
    Exception Processing Message c0000013 Parametrs 75b3bf7c 4 75b3bf7c 75b3bf7c
     
    Можно это как-то обойти?

    Всего записей: 30 | Зарегистр. 12-10-2008 | Отправлено: 13:20 07-06-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LunQ
    пример для !комстроки!
    for %i in (q w e r t y u i c d ) do if exist %i:\MYFOLDER set MYDISK=%i:
     
    Если не получается, то в каком виде ошибка выходит, отдельным окошком как ERROR?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:32 07-06-2010
    LunQ



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

    Цитата:
    Если не получается, то в каком виде ошибка выходит, отдельным окошком как ERROR?

    Отдельным окошком:
    http://s003.radikal.ru/i203/1006/fc/71bc1682bae7.gif

    Всего записей: 30 | Зарегистр. 12-10-2008 | Отправлено: 13:46 07-06-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