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

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Запустила из командной строки стандартную Windows утилитку Netstat.
Командой netstat -a
Развернула чёрное DOS окошко на полную и тут... оно вдруг скоро пропало.
При последующем запуске вижу выполнение (окошко) на секунду и окошко пропадает. Как заставить окошко не пропадать?

----------
Is it me You're looking for?

Всего записей: 8440 | Зарегистр. 13-10-2008 | Отправлено: 11:42 25-01-2009
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sympathy
Открой окошко CMD (Start->Run->cmd), а уж в нем запускай netstat.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:17 25-01-2009
Sympathy



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

----------
Is it me You're looking for?

Всего записей: 8440 | Зарегистр. 13-10-2008 | Отправлено: 13:03 25-01-2009
sandkey



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Помогите пожалуйста. Имеется бот, при падении интернета приходится его перезапускать. Нужно, что-бы при падении инета батник убивал процесс бота и запускал его заново.
Вот то что я написал, но он не работает...видимо где-то ошибся...я в этом не очень разбираюсь...поправьте пожалуйста что не так.
echo off
:gw  
ping jabber.ru >Null
if not errorlevel 0 goto yesinet else goto notinet  
 
:yesinet  
tasklist | find /i "sulci.exe" >Null || start sulci.exe
timeout 180 >Null
goto gw
 
:notinet
time /t
timeout 20 >Null
goto gw
 
 Смысл в том, что батник постоянно пингует сервер и в случае падения, убивает процесс и запускает его заново.

Всего записей: 79 | Зарегистр. 25-07-2006 | Отправлено: 13:52 25-01-2009
legalizeit

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, со скриптом.  
Нужно выудить из лога ipconfig /all один из IP-адресов таким скриптом:

Код:
 
  for /f "tokens=2* delims=: skip=2" %%a in ('ipconfig /all ^| grep "IP"') do (
@echo  %%a
)
 

скрипт выводит все адреса, но как сделать, чтобы он находил адрес на сетвевой карте с заданным именем?
 
или может проще, как написать скрипт, чтобы он обрабатывал команду: netsh interface ip show address name=iola_inet, которая например выводит такие данные:
Настройка интерфейса "iola_inet"
    DHCP разрешен:                        Нет
    IP-адрес:                             15.15.15.15
    Маска подсети:                        255.255.255.224
    Основной шлюз:                      15.15.15.0
    Метрика шлюза:                      0
    Метрика интерфейса:                   0
 
Нужно поймать тот адрес, что в данном примере равен 15.15.15.15

Всего записей: 1 | Зарегистр. 17-05-2007 | Отправлено: 01:09 28-01-2009 | Исправлено: legalizeit, 14:42 28-01-2009
i_no_k



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть bat-ник, который ищет файлы по маске текущего числа даты и делает с ними некоторые операции - ниже кусок:

Код:
 
FOR /F "usebackq delims=." %%i IN (`date /t`) DO move /Y Share:\Path\???%%i*.ext Share2:\Path
 

Видно, что файлы ищутся по маске (3 символа)(текущий день)*.(расширение).
Нужно исправить так, чтобы итоговая маска была (3 символа)(текущий день-1 день)*.(расширение)
Можно сделать конструкцию вида
Код:
set /A day=%date:~0,2%-1
, но придется кучу всего на нее навесить, чтобы правильно обрабатывались первые дни месяцев и пр. Хочется его-то простого и элегантного Может быть, есть утиль для операций с датами - что-нибудь вроде того - вызываешь утиль.ехе %date /t% +/-1 - на выходе получаешь правильную дату, но что-то я её не смог найти.
У кого какие идеи, поделитесь.

Всего записей: 357 | Зарегистр. 22-09-2005 | Отправлено: 06:39 28-01-2009
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
i_no_k
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=760#17

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:57 28-01-2009
i_no_k



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

Всего записей: 357 | Зарегистр. 22-09-2005 | Отправлено: 06:31 29-01-2009
Zakkazak



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может ли Cmd по сценарию открыть 1-е приложение, затем после того как юзер закроет 1-е приложение, открыть 2-ое?
Например запускаю батник:
1. текстовой редактор открывает d:\totalcmd\utility\CCleaner\Winsys2.ini
После манипуляций в файле, файл закрываю
2. запускается d:\totalcmd\utility\CCleaner\CCleaner.exe

Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 12:05 30-01-2009 | Исправлено: Zakkazak, 00:14 31-01-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, существует ли возможность, не прибегая к сторонним утилитам, пробежаться по текстовому файлу и устранить все дубликаты строк, записав результат в указанный файл!?  
з.ы.
Утилиту я нашеел - Text Duplicate Killer 1.1 (rus) -но это оконное приложение а так же(вызывается с ком.строки по завершению закрывается , нельзя даже лога просмотреть)

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 12:44 30-01-2009
VikLabel

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

