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

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

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

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

   

Widok



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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
Auren

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, с батником.
 
Задача такова: нужно два bat-файла, один из которых будет останавливать сетевое подключение с названием, скажем, "Internet", а второй — включать.

Всего записей: 614 | Зарегистр. 17-10-2006 | Отправлено: 18:40 03-04-2008
sabio

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rasdial "имя_вашего_соединения" /disconnect
 
rasdial "имя_вашего_соединения" "Логин" "Пароль"

Всего записей: 2898 | Зарегистр. 21-05-2004 | Отправлено: 19:22 03-04-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM, igor_andreev, огромное вам спасибо за вашу отзывчивость!!!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 19:56 03-04-2008
Auren

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sabio
Да, я забыл указать, что это LAN-соединения.

Всего записей: 614 | Зарегистр. 17-10-2006 | Отправлено: 20:26 03-04-2008
drondo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
igor_andreev
респект, работают оба варианта, но через setwf.zip мне больше понравилось

Всего записей: 461 | Зарегистр. 28-10-2005 | Отправлено: 20:32 03-04-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Auren
 
Утилита cnic.exe. Ссылку можно найти в шапке в "Задачах на бат-файлах часть 5" (Операц. Системы) или в гугле. Пользоваться очень просто
 

Код:
 
:: Для включения интерфейса c именем "Internet"  
      cnic "Internet" -c
:: Для отключения
      cnic "Internet" -d
:: Для справки
      cnic /?
 

 
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 00:03 04-04-2008
Auren

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Как раз такую утилитку и искал... Думал, может как-то можно через netsh, но там поддерживаются только ras-соединения.
Спасибо.

Всего записей: 614 | Зарегистр. 17-10-2006 | Отправлено: 00:28 04-04-2008
hpoint



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла неожиданная проблема:  
Необходимо во время загрузки устанавливать максимальное разрешение монитора. Проблема в том, что все утилиты командной строки, которые устанавливают разрешение, иногда сбиваются и разрешение остается старым. Из утилит, которые позволяют не только устанавливать разрешение монитора и выдавать список поддерживаемых разрешений, необходимо еще знать текущее разрешение. Такая крохотная утилита есть - это QRes http://home.no/aksoftware/.  
 
Задача: Написать батник, который в цикле проверяет текущее и максимальное разрешение монитора и пытается его установить N раз, а затем выходит из цикла и завершается.
 
Вывод поддерживаемых режимов: QRes /L

Цитата:
 
QRes v1.1
Copyright (C) Anders Kjersem.
 
640x350, 8 bits @ 60 Hz.
640x350, 16 bits @ 60 Hz.
640x350, 32 bits @ 60 Hz.
640x400, 8 bits @ 60 Hz.
640x400, 16 bits @ 60 Hz.
640x400, 32 bits @ 60 Hz.
640x480, 8 bits @ 60 Hz.
640x480, 16 bits @ 60 Hz.
640x480, 32 bits @ 60 Hz.
800x600, 8 bits @ 60 Hz.
800x600, 16 bits @ 60 Hz.
800x600, 32 bits @ 60 Hz.
1024x768, 8 bits @ 60 Hz.
1024x768, 16 bits @ 60 Hz.
1024x768, 32 bits @ 60 Hz.
 

 
 
Текущий режим: QRes /S

Цитата:
 
QRes v1.1
Copyright (C) Anders Kjersem.
 
800x600, 16 bits @ 60 Hz.
 

К сожалению, не хватает знаний, чтобы обработать вывод этой утилитки. Помогите пожалуйста решить эту проблему.  
 
Добавлено:
Т.е. батник должен отработать и установить (в случае с моим ноутом) режим: 1024x768, 32 bits @ 60 Hz. В других случаях (на других машинах) разрешение, глубина и частота могут быть другими.

Всего записей: 242 | Зарегистр. 18-07-2006 | Отправлено: 03:27 04-04-2008
Elroir



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

Код:
 
@echo off
setlocal enabledelayedexpansion
set "num_of_trys=10"
set "max_res_x=0"
set "max_res_y=0"
set "max_bits=0"
set "max_ref=0"
for /f "tokens=1-3,5 delims=x,@ " %%a in ('qres /v /l') do (
if %%a geq !max_res_x! (
if %%b geq !max_res_y! (
set "max_res_x=%%a" & set "max_res_y=%%b"
if %%c geq !max_bits! (
set "max_bits=%%c"
if %%d gtr !max_ref! set "max_ref=%%d"))))
 
