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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ortios
    sed.exe 2>&1 1>nul | findstr /N /C:E-mail >2.txt

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 22:26 12-02-2010
    Ortios



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Спасибо, заблудился в трех соснах. Думал о том, как можно отфильтровать в подобных ситуациях вывод на экран.
    sed.exe 2>&1 1>nul | findstr "script" 1>&2

    Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 23:25 12-02-2010
    kumarp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, ссылку на faq по avtoexec в Windows 7. Поиск не помог, краткий перечень справки тоже.
    Мне нужно чтобы каждый раз при запуске cmd или пакетника, выполнялся набор команд.

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



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

    Код:
     
    cmd /?
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:25 14-02-2010
    kumarp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Благодарю, то что надо. А подскажите, пожалуйста, как избежать выполнения этого autoexec в пакетном файле? Он полностью лишает работоспособности некоторые вызовы процедур (напр., "call :MAKE_SCREENSHOT").
    Сложность в том, что мой батник запускается посредством hstart, чтобы скрыть окно (так что сделать "cmd /d" трудновато, да и к тому же скрипт, переданный в аргументах cmd, что-то не выполняется).
    Хочется правильного решения (лучше я перепишу часть батника). На данный момент делаю очень плохо.. реестр правлю, а затем возвращаю.

    Всего записей: 15 | Зарегистр. 29-06-2008 | Отправлено: 11:37 14-02-2010
    wolf0425



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

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

    скрывай батник как все - командой cmdow.exe @ /hid из самого батника.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 13:23 14-02-2010
    01MDM



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

    Цитата:
    Сложность в том, что мой батник запускается посредством hstart, чтобы скрыть окно (так что сделать "cmd /d" трудновато, да и к тому же скрипт, переданный в аргументах cmd, что-то не выполняется)

    Не вижу сложности. У меня все отрабатывает:

    Код:
     
    hstart /noconsole "cmd /d /c 1.cmd"
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:52 14-02-2010
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ребят, подскажите пожалуйста, можно ли запуская через батник файл, давать (назначать) ему рабочую папку аналогично как это происходит например в ярлыке:
     
    файл: c:\utils\pc\bin\run.exe
    рабочая папка: c:\utils\pc
     
    Спасибо заранее.

     
    Вышел из положения запуская батник из "рабочей папки" - по началу как-то и не подумал про это.
    start bin\run.exe

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 22:44 14-02-2010 | Исправлено: SAOPP, 22:57 14-02-2010
    Kirillhome



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

    Код:
     
    cd c:\utils\pc
    call c:\utils\bin\run.exe

    Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 22:57 14-02-2010
    mugil_cephalus

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

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 23:14 14-02-2010
    kumarp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SAOPP, возможно тебе именно это нужно?
     
    pushd "%~dp0"
    (текущей назначается тот каталог, в котором хранится батник)
     
     
    Добавлено:
    wolf0425
    01MDM
    спасибо, я пересмотрю свой код.

    Всего записей: 15 | Зарегистр. 29-06-2008 | Отправлено: 23:24 14-02-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kumarp
    могу сказать только про win 5.1:
    1)
    Цитата:
    процедур (напр., "call :MAKE_SCREENSHOT").  

    В команде goto используются только первые восемь знаков метки. Например, следующие метки эквивалентны и рассматриваются как :hithere0:  
     
    :hithere0
     
    :hithere01
     
    :hithere02
    2)
    Цитата:
    Сложность в том, что мой батник запускается посредством hstart, чтобы скрыть окно  

    создать *.job на, как писал 01MDM

    Цитата:
    Код:  
    hstart /noconsole "cmd /d /c 1.cmd"  

    ~ SCHTASKS /Create /sc onstart /tr C:\windows\system32\hstart.exe /noconsole "cmd /d /c 1.cmd"
    3) autoexec.nt и config.nt выполняются только для ComSpec - command.com
    для ComSpec - cmd.exe :  
    Выполнение подразделов реестра  
    Если в строке не указан параметр /d, программа Cmd.exe выполняет поиск следующих подразделов реестра:
     
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ  
     
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun REG_EXPAND_SZ
     
    Если присутствуют один или оба подраздела реестра, они выполняются перед всеми другими переменными.

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 00:08 15-02-2010 | Исправлено: mugil_cephalus, 15:53 16-02-2010
    SAOPP

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

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 01:01 16-02-2010
    Ykidia



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

    Всего записей: 242 | Зарегистр. 03-03-2005 | Отправлено: 20:27 17-02-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    не подскажите, как можно сделать следующее:
    есть некая папка (назовем ее главная папка) и в ней различные папки и файлы, как можно найти все файлы одно разрешения в главной папке?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 00:01 18-02-2010
    Kirillhome



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ykidia
    На картинке - просто молоток... (ну, не просто, а с гвоздодёром)  
    К чему это?
     
    lorents

    Цитата:
    ...найти все файлы одно разрешения в главной папке...

    Переведи
    Все графические файлы одного разрешения?
    Все видео-файлы одного разрешения?
    Все файлы с каким-либо расширением?
    Чего ищем то???

    Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 14:47 18-02-2010
    Ykidia



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

    Всего записей: 242 | Зарегистр. 03-03-2005 | Отправлено: 16:13 18-02-2010 | Исправлено: Ykidia, 16:15 18-02-2010
    Myster

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Проясните, пожалуйста...
    Есть текстовый файл с разделителями "|". Из строк, где первое поле = "UF", надо извлечь третье поле. Вроде бы скрипт (кусок только, отвечающий за это) работает:
     
    for /f "usebackq delims=| tokens=1,3" %%i in ( `type "InFile"` ) do (
         if "%%i"=="UF" (
        echo %%j>>"OutFile"
         )  
    )
     
    Но! Если второе поле пустое, то извлекает уже четвертое поле Например, при таком входном файле:
     
    UF|1|123|6|
    UF||456|7|
     
    на выходе получим:
     
    123
    7
     
    Как все-таки получить желаемое?

    Всего записей: 6 | Зарегистр. 09-04-2002 | Отправлено: 19:32 18-02-2010
    mugil_cephalus

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

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 19:56 18-02-2010
    lorents



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

    Цитата:
    Все графические файлы одного разрешения?
    Все видео-файлы одного разрешения?
    Все файлы с каким-либо расширением?

    не знал, что это влияет на поиск файлов, мне нужны файлы *.png

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 20:40 18-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