Цитата:
...нельзя даже лога просмотреть

А что там смотреть, Text Duplicate Killer - это утилита, предназначенная для удаления из текста повторяющихся строк (не обязательно смежных). В результате работы создается новый текст, в котором каждая строчка встречается только один раз.

Всего записей: 674 | Зарегистр. 05-03-2003 | Отправлено: 21:27 30-01-2009
Roman3754

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плиз!Суть такая, нужен bat файл , который пинговал ip и при успешном пинге,выполнял откл впн!Если обмен пакетами не прошел(тоесть ip офф), продолжать пинговать!

Всего записей: 4 | Зарегистр. 23-01-2009 | Отправлено: 05:12 31-01-2009 | Исправлено: Roman3754, 05:36 31-01-2009
Kilyan



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

Цитата:
А что там смотреть, Text Duplicate Killer - это утилита, предназначенная для удаления из текста повторяющихся строк (не обязательно смежных). В результате работы создается новый текст, в котором каждая строчка встречается только один раз.

Я прекрасно это понял при ее использовании, но вопрос остается открыт.! Необходимо то же но в ком строке.

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 10:48 31-01-2009
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kilyan
Утилита uniqline - http://grigsoft.com/cnv/uniqline.zip

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:34 01-02-2009
Smitis



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

Цитата:
Подскажите, существует ли возможность, не прибегая к сторонним утилитам, пробежаться по текстовому файлу и устранить все дубликаты строк, записав результат в указанный файл!?  

Писать нет времени, но предложу следущую схему:
 
Если порядок строк не имеет значения:
- текстовый файл сортируем (sort)  и результат пишем во временный файл.
- обрабатываем временный файл командой for, переписывая строки в файл с оригинальным именем. Сравниваем предыдущую строку с текущей, если они совпадают - пропускаем.
 
Если порядок строк имеет значение:
- текстовый файл сортируем (sort)  и результат пишем во временный файл.
- обрабатываем временный файл командой for, сравнивая предыдущую строку с текущей.
- если строки равны, обрабатываем командой for оригинальный файл, переписывая строки в другой временный файл, пропуская все строки, найденные первой командой for, кроме первого совпадения. Переписываем результат (move) поверх оригинала и продолжаем искать дубликаты, для оптимизации пропуская строки, если дубликатов более двух.
 
Ну, где-то так...

----------
Разум когда-нибудь победит

Всего записей: 2469 | Зарегистр. 09-02-2003 | Отправлено: 02:29 01-02-2009
Maza_Faka



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

Цитата:
по сценарию открыть 1-е приложение, затем после того как юзер закроет 1-е приложение, открыть 2-ое?


Код:
 
@Echo Off
Start /wait "" "d:\totalcmd\utility\CCleaner\Winsys2.ini"
"d:\totalcmd\utility\CCleaner\CCleaner.exe"
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 11:35 01-02-2009
dimk88

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плз,  
есть путь C:\Folder1\Какая-то папка, имя неизвестно\file.txt
 
Нужно добраться до file.txt =) Как нужно обозначить папку, имя которой неизвестно?) Спасиба!

Всего записей: 5 | Зарегистр. 01-02-2009 | Отправлено: 15:41 01-02-2009
Zakkazak



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

Код:
@Echo Off  
Start /wait "%ProgramFiles%\SciTE\SciTE.exe" "%Commander_Path%\utility\CCleaner\Winsys2.ini"  
"%Commander_Path%\utility\CCleaner\CCleaner.exe"
Спасибо прекрасно работает, только почему то открывает, не тем редактором, который указываю в сценарии

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



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

Код:
 
@echo off
setlocal
pushd "C:\Folder1\"
for /f "tokens=*" %%a in ('dir /b /ad') do if exist "%%a\file.txt" set "found=%cd%\%%a"
if defined found echo Path to file : %found%\file.txt
popd
 

 
Zakkazak
У Maza_Faka там не зря кавычки после /wait стоят.


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:10 01-02-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Извини, уважаемый, но с задачкой поиска файлов по неизвестному пути что то ты перемудрил...
Код:
@ECHO OFF
SET folder=\\Server\Folder1
SET file=xfile.txt
FOR /F %%i IN ('dir "%folder%\%file%" /s /b /a:-d') DO ECHO %%i

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:53 02-02-2009
   

Страницы: 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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru