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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста
нужно в ini файле найти строку со значением и если оно равно 0 то изменить его на 1 затем запустить приложение, если значение равно 1 то ничего не менять и сразу запускать программу.

Всего записей: 62 | Зарегистр. 06-08-2008 | Отправлено: 21:28 03-12-2008 | Исправлено: miloslavskii, 21:35 03-12-2008
Elroir



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

Код:
 
@echo off
set /p=<nul>result.xtx
for %%a in (*.txt) do (
copy /y result.xtx  /a  + "%%a" /a result.xtx > nul
echo.>>result.xtx
)
ren result.xtx result.txt
 


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:23 03-12-2008 | Исправлено: Elroir, 00:49 04-12-2008
oklhr

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

Всего записей: 2 | Зарегистр. 03-12-2008 | Отправлено: 00:03 04-12-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oklhr
У меня там ошибка - в строчке с copy, надо удвоить знак процента

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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как из одного bat-ника вызвать другой, но при этом что бы после отработки второго окно не закрылось а управление передалось первому. Функция call не подходит , так как вызываемый файл после отработки закрывается.
Спасибо.

Всего записей: 125 | Зарегистр. 27-06-2006 | Отправлено: 17:02 04-12-2008
Elroir



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

Код:
cmd /b /c second.cmd


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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Нет , к сожалению не работает, все равно окно закрывается.

Всего записей: 125 | Зарегистр. 27-06-2006 | Отправлено: 17:57 04-12-2008
Elroir



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

Код:
 
start cmd /k second.cmd
 

Второй вариант:

Код:
 
start /wait cmd /k second.cmd
 

Есть еще и третий вариант, работющий так, как тебе надо, но он не просто ждет окончания второго батника, а проверяет, закончил ли тот работу, раз в 1-2 секунды.
Здесь надо изменять уже оба батника.
В конце второго прописать

Код:
 
echo. 1>"%tmp%\flag"
 

А в первом, за ожидание будет отвечать следующий блок:

Код:
 
:: Здесь предыдущие команды первого батника
 
:: Вызываем второй батник
start cmd /k second.cmd
:: Блок ожидания -------------------
del /q "%tmp%\flag" 2>nul
:wait
ping -n 2 -w 1000 127.0.0.1>nul
if not exist "%tmp%\flag" goto wait
del /q "%tmp%\flag" 2>nul
:: ------------------------------------
:: Здесь следующие команды первого батника
 

 
 


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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Спасибо.
Мне нужно что бы первый ждал окончания второго. Раньше было так:
 

Цитата:
 FOR /L %%f IN (1,1,5) do call :2 %%f
GOTO :EOF
:2
set /A n=0+%1
set /A d=1=%1
set /A x=135*%1-135
start second.bat

 
То есть мне надо запускать second.bat 5 раз с разными переменными , которые меняются в зависимости от n-ного запуска. Не подходит. Надо что бы окна оставались, и новое окно открывалось только после того как отработает предыдущее. Например пока не отработает ping с предыдущего окна новое не откроется.
Попробую третий вариант.

Всего записей: 125 | Зарегистр. 27-06-2006 | Отправлено: 18:46 04-12-2008 | Исправлено: vvnet, 19:10 04-12-2008
Harakir

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С помощью каких ключей объединяются несколько процессов?
 
Например надо открыть документ если запускается косынка %SystemRoot%\system32\sol.exe ИЛИ пинбол "C:\Program Files\Windows NT\Pinball\PINBALL.EXE"

Всего записей: 62 | Зарегистр. 03-08-2006 | Отправлено: 19:31 04-12-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть программа К+ , в ней есть возможность обработать запрос на пополнение (дырявой) базы, файл запроса имеет формат STR#000002.QST
после запуска/обработки файл запроса перемещается в др. папку (автоматом) + появляется файл статистики   STR000002.STS
 
Вопрос!
нужен батник который делает так :
(в програмировании не силён, поэтому напишу как видится сам процесс) :
 
в папке ...\Receive\  считываем имя файла STR#000002.QST  (разделитель # , а имя файла может быть другим )
STR - в переменную "1"
000002 - в переменную "2"
 
запускаем К+ на обработку запроса  cons.exe /answer /base_STR      - переменная "1"  
ждём ожидания выполнения
перемещаем в другую папку файл ...\send\STR000002.STS       move файл("1" и "2").STS  
и  
перемещаем в другую папку файл ...\send\STR#000002.QST     move файл("1" # "2").QST  
 
 

Всего записей: 1468 | Зарегистр. 28-10-2007 | Отправлено: 13:33 06-12-2008
CRANK



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, где взять полный список вида:
%windir% Путь к папке Windows
%systemdrive% Путь к системному диску
%programfiles% Путь к Program Files
и т.д...?
Знаю, что таких переменных около полусотни...

Всего записей: 1677 | Зарегистр. 29-01-2006 | Отправлено: 01:24 08-12-2008
iamantbk

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

Всего записей: 61 | Зарегистр. 30-04-2008 | Отправлено: 05:51 08-12-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CRANK
http://technet.microsoft.com/en-gb/library/bb490954.aspx

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 10:59 08-12-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А просто ввести Set и посмотреть какие есть ?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:18 08-12-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Там не все (time, date, errorlevel, random)

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:29 08-12-2008
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:23 08-12-2008
AvgustiN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте! Помогите разобраться с вот такой проблемкой... Заранее извиняюсь, если решение данной проблемки уже где-нибудь встречалось.
 
ОС: WIn XP Pro.
 
имеется вот такой вот батничек:
 

Код:
 
title Load program... Please wait...
@echo off
net use w: \\192.168.x.x\a1 > nul
echo "1. Disk connected"
cd d:\
d:
md 123
cd d:\123
md Program
copy w:\Dekanat.exe d:\123\Program\Prog.exe > nul
echo "2. File updated"
start d:\123\Program\Prog.exe > nul
echo "3. Run programm"
net use w: /delete > nul
echo "4. Disk disconnected"
exit
 

 
Немного поясню работу bat-файла:
 
Имеется exe-файл 'Prog.exe' на сервере '192.168.x.x' в папке 'a1'. Работа bat-файла заключается в том, чтобы скопировать этот файл с сервера в папку пользователя 'd:\123\Program\Prog.exe' на его компе и запустить его.
 
Требуется модернизировать батничек следующим образом:
 
если нет связи с сервером, то нужно запустить последнюю удачно скопированную версию файла 'Prog.exe' с компа пользователя, а не с сервера. ну а если есть связь, то скопировать этот файл с сервера и запустить.
 
Заранее спасибо...

Всего записей: 84 | Зарегистр. 04-11-2006 | Отправлено: 11:45 09-12-2008 | Исправлено: AvgustiN, 12:03 09-12-2008
Pochikau



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такое дело... батник пингует адреса серваков и записывает все ето в *.doc файл
нужно:
-присвоить каждому серверу свой номер
-если превышен интервал, то выделять эту позицию другим цветом
 
написано все вот так
 
echo off @
call
date /t >c:\ping.doc
time /t >>c:\ping.doc
echo POSITION - 1 >>c:\ping.doc
ping Samara-fs.region >>c:\ping.doc
echo >>c:\ping.doc
 
echo POSITION - 2 >>c:\ping.doc    
ping Tumen-dc.region >>c:\ping.doc
 
echo POSITION - 3 >>c:\ping.doc
ping Krasnoyarsk-dc.region >>c:\ping.doc
IF NOT errorlevel 1 rasdial in /DISCONNECT
pause
 
как исправить и дополнить??? помогите плис)

Всего записей: 1 | Зарегистр. 09-12-2008 | Отправлено: 12:32 09-12-2008 | Исправлено: Pochikau, 12:35 09-12-2008
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен ответ!
Использую батник для архивирования (rar), использую ключ u, он действительно обновляет файлы в архиве!, а как быть с теми файлами, которые в каталогах архивации давно исчезли, а при обновлении архива - в самом архиве они остаются и не удаляются!
 
это так и должно быть или все таки при обновлении архива, те файлы должны и с архива удалятся?

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 12:39 09-12-2008 | Исправлено: Kilyan, 12:41 09-12-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