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

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

Модерирует : gyra, Maz

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 4
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

Всего записей: 9734 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Compik
Что значит "пока не загрузится новый экран"? Ты хочешь, чтобы echo выдавало точки, пока работает что-то другое (батник выполняет другую операцию)?

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:31 10-02-2007
king_stiven

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста , поиогите со следующим вопросом: скачал скрипт на php, он вытаскивает информацию из mp3 файлов, а куда задавать вопросы по его практическому применению не знаю. Так как полазил по форуму, и понял , что php используется в web. И вообще, смогу ли я его прикрутить к батнику?

Всего записей: 2167 | Зарегистр. 17-07-2006 | Отправлено: 21:48 10-02-2007
Compik



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Кусок кода батника:
-------------------------------------
: link4
cls
@\BOOTWIZ\reinstal.com
@echo off
mode con codepage prepare=((866) C:\WINDOWS\COMMAND\ega3.cpi)
mode con codepage select=866
keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys
echo.
echo.
echo Start WINDOWS 98 ...
win
-------------------------------------------
При загрузке Win98 некоторое время торчит надпись Start WINDOWS 98 ...
Хочется, чтобы было видно, что комп не висит

Всего записей: 260 | Зарегистр. 05-03-2003 | Отправлено: 22:25 11-02-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Compik
Насколько я понимаю - не получится. С того момента, как запускается win, контроль батнику больше не передается.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:31 11-02-2007
Compik



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

Всего записей: 260 | Зарегистр. 05-03-2003 | Отправлено: 22:43 11-02-2007
KciNKh



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Прошу маленькаю консультацию:
когда-то был создан батник для отключения компов в подсети на время сеанса, т.к. использую его в нескольких подсетях, то необходимо определять текущую подсеть - это раз. И второе в некоторых подсетях отсутствуют определенные адресса (были причины их исключить )  и их необходимо исключить из обработки. Интерисует оптимизация готового батника (исключение sed.exe, ну и что кто предложит).

Код:
 
@echo off
REM set _debug=echo
setlocal enabledelayedexpansion
 
for /f %%i in ('ipconfig ^| find /i "IP-" ^| sed -r "s/^.*IP-[^:]*:[^\.]*.[^\.]*.([^\.]*).[^\.]*/\1/"') do set net=%%i
 
title Local Net: %net%
echo Local Net: %net%
for /L %%c in (1,1,26) do (
  if _%net%==_32 if %%c==13 goto next else goto step
  if _%net%==_39 if %%c==25 goto end  else goto step
  if _%net%==_56 if %%c==26 goto end  else goto step
  if _%net%==_59 if %%c==13 goto next else goto step
  if _%net%==_59 if %%c==25 goto end  else goto step
:step
REM   echo step %%c
REM   Delete default route at remote pc
%_debug% start /min psexec.exe -d \\10.0.%net%.%%c route delete 0.0.0.0
REM   Set disable status for NetMeeting Remote Desktop Sharing service at remote pc
%_debug% start /min psservice \\10.0.%net%.%%c setconfig mnmsrvc disabled
REM   Stopping NetMeeting Remote Desktop Sharing service at remote pc
%_debug% start /min psservice \\10.0.%net%.%%c stop mnmsrvc
:next
REM   echo next
)
:end
endlocal
 
 
 
Какие будут предложения от гуру (или гуров ).

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 23:42 11-02-2007 | Исправлено: KciNKh, 00:36 12-02-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KciNKh
Я правильно понял - sed находит третий октет?
Еще вопрос - вывод команды ipconfig на русском? Если да, то напиши строчку "IP Адрес ..." - не помню, как она выглядит на русском.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:59 11-02-2007 | Исправлено: Elroir, 00:02 12-02-2007
KciNKh



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

Цитата:
Я правильно понял - sed находит третий октет?  
 

правильно

Цитата:
Еще вопрос - вывод команды ipconfig на русском? Если да, то напиши строчку "IP Адрес ..." -

зачем? оно и так работает, там регексп "[^:]*:" пропускает как рус так и ингл вариант. Меня больше интерисует вариант без sed - так сказать для переносимости на др. компьютеры.

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 00:04 12-02-2007 | Исправлено: KciNKh, 00:13 12-02-2007
Elroir



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

Цитата:
зачем? оно и так работает

Ты же хочешь исключить sed.exe, а для этого мне нужно знать как выглядит эта строчка - IP-шник меня совершенно не интересует.
 
Добавлено:
ОК - не надо. И так получится

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:07 12-02-2007
KciNKh



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

Цитата:
для этого мне нужно знать как выглядит эта строчка - IP-шник меня совершенно не интересует.  

примерно так
        IP-адрес  . . . . . . . . . . . . : 10.0.32.90
но есть вариант и
        IP-адрес  . . . . . . . . . . . . : 10.0.2.100
и
        IP-адрес  . . . . . . . . . . . . : 10.0.228.115
так что выдирать с помощью ~n:m проблематично наверное

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 00:11 12-02-2007 | Исправлено: KciNKh, 00:18 12-02-2007
Elroir



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

Цитата:
так что выдирать с помощью ~n:m проблематично наверное

Мы пойдем другим путем :

Код:
 
for /f "usebackq tokens=5 delims=-.: " %%a in (`"ipconfig | find "IP""`) do set "net=%%a"
 

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:21 12-02-2007
KciNKh



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

Цитата:
for /f "usebackq tokens=5 delims=-.: " %%a in (`"ipconfig | find "IP""`) do set "net=%%a"  

 
отлично, мне понравилось. (и чего я недогадался, ведь делал подобные реализации)  
 
Спасибо. Сделал
 
а по поводу моих изврашений типа continue и break с помощью goto можно что исправить?, а то как-то неэстетично

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 00:33 12-02-2007
Elroir



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

Цитата:
а по поводу моих изврашений типа continue и break с помощью goto можно что исправить?

Если честно, то я вообще не понимаю, как оно у тебя работает. Команда goto внутри цикла for, работать не должна.
А без goto, надо вложенными if-ами и использовать какую-нибудь переменную, как флаг - заходить в if или нет.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:57 12-02-2007
KciNKh



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

Цитата:
А без goto, надо вложенными if-ами и использовать какую-нибудь переменную, как флаг - заходить в if или нет.  

типа такого?

Код:
 
...
for /L %%c in (1,1,26) do (
  set flg=1
  if _%net%==_32 if %%c==13 set "flg=0"
  if _%net%==_59 if %%c==13 set "flg=0"
  if _%net%==_39 if %%c==25 goto end
  if _%net%==_56 if %%c==26 goto end
  if _%net%==_59 if %%c==26 goto end
 
  if "!flg!"=="1" (
REM   Delete default route at remote pc
      %_debug% start /min psexec.exe -d \\10.0.%net%.%%c route delete 0.0.0.0
REM   Set disable status for NetMeeting Remote Desktop Sharing service at remote pc
      %_debug% start /min psservice \\10.0.%net%.%%c setconfig mnmsrvc disabled
REM   Stopping NetMeeting Remote Desktop Sharing service at remote pc
      %_debug% start /min psservice \\10.0.%net%.%%c stop mnmsrvc
  )
)
 

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 02:00 12-02-2007 | Исправлено: KciNKh, 02:01 12-02-2007
Elroir



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

Цитата:
типа такого?

Именно такого

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:05 12-02-2007
KciNKh



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

Цитата:
Именно такого  

 
Ок.
Сенкс, где-то к такому виду мне и хотелось привести эту "грозу пользователей"

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 02:07 12-02-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KciNKh
Извини, я стормозил - goto работатет в for-e.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:16 12-02-2007
KciNKh



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

Цитата:
Извини, я стормозил - goto работатет в for-e.  

та ничего, мне теперь, как получилось, больше нравится.

Всего записей: 39 | Зарегистр. 01-01-2007 | Отправлено: 10:22 12-02-2007
oie71

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такой батник:
 
set http_proxy=server3:3128
wget --proxy --no-cache --proxy-user=wget --proxy-password=wget http://noc.ix.net.ua/ua-list.txt --output-document=uaix.ip
 
 
Руками запускаю - работает.
Виндовым шедулером (XP SP2) - говорит "Прошлый результат 0х1" и ничего не скачивается.
 
Права на батник - админ домена.
 
Роспрямите руки

Всего записей: 65 | Зарегистр. 09-08-2006 | Отправлено: 14:36 13-02-2007 | Исправлено: oie71, 14:38 13-02-2007
oie71

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос снимается
На wget нужен был полный путь

Всего записей: 65 | Зарегистр. 09-08-2006 | Отправлено: 10:39 14-02-2007
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru