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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

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



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:16 14-09-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Врядли. они ищутся из tasklist хотя чем черт не шутит ?лучше уж все !

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 15:17 14-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ATZATZ
Переформулируй задачу - что ты хочешь вообще

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:21 14-09-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Я хочу въехать в for А задача такая: перейти в директорию, где находится ексешник висящий в процессах(tasklist,который я делаю предварительно) дабы посмотреть:чего там вообще происходит  

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 15:33 14-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ATZATZ
Как ты получаешь имя файла, и путь к нему?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:59 14-09-2006
wader



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

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 16:10 14-09-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
написал вот такой код :
@echo off
:_reload
cls
tasklist
echo press 1 for tasskill or 2 for find file or 3 to exit
set /p choice=your choice ?:
if /i "%choice%"=="1" goto :_taskkill
if /i "%choice%"=="2" goto :_dir
if /i "%choice%"=="3" goto :EOF
goto :_error
:_taskkill
set /p task=kill task (enter name):
for %%i in ('tasklist') do taskkill /f /t /im %task%
echo press 1 to exit or 2 to continue
set /p replay=your choice ?:
if /i "%replay%"=="2" goto :_reload
if /i "%replay%"=="1" goto :EOF
goto :_error
:_dir
set /p more=enter filename:
set /p drive=ented diskname:
cd /d %drive%:\ &&dir /s %more%
echo press 1 for taskkill 2 for find new file or 3 ot exit
set /p responce= your choice ?:
if /i "%responce%"=="1" goto :_taskkill
if /i "%responce%"=="2" goto :_dir
if /i "%responce%"=="3" goto :_EOF
goto :_error
:_error
echo Error.Press 1 for exit or 2 for load again
set /p error=your choice ?:
if /i "%error%"=="1" goto :EOF
if /i "%error%"=="2" goto :_reload
goto :_error
 
много заморочек , но ето для удобства (писал не для себя)поиск файла через copy/paste
и результате выполнения dir /s выводит сам знаеш что а нужно только (например) C:\Program Files\ICQ и потом на выбор перейти в C:\Program Files\ICQ илиотстрелить процесс или выйти из цикла  
 
 
 
Добавлено:
wader  
под XP с SP1 на SP2 тоже должно работать корректно (ато их фиг поймеш :на одной все OK а да другой -вилы )
ps : я вот думаю что C:\Program Files\ICQ надо будет как-нидудь загнать в переменную...

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 16:22 14-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
wader
Программу Choce.com - можно скопировать с 98-й в ХП и будет работать
 
ATZATZ
Так вводи путь в формате c:\Путь
а переход в папку по команде PushD

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:23 14-09-2006
wader



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Я в курсе, хотел обойтись штатными средствами
 
P.S.
  Как можно сохранить stdout в переменную? Без временных файлов.

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 18:28 14-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
wader
Можно конечно и штатными
Насчет STDOUT - никак

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:31 15-09-2006
wader



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Эх. Нет в жизни совершенства.
 
ATZATZ
Путь достается очень просто.
 

Код:
 
...
set /p more=enter filename:  
set /p basepath=ented basepath:  
cd /d %basepath% && dir /s %more% | find "%basepath%" /I  
...
 

В третьей строке выводится в stdout нечто следующего вида:
" Содержимое папки C:\temp\1231\1231"
Если передать это в качестве параметра в bat файл, то, в данном случае, полный путь будет в %3. И в общем случае автоматически находится элементарно.
 
А во втором bat файле пишешь
Код:
cd %3
Усе.

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 12:17 15-09-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wader
Ага. Ето точно Да и код подошел почти на 100% Спасибо! А как все это получить без слов "содержимое папки" ?

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 13:17 15-09-2006
wader



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ATZATZ
Так это твой код, я чуть-чуть изменил
 
Насчет получить без "Содержимое папки", повторюсь:

Цитата:
 
создаешь батник
Код:
cd %3

На вход ему даешь строку " Содержимое папки C:\temp\1231\1231"  
в %3 находится полный путь "C:\temp\1231\1231"
 

или ты что-то другое имел ввиду?
 
P.S.
  %3 можно не полностью кодировать, а перебрать все параметры с %1 до нужного.

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 13:47 15-09-2006 | Исправлено: wader, 13:50 15-09-2006
1user1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите pls текст батника - автоматический запуск ipconfig в консоле.

Всего записей: 5 | Зарегистр. 02-09-2006 | Отправлено: 21:48 15-09-2006
Yuk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1user1
Так?
cmd /k ipconfig
 
Или так?
ipconfig
pause

Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 22:15 15-09-2006 | Исправлено: Yuk, 22:16 15-09-2006
wader



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1user1
что именно ты хочешь сделать? напиши подробнее.
 
P.S.
  прочитай описание ключей запуска
 
Код:
ipconfig /?

 
Yuk
  Ему автоматически надо

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 00:33 16-09-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yuk
Если тебе нужет только IP, то лучше так :
@echo off
For /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr "IP-"') do echo %%i
pause

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 11:03 16-09-2006
YDOG

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно ли средствами командных файлов выяснить по IP адресу имя хоста или сайта.
Пытаюсь обработать лог пришедший от провайдера. И не соображу как это сделать..
Уважаемые помогите..

Всего записей: 82 | Зарегистр. 08-06-2006 | Отправлено: 12:26 22-09-2006
Accessor



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

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 13:15 22-09-2006
YDOG

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это очень долго...
команда работает по 3-4 секунды...Сколько же я буду времени проверять?
А другого решения не завалялось?

Всего записей: 82 | Зарегистр. 08-06-2006 | Отправлено: 14:49 22-09-2006
   

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru