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

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
researcherr
1. Есть утилитка в х-пе встроенная netsh /?
Сам не разбирался, но штука сильная...
2. pv -l
PrcView v 3.7.2.5 command line utility by Igor Nys
 
Добавлено:
Кто знает как себе поставить батником определённую картинку в качестве обоев ?

Всего записей: 4890 | Зарегистр. 10-11-2004 | Отправлено: 00:13 26-12-2005 | Исправлено: slech, 00:20 26-12-2005
WerGaz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev - большой рахмат.

Всего записей: 2 | Зарегистр. 06-11-2005 | Отправлено: 06:46 26-12-2005
igor_andreev

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

Цитата:
как себе поставить батником определённую картинку в качестве обоев ?

http://www.optimumx.com/download/#SetWallpaper

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 09:24 26-12-2005
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hacsoft
taskkill - говно, не всегда убивает процесс, и его дочерние процессы
pskill - всегда, я по крайней мере еще не сталкивался с обратным , в отличии от taskkill

Всего записей: 1719 | Зарегистр. 02-08-2003 | Отправлено: 11:25 26-12-2005
researcherr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем за помощь.
 
Проблема в том что запускать и выгружать надо Касперыча персонал 5.156
а он собака создает 2 неименнованных процесса. Позтому при запуске из батника
надо сразу получать оба PIDа. Я так понимаю что таким образом он защищается от выгрузки вирусом. Я запускаю его start-ом, и у меня нет возможности получить PID-ы.
Есть какие мысли на это? Еще раз спасибо.

Всего записей: 136 | Зарегистр. 16-07-2003 | Отправлено: 15:55 26-12-2005
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Спасибо за wget. Это - то, что нужно.

Всего записей: 2682 | Зарегистр. 16-10-2003 | Отправлено: 17:24 26-12-2005
HeT BonpocoB



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
есть ли возможность в батнике реализовать что-то вроде Sleep(XX секунд)?? Тоесть что то типа PAUSE, только вместо нажатия кнопки - таймер....

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 18:43 26-12-2005
researcherr

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

Цитата:
есть ли возможность в батнике реализовать что-то вроде Sleep(XX секунд)?? Тоесть что то типа PAUSE, только вместо нажатия кнопки - таймер....

Вот на здесь рекомендуют:

Цитата:
Стандартного варианта задержки нет, был когда-то choice, с его помощью можно было задержку делать, но теперь его нет (а жал, чем он так не угодил).  
Но можно делать так:  
Код:ping -n 11 -w 1000 127.0.0.1 > nul  
Будет задержка на 10 сек. (за длительность отвечает число 11 - количество секунд задержки + 1).  
Если на 2 сек., пиши так:  
Код:ping -n 3 -w 1000 127.0.0.1 > nul  

Мне этого вролне хватает.
 

Всего записей: 136 | Зарегистр. 16-07-2003 | Отправлено: 20:32 26-12-2005
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Спасибо.
 
HeT BonpocoB
(C) 1999 Vlad Staroselsky (2:5033/4@fidonet)
This program waits of file creating or some number of seconds...
 
It's almost not getting system resources.
 
Execute: sleep.exe <file> <NN>, where
<file> - file, we are waiting for
<NN> - number of seconds (1-65535)
 
чем неподходит ?

Всего записей: 4890 | Зарегистр. 10-11-2004 | Отправлено: 23:35 26-12-2005 | Исправлено: slech, 23:35 26-12-2005
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Пользуюсь указанными Вами UnxUtils. Но есть проблема, там не работает paste. Где можно найти еще одну реализацию paste для Windows?

Всего записей: 2682 | Зарегистр. 16-10-2003 | Отправлено: 23:51 26-12-2005
HeT BonpocoB



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
researcherr
Цитата:
Мне этого вролне хватает.
спасибо, мне тоже. В жизниб наверно не додумался до такого

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 01:17 27-12-2005
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, помогите справиться с задачей. Мне нужно получить список файлов (исключая список имеющихся подкаталогов) в текущем каталоге и загнать его в текстовичок. Но есть еще условие, что этот список файлов нужен в чистом виде с именами пользователей, т.е. такой список дает команда "dir /a-d-s /q". Вот, но эта команда дает еще немного бутора в начале своего вывода, и в конце. А этот бутор мне не нужен. Поэтому я беру и пишу следующую команду:
for /f "skip=5 tokens=3" %%b in ('dir /a-d-s /q') do if %%b==. здесь дальше что-то должно быть.
Короче говоря, я этой командой пропускаю первых пять строк, в которых команда dir нам рассказывает про метку тома, серийный номер тома и прочую ботву. А начиная с шестой строки анализирую третий символ, и если он равен точке ".", (я по этому признаку делаю вывод, что это уже идет строка с именем файла) то тогда надо каким-то образом всю строку загонять в текстовик, но как это сделать я не знаю. Прошу вашей помощи.

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 16:18 28-12-2005 | Исправлено: Accessor, 16:20 28-12-2005
Ignat

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Описание: Программа под DOS, есть возможность вывода документов на печать ч/з Excel с помощью батника:
 
@echo off
call C:\Progra~1\Micros~1\Office\excel.exe %1  
 
Проблема: папка Office может быть Office, Office10, Office11, а также если ОС переустанавливали один раз, то - C:\Progra~2\Micros~1\Office\excel.exe, если два, то - C:\Progra~3\Micros~1\Office\excel.exe. Если Офис переустанавливали один раз (или установлен FrontPage), то - C:\Progra~1\Micros~2\Office\excel.exe и т.д. Также папка Program Files может быть переименована, да и вообще находиться на разделе Х:\ .
 
Задача: написать батник с относительным путем к excel.exe, что-то типа:
 
call %OFFICE%_PATH%\excel.exe %1 (не работает, наверное и не должен )  
 
Спасибо
 
P.S. запостил и здесь:  темы уж больно схожие
 

Всего записей: 3454 | Зарегистр. 21-01-2002 | Отправлено: 17:18 28-12-2005 | Исправлено: Ignat, 17:26 28-12-2005
dasm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Accessor
for /f "skip=5 tokens=4,*" %i in ('dir /a-d-s /q') do echo %i %j >> file.txt
Но в конце файла будут лишние строчки:
байт
байт свободно
Как их убрать, пока не знаю.

Всего записей: 287 | Зарегистр. 05-12-2003 | Отправлено: 17:26 28-12-2005
jak_forest

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

Цитата:
Но в конце файла будут лишние строчки:  
байт  
байт свободно  
Как их убрать, пока не знаю.

попробуй использовать  
findstr с параметром /v

Код:
 
findstr /v /i "байт"
 

но если будет название файла содержать подряд набор букв "байт", отгда сори но не пройдет нормально. В принципе так же можно было бы и первые строки срезать...

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 18:02 28-12-2005
dasm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ignat
Путь к офису в переменных не хранится, но его можно выцепить из реестра:

Код:
 
%echo off
regedit /ea tmp.reg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\InstallRoot
for /F "skip=4 tokens=2 delims==" %%i in (tmp.reg) do set Office_Path=%%~fi
del /q tmp.reg
"%Office_Path%excel" %1
 

ЗЫ: 11.0 - это версия офиса

Всего записей: 287 | Зарегистр. 05-12-2003 | Отправлено: 18:14 28-12-2005
Accessor



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

Цитата:
for /f "skip=5 tokens=4,*" %i in ('dir /a-d-s /q') do echo %i %j >> file.txt

да, в принципе это уже пол дела, спасибо, только есть вопрос, а что за переменная %j  и в какой момент она получает знасение, я что-то не могу понять, откуда оно берется

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 18:36 28-12-2005
Smitis



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

Цитата:
а что за переменная %j  и в какой момент она получает знасение, я что-то не могу понять, откуда оно берется

Если есть  в команде for ключевое слово tokens, строка разбивается на части в соотвествии с задаными разделителями (delims) и присваевает полученные значения переменным по алфавиту, начиная с указанной в команде. Сдесь - %i %j %k %l %m %n и т.д. Рекомендую посмотреть справку по команде FOR
 
Добавлено:
Ignat
Вопросы лучше не дублируй, а то не понятно, где отвечать.

Всего записей: 2435 | Зарегистр. 09-02-2003 | Отправлено: 00:23 29-12-2005
Ignat

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dasm Спасибо!
-Но,
Цитата:
ЗЫ: 11.0 - это версия офиса
, как быть просто с "офисом" и "офис10"? Программа может стоять и на 98, 2к, ХР и 2к3, эта ветка реестра у всех одинаковая?
-Программа, при установке печати ч/з Excel, ругается: "Настройте правильно пути запуска Excel в файле c:\X\common\exfox.bat (путь к поддиректории программы, где лежит батник). Если не обращать внимание на сообщение, то с помощью твоего батника документ на печать ч/з Excel передается! что уже радует. Можно ли еще что-нибудь сделать в плане универсальности и не вывода сообщения программы. В любом случае, еще раз спасибо!  
Smitis Я бы не дублировал но темы то схожие! и ответы от разных людей смотрю в обеих

Всего записей: 3454 | Зарегистр. 21-01-2002 | Отправлено: 00:31 29-12-2005
Accessor



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

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 10:35 29-12-2005 | Исправлено: Accessor, 10:39 29-12-2005
   

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