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

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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, подскажите, плиз:
1. Где все-таки почитать про синтаксис для bat-ников. Для блондинок желательно =)
2. как написать такой скрипт:
 
есть куча папочек, в каждой папочке еще куча папочек, в них в каждой еще куча... и так 4 уровня дерева. В конечном итоге в каждой папочке - 1 файл *.jpg. Причем все файлы *.jpg называются одинаково
 
надо:
сохранить все файлы *.jpg в одну папку (копированием), соответственно под другими именами: перед расширением вместо названия файла ставится последняя часть пути этого файла - названия двух последних в пути директорий.  
 
Т.е. если полный путь у нас E:\\123\45\67\89\pic.jpg, то название должно стать 67\89.jpg
Либо можно слэш заменить на дефис или подчеркивание - это не принципиально.  
 
Помогите, плз, как это лучше сделать

Всего записей: 24 | Зарегистр. 17-11-2006 | Отправлено: 22:42 17-11-2006
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rinrintaru
если ты действительно хочешь научиться писать батники, то начни с того, что запусти ком.строку и дай там команду help. Получишь список команд, которыми ты будешь конструировать свои батники. Внимательно изучи полученный список команд для того, чтобы понять номенклатуру инструментов, которыми будешь оперировать. Вот, а потом по каждой команде можешь пройтись с параметром /?, почитать что они умеют и вперед. Начинай с простого, например, какая-то архивация, копирование полученного архива с проверкой записи и вывод уведомления, потом усложняй. С вопросами сюда...

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 11:05 20-11-2006
Pivovar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет все Гениям на сайте. Помогите ради бога решить большушую проблему у самого наверное мозгов не хватает.
 
Как в батнике или VBS сделать такую феньку.
 
допустим сначала в первую очередь останавливает все службы на серверах, далее копирует 4 файла в разные места (притом это нужно сделать поочереди(сначало первый, по окончании копирования второй и т.д.)), далее когда пройдет копирование запускает определенный bat-фаил и по завершении процесса (bat) запускает службы. Все это необходимо сделать в 1-ом файле.  
 
Что у меня получилось. службы останавливаються, а вот по очереди копирование не происходит - делается все  сразу и выскакивают ошибки. Как сделать копирование с ожиданием окончания предыдущего процесса.
 
Очень буду признателен  Вам!!!  
Заранее благодарю.

Всего записей: 2 | Зарегистр. 20-11-2006 | Отправлено: 00:11 21-11-2006
iglezz

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pivovar
скрипта бы студию....
 
то что все сразу выполняется - это через start copy ..... ? и какие ошибки выскакивают?

Всего записей: 1395 | Зарегистр. 18-02-2003 | Отправлено: 00:58 21-11-2006 | Исправлено: iglezz, 01:01 21-11-2006
netman



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

Цитата:
допустим сначала в первую очередь останавливает все службы на серверах, далее копирует 4 файла в разные места (притом это нужно сделать поочереди(сначало первый, по окончании копирования второй и т.д.)), далее когда пройдет копирование запускает определенный bat-фаил и по завершении процесса (bat) запускает службы. Все это необходимо сделать в 1-ом файле.  
 

Что то типа одним батником

Код:
 
psservice \\Computer -u Username -p Password stop  service
xcopy \\source_server\C$\file \\dest_Server\c$\path\file /H /R /Y /Z
psservice \\Computer -u Username -p Password start  service
 

 
psservice
http://www.sysinternals.com/ntw2k/freeware/psservice.shtml  
 

Всего записей: 302 | Зарегистр. 22-09-2003 | Отправлено: 08:13 21-11-2006 | Исправлено: netman, 08:18 21-11-2006
Pivovar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не идет такая фишка.  
Необходимо сделать все по порядку и что бы не забегало вперед каждое действие.
 
1. Останавливаем службу.
2. Запускаем Job на 2 серверах
3. Ожидание  3 минуты
4. Копирование на выгрузок на другие сервера.
5. Запуск обработчика (bat-фаил) - перед импортом
6. Запуск импорта на серверах (bat-фаил)
7. Запуск обработчика (bat-фаил) - после импорта
8. Запуск служб
 
Вот какой план действий должен быть.
Но только что бы не нарушалась последовательность действий. т.е (6)-не запуститься если не доделается (5), и т.д

Всего записей: 2 | Зарегистр. 20-11-2006 | Отправлено: 09:33 21-11-2006
netman



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

Цитата:
 
1. Останавливаем службу.
2. Запускаем Job на 2 серверах
3. Ожидание  3 минуты
4. Копирование на выгрузок на другие сервера.
5. Запуск обработчика (bat-фаил) - перед импортом
6. Запуск импорта на серверах (bat-фаил)
7. Запуск обработчика (bat-фаил) - после импорта
8. Запуск служб
 