for /f "tokens=1,2,4 delims=,@ " %%a in ('qres /v /s') do set "cur_res=%%a %%b %%c"
for /l %%l in (1,1,%num_of_trys%) do (
if "!cur_res!" == "%max_res_x%x%max_res_y% %max_bits% %max_ref%" goto :EOF
qres /v /x:%max_res_x% /y:%max_res_y% /c:%max_bits% /r:%max_ref%
for /f "tokens=1,2,4 delims=,@ " %%a in ('qres /v /s') do set "cur_res=%%a %%b %%c"
)
 

В выделенной строчке, число 10 - это количество попыток установить разрешение.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 04:37 04-04-2008
hpoint



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это круто Elroir!
Ничего не понятно, а работает! Спасибо огромное! Теперь начал разбираться. Не все понятно. Точнее не понятно многое, но надеюсь пойму.  
А пока, если можно, вопрос несколько общий:
В конструкции
Цитата:
for /f "tokens=1-3,5 delims=x,@ " %%a in ('qres /v /l') do (

вызов 'qres /v /l' отрабатывает 1 раз или постоянно запускается в цикле?  

Всего записей: 242 | Зарегистр. 18-07-2006 | Отправлено: 10:12 04-04-2008
Elroir



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

Цитата:
вызов 'qres /v /l' отрабатывает 1 раз или постоянно запускается в цикле?

'qres /v /l' вызывается один раз. for бежит по строчкам вывода этой команды.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:38 04-04-2008
Mint86



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В батниках я новичек, можно сказать даже вообще не знаю.
Не знаю туда ли я обращаюсь, но в общем есть вопрос:
Можно ли сделать так чтобы файл Excel запускался только через батник, а в этом батнике указать что надо проверить установлена ли галочка в безопасности макроса пункт низкий (Сервис-Макросы-Безопасность). Монитором реестра определил что проверку можно осущтвить в реестре в ветке: HKCU\Software\Microsoft\Office\11.0\Excel\Security
Параметр Dword "Lavel"
Если этот параметр установлен в 1 (там от 1 до 4) то защита от макросов отключена.  
   
 

Всего записей: 166 | Зарегистр. 25-06-2007 | Отправлено: 16:09 04-04-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mint86
Напрямую прикрутить, имхо, или нельзя или получится плохо. Лучше в виде вызова через контекстное меню
 
Вот сам батник

Код:
 
@echo off
setlocal
set "exec=reg query HKCU\Software\Microsoft\Office\11.0\Excel\Security ^| findstr Level"
for /f "tokens=3" %%i in ('%exec%') do (
    if %%i equ 0x1 start "" "%ProgramFiles%\...\excel.exe" %1
)
 
 

Пути к экселю и само название исправь, так как у меня не установлен MS Office.
 
И поищи как батник добавить в контекстное меню проводника.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:25 04-04-2008
hpoint



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

Всего записей: 242 | Зарегистр. 18-07-2006 | Отправлено: 18:46 04-04-2008 | Исправлено: hpoint, 18:47 04-04-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, а можно как-то установить ограничение букв и цифр? чтобы в строке оставались, только первые 10 букв и цифр а остальное удалялось.

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 20:58 04-04-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XXXXL
Чего-же нельзя, у тебя sed теперь есть
Оставить первые десять символов, остальные обрезать:

Код:

sed -r -e "s/^((.){10})(.*)$/\1/" test.txt > new.txt


Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 21:24 04-04-2008
01MDM



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


Код:
 
sed -n "s/.//11g w new.txt" old.txt
 

 
Блин, правда удаляет пустые строки.  
 
Added:
А так не удаляет:

Код:
 
sed "s/.//11g" old.txt >new.txt
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:34 04-04-2008 | Исправлено: 01MDM, 00:00 05-04-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev, 01MDM, СПАСИБО!  

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 23:10 04-04-2008
KfarYm

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

Всего записей: 34 | Зарегистр. 13-08-2005 | Отправлено: 23:55 04-04-2008
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev

Цитата:
Да я и сам в регулярных выражениях не силен, более-менее простые вещи еще могу, со сложными начинаю спотыкаться.

Думаю, поможет http://www.shura.totalcmd.net/download/regexpru.zip

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 07:19 05-04-2008
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru