Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: Elroir
Дата сообщения: 03.11.2006 13:50
rish
Можно воспользоваться встроенными средставми Windows.
Написать батник xls_move.cmd:

Код:
@echo off
md %date% 2>nul
move /y *.xls %date%
Автор: tolyn77
Дата сообщения: 10.11.2006 08:43
подскажите как из бат файла шрифт подключить в системе!?
Автор: firebar
Дата сообщения: 11.11.2006 19:33
а можно лли пример батника для запуска двух прогамм ? сам я даже не знаю что в них писать и как .
Автор: Elroir
Дата сообщения: 11.11.2006 19:49
firebar
Создаешь новый текстовый файл с расшитением .cmd. Для запуска каждой программы, пишешь ее ( включаю полный путь, если программа находится в другой директории ) на отдельной строке. Если в названии программы или в пути есть пробелы, заключаешь всю строку в кавычки. Если программы интерактивные, добавляешь start перед строчкой. Пример:

Код:
start "c:\program files\acdsee\acdsee.exe"
"d:\folder1\folder2\and another subfolder\program.exe"
..
..
Автор: firebar
Дата сообщения: 11.11.2006 20:01
ну вот написал так start "c:\program files\agnitum\Outpost Firewall\outpost.exe"

на диске с в корне ,сохранил inet.cmd и вообщем то не запускается этот аутпост
Автор: Elroir
Дата сообщения: 11.11.2006 20:26
firebar
Чуть более подробно - что ты пытаешься сделать?
Автор: firebar
Дата сообщения: 11.11.2006 22:38
хочу сделать на раб столе ярлык кликая по которому запускался бы аутпост и еще пару программ.
Автор: Elroir
Дата сообщения: 11.11.2006 22:53
firebar
Очень странно. У меня после такой-же команды Outpost загружается - то есть появляется иконка в трее. Ну.. попробуй без "start".
Автор: firebar
Дата сообщения: 11.11.2006 23:14
без старт заработало только окно командное не гасится после запуска. какой командой это реализовать?
Автор: Elroir
Дата сообщения: 11.11.2006 23:29
firebar
В том-то и дело, что за это отвечает команда start. Без нее командный файл ожидает завершения программы, которая запустилась.
Автор: ATZATZ
Дата сообщения: 12.11.2006 14:12
firebar
Попробуй в конце батника вписать exit
Автор: firebar
Дата сообщения: 12.11.2006 19:51
exit не помог
Автор: LEX1
Дата сообщения: 12.11.2006 23:08
firebar
А так?

Код: cd "c:\program files\agnitum\Outpost Firewall"
start outpost.exe
cls
Автор: Devil66
Дата сообщения: 14.11.2006 08:12
Нужно выполнять запуск программы 1 раз в неделю при логоне юзера. Сейчас батник стОит в domain policy в логон скрипте и запускается при каждом логоне. НО нужно, чтобы раз в неделю.

Т.е, чтобы при логоне запускался скрипт, который проверял бы день недели и, если понедельник, запускал бы выполнение программы.
Вот как можно это сделать?


Добавлено:
Как сюда добавить еще один день недели? (понедельник и пятница чтоб было)

Код:
Set WSShell = WScript.CreateObject("WScript.Shell")
SessionName = WSShell.RegRead("HKCU\Volatile Environment\SESSIONNAME") 'прочитать системную переменную

if SessionName = "Console" then 'если юзер залогинен в консоли

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select DayOfWeek from Win32_UTCTime") 'получить текущий день недели

For Each objItem in colItems
if objItem.DayOfWeek = 1 then 'если день недели понедельник


Set oShell = CreateObject("WScript.Shell")
oShell.Exec("\\server\prog.exe /key") 'запускаем прогу

Else

End if
Next
Else

End if
Автор: ymsssg
Дата сообщения: 15.11.2006 04:54
Кто-нибудь знает как сделать так чтобы перед запуском MS Outlook (или перед проверкой им почты) , специальный скрипт проверял работает ли основаная mx-запись домена на котором у нас почтовый аккаунт и если не работает (допустим канал упал и используется резервный) то прописывал бы в реестре в настройках MS Outlook (smtp и pop3) значения резервной mx-записи для данного домена.
Автор: Devil66
Дата сообщения: 15.11.2006 08:35
netman
Не работает так. Ошибка: Неуместное Next, строка:24, символ:3
Автор: netman
Дата сообщения: 15.11.2006 10:20
Devil66
Вот так будет точно ,проверил)

Код:
Set WSShell = WScript.CreateObject("WScript.Shell")
SessionName = WSShell.RegRead("HKCU\Volatile Environment\SESSIONNAME") 'прочитать системную переменную

if SessionName = "Console" then 'если юзер залогинен в консоли

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select DayOfWeek from Win32_UTCTime") 'получить текущий день недели

For Each objItem in colItems
if objItem.DayOfWeek = 3 then 'если день недели понедельник


Set oShell = CreateObject("WScript.Shell")
oShell.Exec("prog1.exe") 'запускаем прогу

Else

End if

if objItem.DayOfWeek = 4 then 'если день недели понедельник


Set oShell = CreateObject("WScript.Shell")
oShell.Exec("prog2.exe") 'запускаем прогу
else

End if

Next
Else

End if
Автор: rinrintaru
Дата сообщения: 17.11.2006 21:42
Народ, подскажите, плиз:
1. Где все-таки почитать про синтаксис для bat-ников. Для блондинок желательно =)
2. как написать такой скрипт:

есть куча папочек, в каждой папочке еще куча папочек, в них в каждой еще куча... и так 4 уровня дерева. В конечном итоге в каждой папочке - 1 файл *.jpg. Причем все файлы *.jpg называются одинаково

надо:
сохранить все файлы *.jpg в одну папку (копированием), соответственно под другими именами: перед расширением вместо названия файла ставится последняя часть пути этого файла - названия двух последних в пути директорий.

Т.е. если полный путь у нас E:\\123\45\67\89\pic.jpg, то название должно стать 67\89.jpg
Либо можно слэш заменить на дефис или подчеркивание - это не принципиально.

Помогите, плз, как это лучше сделать
Автор: Accessor
Дата сообщения: 20.11.2006 10:05
rinrintaru
если ты действительно хочешь научиться писать батники, то начни с того, что запусти ком.строку и дай там команду help. Получишь список команд, которыми ты будешь конструировать свои батники. Внимательно изучи полученный список команд для того, чтобы понять номенклатуру инструментов, которыми будешь оперировать. Вот, а потом по каждой команде можешь пройтись с параметром /?, почитать что они умеют и вперед. Начинай с простого, например, какая-то архивация, копирование полученного архива с проверкой записи и вывод уведомления, потом усложняй. С вопросами сюда...
Автор: Pivovar
Дата сообщения: 20.11.2006 23:11
Привет все Гениям на сайте. Помогите ради бога решить большушую проблему у самого наверное мозгов не хватает.

Как в батнике или VBS сделать такую феньку.

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

Что у меня получилось. службы останавливаються, а вот по очереди копирование не происходит - делается все сразу и выскакивают ошибки. Как сделать копирование с ожиданием окончания предыдущего процесса.

Очень буду признателен Вам!!!
Заранее благодарю.
Автор: iglezz
Дата сообщения: 20.11.2006 23:58
Pivovar
скрипта бы студию....

то что все сразу выполняется - это через start copy ..... ? и какие ошибки выскакивают?
Автор: netman
Дата сообщения: 21.11.2006 07:13
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
Автор: Pivovar
Дата сообщения: 21.11.2006 08:33
Не идет такая фишка.
Необходимо сделать все по порядку и что бы не забегало вперед каждое действие.

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

Вот какой план действий должен быть.
Но только что бы не нарушалась последовательность действий. т.е (6)-не запуститься если не доделается (5), и т.д
Автор: netman
Дата сообщения: 21.11.2006 09:32
Pivovar

Цитата:

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

ну так поставь в шедулер на обоих серверах ,все можно сделать одним батником.
все что я написал подойдет кроме пункта 2,3
для 3 используй утилиту sleep из ресурскита
Автор: BasiL
Дата сообщения: 21.11.2006 09:41
незнаю, может кому то пригодится....
как то после продолжительной битвы на *nix надо было поглядеть ручками сеть под виндами, так долго не мог отделаться от ifconfig и traceroute.
В итоге по быстрому родил батнички (положить в system32)
[more=traceroute.cmd]
Код: tracert %1 %2 %3 %4
Автор: knyazru
Дата сообщения: 21.11.2006 10:55
подскажите что не так, следующий скрипт по моей задумке должен выводить количество 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
Автор: Accessor
Дата сообщения: 21.11.2006 16:23
knyazru
for %%f in (*.exe) do Set /A A=%A%+1
исправь на A=A+1
Автор: knyazru
Дата сообщения: 21.11.2006 17:51
Заработало!

А вот так не работает
Хотелось бы получить сообщения 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

Автор: Elroir
Дата сообщения: 21.11.2006 17:58
knyazru
После @echo off, на следующей строчке, напиши "setlocal enabledelayedexpansion".
А "Echo file № %A% %%f" замени на "Echo file № |A| %%f".
Автор: knyazru
Дата сообщения: 22.11.2006 05:22
Спасибо! То что надо!

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.