ну так поставь в шедулер на обоих серверах ,все можно сделать одним батником.
все что я написал подойдет кроме пункта 2,3
для 3 используй утилиту sleep из ресурскита

Всего записей: 302 | Зарегистр. 22-09-2003 | Отправлено: 10:32 21-11-2006
BasiL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
незнаю, может кому то пригодится....
как то после продолжительной битвы на *nix надо было поглядеть ручками сеть под виндами, так долго не мог отделаться от ifconfig и traceroute.
В итоге по быстрому родил батнички (положить в system32)
traceroute.cmd
и
ifconfig.cmd
ну и ls до кучи

Всего записей: 3208 | Зарегистр. 13-03-2004 | Отправлено: 10:41 21-11-2006 | Исправлено: BasiL, 10:42 21-11-2006
knyazru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите что не так, следующий скрипт по моей задумке должен выводить количество exe файлов в данной папке
 
@echo off
Set A=0
for %%f in (*.exe) do Set /A A=%A%+1
Echo %A%
echo Press any key...
Pause >nul
 
почему то всегда выводит 1

Всего записей: 31 | Зарегистр. 09-01-2005 | Отправлено: 11:55 21-11-2006
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knyazru
for %%f in (*.exe) do Set /A A=%A%+1
исправь на A=A+1

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 17:23 21-11-2006 | Исправлено: Accessor, 17:23 21-11-2006
knyazru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заработало!
 
А вот так не работает
Хотелось бы получить сообщения file №1 .. file №2 и т.д.
а получается file № 0 всегда
 
@echo off
Set A=0
for %%f in (*.exe) do (
 Set /A A=A+1
  Echo file № %A% %%f )
echo Press any key...
Pause >nul
 

Всего записей: 31 | Зарегистр. 09-01-2005 | Отправлено: 18:51 21-11-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knyazru
После @echo off, на следующей строчке, напиши "setlocal enabledelayedexpansion".
А "Echo file № %A% %%f" замени на "Echo file № |A| %%f".

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:58 21-11-2006
knyazru

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

Всего записей: 31 | Зарегистр. 09-01-2005 | Отправлено: 06:22 22-11-2006
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
а у меня пишет ошибку
"A" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 
@echo off
setlocal enabledelayedexpansion
Set A=0
for %%f in (*.exe) do (
 Set /A A=A+1
  Echo file |A| %%f )
echo Press any key...
Pause >nul

Всего записей: 1495 | Зарегистр. 07-09-2004 | Отправлено: 17:56 22-11-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tolyn77
Я ошибся, когда писал. Там где "|A|", надо заменить на "!А!".
P.S. Не знаю, почему у knyazru работает

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:44 22-11-2006
Ruud



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос к специалистам : можно ли создать батник ,который бы искал на  всех дисках  определенную папку или файл и заносил бы полный путь к этой папке в реестр.

Всего записей: 65 | Зарегистр. 18-12-2005 | Отправлено: 01:31 23-11-2006
Elroir



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

Цитата:
можно ли создать батник ,который бы искал на  всех дисках  определенную папку или файл


Код:
 
@echo off
rem For Disk C
for /r c:\ %%I in (%1) do if exist %%I echo %%I
rem For Disk D
for /r d:\ %%I in (%1) do if exist %%I echo %%I
...
...
 

В качестве параметра передается название файла или директории.
Вместо "echo %%I" можно написать команду "reg add .." для записи в реестр.  

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:52 23-11-2006
Ruud



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir ,спасибо за помощь.Здесь спращивали учебники ,нащёл пару вещей, может пригодятся:Справочник параметров командной строки v1.1- http://reestr.hotmail.ru/
и  Командная строка Microsoft Windows. Справочник администратора Автор: Уильям Р. Станек. http://rapidshare.de/files/23244812/cline_win.zip.html PDF 12 mb
 
 

Всего записей: 65 | Зарегистр. 18-12-2005 | Отправлено: 02:22 25-11-2006
adminTerror

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как через баткик чтобы он с сайтов записывал все ссылки в текстовый файл  
к примеру дан сайт http://www.***.ru/
и там есть ссылки на скачку информации http://www.***.ru/*.exe
 http://www.***.ru/*.jpg  http://www.***.ru/*mp3 ...
или просто чтоб записывал в txt все ссылки с сайта...

Всего записей: 4 | Зарегистр. 26-11-2006 | Отправлено: 12:12 26-11-2006
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нужно перезагрузить ADSL-модем из командной строки. У него это делает через телнет. Соответственно, как автоматизировать заход через телнет и выдачу ему reboot?

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 19:29 26-11-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru