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

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



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

    Цитата:
    а не подскажите, как это сделать?

    rd /s /q Temp || echo ошибка удаления
    вместо echo можешь вписать goto на ветвление по ошибке.
     

    Цитата:
    deflopt - улучшает сжатия на пару 1кб, можно так сказать  

    Угу, особенно актуально на длинном файле.
    смысл в такой оптимизации ты видишь? я - нет...
     

    Цитата:
    а можно ссылку офф. сайт pkzipc
    http://pkware.com/
    pkzipc - это консольная версия архиватора, где-то в недрах пакета.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 16:36 21-02-2010 | Исправлено: wolf0425, 16:59 21-02-2010
    lorents



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

    Цитата:
    запаковал семимегабайтный файл 7za - deflopt  не ужал архив ни на байт.
    запаковал тот же файл kzip - deflopt  опять не ужал архив ни на байт, хотя сам архив стал на 0.034% короче и паковалось в 10 раз дольше.  

    вот это странно, у меня:
    7z + deflopt = 2 156 470
    kzip  + deflopt=2 155 577
    zipmix = 2 155 471
    в временем согласен

    Цитата:
    pkzipc - это консольная версия архиватора, где-то в недрах пакета.

    а вы его не тестировали сейчас?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:48 21-02-2010
    wolf0425



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

    Цитата:
    вот это странно
    это я DeflOpt.exe потерял в пути
    DeflOpt действительно выедает килобайт, интересно ценой чего.
     

    Цитата:
    у меня:
    7z + deflopt = 2 156 470
    kzip  + deflopt=2 155 577  
    разница 0.04% - больше чем у меня , но незначительно (у меня архив раза в полтора длиннее)
     
     
    Добавлено:

    Цитата:
    а вы его не тестировали сейчас?
    не, не люблю я его
    winrar попробовал - он дает zip архив аж на 3% длиннее 7z, зато быстрее еще в 10 раз и его архив DeflOpt утаптывает только на 179 байт.

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Ну ладно с этим
    Большое спасибо за все!
     
    Кстати, вот посмотрите, создал Images Optimization Suite - сборник программ для оптимизация файлов *.png и *.jpg без потерь качества. Благодаря вашей помощи.
    с *.jpg могут быть проблемы
    Я хотел попросить, если есть желание, вы бы не могли бы посмотреть батник, и если надо оптимизировать код, как здесь сделано?
    Буду очень признателен

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 17:26 21-02-2010 | Исправлено: lorents, 20:19 21-02-2010
    Dimau1981

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

    Всего записей: 166 | Зарегистр. 29-12-2008 | Отправлено: 17:39 21-02-2010
    wolf0425



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

    Цитата:
    переименовать файлы с определенным расширением в файлы с рандомным именем и тем же разрешением
    например как-то так:

    Код:
    @echo off
    for %%a in ( *.txt ) do call :ren "%%a"
    exit /b
     
    :ren
    set /a name = 1000000 + %random%
    if exist "%name:~1%%~x1" goto :ren
    ren "%~1" "%name:~1%%~x1"

    когда файлов станет сильно много - начнет немного тормозить, где-то на ~32к зависнет. Если надо больше 30к файлов в папке - можно с %random% поразвлекаться или чего-то ещё придумать.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 17:54 21-02-2010 | Исправлено: wolf0425, 18:02 21-02-2010
    Dimau1981

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо большое, подходит.

    Всего записей: 166 | Зарегистр. 29-12-2008 | Отправлено: 18:07 21-02-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как можно разделить путь к файлу на составляющие
    например:
    C:\Program Files\Microsoft Silverlight\sllauncher.exe
    составляющие
    C:\Program Files\Microsoft Silverlight\ - путь к файлу
    sllauncher -название файла
    .exe - расширение

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 19:14 21-02-2010
    wolf0425



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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 19:38 21-02-2010 | Исправлено: wolf0425, 19:39 21-02-2010
    lorents



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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 19:41 21-02-2010
    mugil_cephalus

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

    Цитата:
    просто из таскбара замечательно скрывает cmdow.exe

    cmdow скроет из систрея не консольную, а гуевую прогу, вернее, ее значок, - например, у меня: пиктограмму punto switcher'a или norton password manager'a (cmdow не пользуюсь, но про ее ф-цию скрытия не консольного окна cmd.exe, а значка из трея слышу впервые) ??
    по дефинициям: (у меня win 5.1 rus) , в win eng - таскбар - это панель задач, а не systray/notification area? тогда вопрос снят.  
     
    Добавлено:
    alin

    Цитата:
    Значок, который появляется на месте скрытых иконок, о нём знает шеф.  

    ты имеешь ввиду тогда , - не скрыть значок, а удалить/восстановить его в систрее (такой сабж) ?

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 19:53 21-02-2010 | Исправлено: mugil_cephalus, 19:56 21-02-2010
    alin



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

    Цитата:
    ты имеешь ввиду тогда , - не скрыть значок, а удалить/восстановить его в систрее (такой сабж) ?

    Да, так будет лучше.

    Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 22:26 21-02-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alin
    есть два варианта:
    1) в gui настроить не показывать значок в систрее, как писал wolf0425

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

    помета: в gui можно сделать вкл./выкл. показа значка в систрее (автоматизировать этот процесс - вкл./выкл. ) , но через код autoit - http://forum.ru-board.com/topic.cgi?forum=5&topic=29240  
    2) убить/снова запустить этот процесс

    Цитата:
    К сожалению, есть некоторые программы которые висят в трее и ни куда деваться не хотят до полного закрытия процесса.

    если не секрет, какие программы нужно "удалить" из систрея - может есть способ шунтирования (обходного пути) трабла
    p.s.
    как настроить в gui не показывать значок в систрее - это надо в топик по конкретной проге - http://forum.ru-board.com/forum.cgi?forum=5
    p.p.s.
    может у этой проги есть консольная версия, и через нее можно управлять визуализацией пиктограммы - но для этого нужно знать для начала, с какой прогой имеем дело

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 07:18 22-02-2010 | Исправлено: mugil_cephalus, 07:25 22-02-2010
    vov4ka



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здравствуйте все! С праздником,мужики! Хорошенько всем отметить наше 23-е! Теперь о насущном Теперь по делу: на серваке стоит Комбат Вебморда, настроенный на 3 веб узла. На серваке висит 3 процесса w3wp. Когда 1 из w3wp переваливает за 150 МБ- начинаются тормоза. Даже очистка памяти w3wp от AnVir не помогает.При помощи DebugDiag 1.1 пробовал отловить ошибку,но он ничего не находит(может просто юзать его не умею)! Проблема решается убийством самого большого w3wp у перезапуском IIS. Пробовал даже IIS с Вебмордой переставлять-не помогает. Проблема возникает каждые 5-7 мин! Кто-нибудь, помогите написанием скрипта,который будет сидеть в системе и сам сканить и грохать самый большой процесс w3wp,а также перезапускать IIS!! .....или я не в ту тему запостил?

    Всего записей: 110 | Зарегистр. 29-01-2009 | Отправлено: 13:15 23-02-2010
    HuNsTeR



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Всем Здасте.
    Не знаю может где и обсуждался мой вопрос, но у меня просто нет времени просматривать все 8 частей этой темы.  
    завелся зверь на машине. В каждой папке создает файл Имя которого=имени папки и с расширением .ехе (C:\Program Files\Program Files.exe)
    Так вот, можно ли создать batник чтоб автоматически находил такие файлы и удалял их и сохранил лог найденых и удаленных файлов?
    З.Ы. С праздником!

    Всего записей: 49 | Зарегистр. 01-10-2008 | Отправлено: 19:19 23-02-2010 | Исправлено: HuNsTeR, 19:21 23-02-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HuNsTeR
    похожий:
    начало - http://forum.ru-board.com/topic.cgi?forum=5&topic=29819&start=1600#5
    конец - http://forum.ru-board.com/topic.cgi?forum=5&topic=29819&start=1660#9
     
    Добавлено:
    vov4ka
    Уильям Станек - Командная строка Microsoft Windows http://rapidshare.com/files/89629093/Stanek_CLI_MS_Win.rar
    7-ая глава и 6-ая

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 19:29 23-02-2010 | Исправлено: mugil_cephalus, 19:37 23-02-2010
    infopolis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую.
     
    echo C:\PROGRA~1\WINRAR\RAR.EXE a -y -ep1 -m5 -ed -r proga %dirsrc% > tmp\crea_rar.cmd
     
    dirsrc=D:\program\DrWeb\*.*  - не работает
    dirsrc=\program\DrWeb\*.* - работает
     
    Двоеточие в значениях переменных запрещено?

    Всего записей: 22 | Зарегистр. 27-06-2005 | Отправлено: 09:12 24-02-2010
    mugil_cephalus

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

    Цитата:
    Двоеточие в значениях переменных запрещено?

    нет,
    Цитата:
    Команда SET не допускает использование знака равенства в имени
    переменной среды.

    см. set /?


    добавь в батник:
    Код:
    set
    pause

    и посмотри значение переменной dirsrc
    думаю, rar.exe "спотыкается" на ":"

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 12:16 24-02-2010 | Исправлено: mugil_cephalus, 12:59 24-02-2010
    wolf0425



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

    Цитата:
    думаю, rar.exe "спотыкается" на ":"
    думаю что не должен - : обычный символ в полном имени, если бы спотыкался - Рошала бы давно завалили жалобами.
    у меня RAR.EXE a -y -ep1 -m5 -ed -r proga T:\2\*.*  никак не спотыкается
     
    infopolis

    Цитата:
    Двоеточие в значениях переменных запрещено?
    а чего спрашивать то? глазками посмотреть какой создается  tmp\crea_rar.cmd  - не быстрее?
     
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 18:48 24-02-2010
    mugil_cephalus

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

    Цитата:
    думаю что не должен - : обычный символ в полном имени, если бы спотыкался - Рошала бы давно завалили жалобами.  

    на практике rar.exe спотыкался на "   http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=2240#17
    а это даже не спецсимвол
    но это предположение, хотя, и логичное...
     

    Цитата:
    у меня RAR.EXE a -y -ep1 -m5 -ed -r proga T:\2\*.*  никак не спотыкается  
     

    но эмпирически лучше чем схоластически

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 18:57 24-02-2010 | Исправлено: mugil_cephalus, 19:03 24-02-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