Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 7

Автор: mugil_cephalus
Дата сообщения: 21.10.2009 13:12
olemel

Цитата:
мне нужно создать соединения, а не запускать уже готовое соединение, запускать будут пользователи.

посмотри (может что найдешь) http://www.robvanderwoude.com/index.html
Автор: Joo1z
Дата сообщения: 21.10.2009 13:13
slay1212
Все возможно. Временно создаешь файл куда скидываешь нужные настройки введенные с консоли, а потом переименовываешь его в исходный. А обработку делаешь из IF и SET.


Код: IF %param1% NOT EQL "Желаемое значение" (
ECHO Введите желаемое значение
SET /p %param1%=
)
Автор: slay1212
Дата сообщения: 21.10.2009 15:38
Joo1z
Спасибо. Только нюанс - если 20 параметров надо будет 20 раз ентер долбить ( ну если в цикле вывод делать)? Мож, проще notepad.exe setting.ini ?
Автор: Joo1z
Дата сообщения: 21.10.2009 15:54
slay1212

Если бы была конкретика, можно было бы и оптимизировать. Если все 20 параметров типа ENABLED|DISABLED или ON|OFF - это одно, если каждый параметр имеет свои характеристики - это другое.
Автор: slay1212
Дата сообщения: 21.10.2009 16:13
Joo1z
Не я про то что если в цикл поставить set /p %param%= "Введите параметр", то на каждой переменной будет ожидание ее ввода ? Те править их можно только последовательно, нельзя изменить например только 3 и 5?
Автор: Karrakurt
Дата сообщения: 21.10.2009 20:41
2 Elroir и Joo1z
Вот благодарствую, а то я все мозги себе запарил, что да как =)
Так то я знал что есть подобные тонкости, но как использовать понятия не имел...
Автор: alexcoolmagic
Дата сообщения: 21.10.2009 22:27
подскажите, как использовать символ % в значении переменной?

например, s присвоить "%SS%"

так не получается:

set s="^%SS^%"


пока получилось только так:
set ss=SS
set s="%%%SS%%%"
Автор: sysadminus
Дата сообщения: 22.10.2009 08:18
Добрый День!
Есть задача:

При входе локальная станция должна проверить наличие более свежих файлов в сетевой папке \\dc3\temp, если есть более свежие файлы, то программа должна их перезаписать к себе на компьютер, согласно пути: с:\program files\megat, если свежих файлов нет, то программа должна просто закрыться.

Операционная система на машинах: Windows xp sp3 ru

Заранее спасибо.
Автор: Joo1z
Дата сообщения: 22.10.2009 09:13
slay1212
Ну, какой параметр обрабатывать это можно задавать как параметр при запуске батника или вывести на экран весь список и предложить ввести номер редактируемого параметра.

Попробуй что-то типа этого:

Код:
@echo off
setlocal enabledelayedexpansion
set settingsfile=1.ini

for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do set /a count=!count!+1 & @echo !count! %%i=%%j

echo Введите номер редактируемого параметра:
set /p editparam=

echo Введите значение параметра
set /p editparamvalue=

for /f "delims== tokens=1,2" %%s in ('sed -n %editparam%p %SETTINGSFILE%') do sed s/%%t/%editparamvalue%/ %SETTINGSFILE% >>temp.ini
Автор: mugil_cephalus
Дата сообщения: 22.10.2009 09:18
alexcoolmagic
set s=%%ss%%

или

set "s=%%ss%%"
Автор: mugil_cephalus
Дата сообщения: 22.10.2009 17:09
olemel

Цитата:
мне нужно создать соединения,

для создания - netsh interface ip set address name=dialup1 ... (аналогично - netsh interface ip set address name="Подключение по локальной сети")

Цитата:
а не запускать уже готовое соединение, запускать будут пользователи

для запуска - rasdial
Автор: VisioNRU
Дата сообщения: 22.10.2009 17:56
Доброго времени суток!! Прошу прощения, но найти в 7 частях данной темы уже очень проблематично, да и поиск не дал результатов.
Задача следующая, возможно она не столько для bat-сценария но все же..хочется нажать кнопку и чтоб машина за тебя работала.
есть Win XP (eng) embedded. никакого софта кроме Winrar нет.
задача:

1. Установить в настройках даты и времени:
- часовой пояс +5 (ekaterinburg),
- определенный IP-адрес (например 1.1.1.1);
- для синхронизации времени, соответственно галочка для синхронизации тоже должна стоять.
2. В настройках дисплея:
- отключить ScreenSaver
- в Customize desktop:
- показывать след значки на рабочем столе My Computer, My network places
- убрать галку Run Desctop clean...
3. В региональных настройках:
- выбрать Русский в двух местах.
- поставить галку Apply to default profile.....
4. В security center:
- в Change the way Security Center alerts me убрать notifications для всех типов оповещений (убрать все три галки)
5. В Windows FireWall:
- включить Firewall
- во вкладке Advanced-> Secure Logging поставить обе галочки.

Спасибо заранее. буду благодарен любым крохам информации.

Автор: king_stiven
Дата сообщения: 23.10.2009 06:34

Цитата:
хочется нажать кнопку и чтоб машина за тебя работала

Золотые слова! Но задача не для батника, разве некоторые утилитки через батник.
Автор: king_stiven
Дата сообщения: 23.10.2009 10:16
через rundll32, nircmd, nncron некоторые окошки можно вызвать а уж галки проставить ручками. Команда Reg поможет напрмую в реестр прописать.
Автор: VisioNRU
Дата сообщения: 23.10.2009 19:06
пока видится такой вариант:
регмоном отыскивать изменения в реестре, и затем батником либо дописывать либо импортировать регфайлы
Автор: Black Gate
Дата сообщения: 24.10.2009 10:41
Добрый день!
Помогите написать бат файл. В Win 7 есть виртуальный диск (VHD).Нужно его смонтировать с помощью diskpart. Пробовал вот так:
@echo off
echo select vdisk file=c:\xxx.vhd | diskpart
echo attach vdisk | diskpart

диск выбирает, но не монтирует.
Автор: 01MDM
Дата сообщения: 24.10.2009 10:54
Black Gate
У тебя не получается потому, что ты передаешь команды в разные сессии diskpart, выполняя вторую команду, он уже ничего не помнит о первой. Попробуй так:

Код:
@echo off
1>diskpart.txt (
echo select vdisk file=c:\xxx.vhd
echo attach vdisk
echo exit
)
diskpart /s diskpart.txt
del diskpart.txt
Автор: Black Gate
Дата сообщения: 24.10.2009 11:55
Спасибо за помощь .Всё заработало!
Автор: mugil_cephalus
Дата сообщения: 24.10.2009 13:10
01MDM

Цитата:
1>diskpart.txt (
echo select vdisk file=c:\xxx.vhd
echo attach vdisk
echo exit
)

в bat'e должно быть так как выше или:
1>diskpart.txt (echo select vdisk file=c:\xxx.vhd echo attach vdisk echo exit)
во втором случае: тогда почему нет амперсанда между echo?

P.S.
глянь, если не внапряг, мой меседж http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=1060#21 (может сталкивался с чем-то подобным, - просто я не сисадминю)
Автор: 01MDM
Дата сообщения: 24.10.2009 16:20
mugil_cephalus

По поводу анимации в бат-файлах ничего не могу сказать. За исключением того, что есть программы, которые могут сконвертировать видео в ancii. В частности mplayer под linux (если есть libcoco и если не ошибаюсь) может сделать вывод в знаковом формате. Если вы что-то где-то видели, то скорее всего надо писать программу, способную вывести в консоль видео в данном стандарте. Возможность "аниме" путем `cls`-`новый кадр` не рассматриваю, но в принципе возможно.

Цитата:
просто я не сисадминю

А здесь что сисадмины живут? Я даже близко не подходил.
Автор: mugil_cephalus
Дата сообщения: 24.10.2009 17:10
01MDM

Цитата:
А здесь что сисадмины живут? Я даже близко не подходил.

я предполагал - сисадмины/айтишники и любители/самоучки (хобби) - я же не то , не другое.. (не рыба, не мясо )

Цитата:
По поводу анимации в бат-файлах ничего не могу сказать. За исключением того, что есть программы, которые могут сконвертировать видео в ancii. В частности mplayer под linux может сделать вывод в знаковом формате. Если вы что-то где-то видели, то скорее всего надо писать программу, способную вывести в консоль видео в данном стандарте.

не, мне это "до лампочки"

Цитата:
Возможность "аниме" путем `cls`-`новый кадр` не рассматриваю, но в принципе возможно.

я этого нигде не встречал, но просто в голову пришла идея - теоретически можно же любое изображение (символьно-графическое), которое способно отразить echo'om (технологически, схоже - как рисованный вручную мультфильм - покадрово или пластилиновый мульт.) - при помощи cls и зацикливания - превратить в подвижное (вот и написал для примера маленький скрипт - чтоб пояснить свою мысль для наглядности) Тот же file_id.diz можно анимировать. Или messages для user'a. Или любой заголовок у bat-crack'ov. Вот и стало любопытно, может у кого опыта компьютерного много (кто многое повидал ) встречался с таким. Я, конечно же, поленюсь писать такую анимацию, - это ж как в рисованном мультфильме изображать по 1000 рисунков с одним-двумя изменениями для 1-2 секунд просмотра, а хакеры - люди тщеславные - может и не поленятся... Да и те же програмисты, кто наряду с производительностью, любят и выразительность, типа:
:Syntax
ECHO DateDiff.bat, Version 1.10 for Windows NT 4 / 2000 / XP / Server 2003 / Vista
ECHO Calculate the difference (in days) between two dates
ECHO.
ECHO Usage: DATEDIFF date [ date ]
ECHO.
ECHO Where: "date" is a "normal" Gregorian date in the local computer's format;
ECHO if no second date is specified, today is assumed
ECHO.
ECHO Julian date conversion based on Fliegel-Van Flandern algorithms from
ECHO the Astronomical Almanac, provided by Doctor Fenton on the Math Forum
ECHO (http://mathforum.org/library/drmath/view/51907.html), and converted
ECHO to batch code by Ron Bakowski.
ECHO Bug found by and converted with help from Alexander Shapiro.
ECHO.
ECHO Written by Rob van der Woude
ECHO http://www.robvanderwoude.com

или

-============================================================-

S$$$$$Ss. Ss. .sS
$$$ $$$ ІІ$$$ІІ $$$
.sS$$$$S $$$ $$$ .sS$$$$S $$$ .sS$$$$Ss $$$.sS$Ss
$$$ $$$ $$$ $$$ $$$ $$$ SІ' $$$ `$$$
sS$Ss.$$$ $$$.sSSІ'sS$Ss.$$$ $$$ $$$ $$$ $$$
$$$' $$$ $$$ $$$' $$$ $$$ $$$ $$$ $$$
$$$ $$$ $$$ $$$ $$$ $$$ $$$ gS$ $$$ $$$
S$$Ss.$І' `ІS S$$Ss.$І' `ІS S$$.sSSІ' SІ' `ІS
Aug'04 CW2K
--[ Windows 2003 & XP WPA-Patch 1.6 ]--

For people who don't like begging Mircosoft
for activating their Windows.

-============================================================-

- я, конечно же не говорю про анимирование мини-мульта, но скачущий по экрану author name или author URL, да не в GUI, не в скомпилированном *.exe, а в обычном консольном окне на лузера, думаю, произведет эффект (это работы ж на 5 мин.: с десяток echo и cls, зацикливание и count)

Резюмируя, вот и любопытно - в теории - хоть "Про пластилиновую ворону" можно за полгода соскриптить в батник, а

Цитата:
но скачущий по экрану author name или author URL, да не в GUI, не в скомпилированном *.exe, а в обычном консольном окне на лузера, думаю, произведет эффект (это работы ж на 5 мин.: с десяток echo и cls, зацикливание и count)
- как говориться in the wild (если не ошибаюсь) встречается???
Автор: graphruboard
Дата сообщения: 24.10.2009 17:11
Каким образом посчитать количество символов в строке в bat-файле?
Автор: DrSqaer
Дата сообщения: 24.10.2009 17:45
Доброго времени суток, почему так тормозит команндная строка? Тупая команда ping localhost отжирает 50% проца и выполняется как минимум секунд 20.
Windows 7 64bit
Автор: 01MDM
Дата сообщения: 24.10.2009 17:49
mugil_cephalus
Это скорее вопрос к людям с художественными наклонностями. У меня дружок за пару, ручкой, по памяти, рисовал храм Христа Спасителя.


Цитата:
Каким образом посчитать количество символов в строке в bat-файле?

Поскольку в бат-файлах отсутствуют свойства и методы, то придется считать на пальцах:

Код:
@echo off
setlocal
set "string=some string"
1>string.tmp 0>nul set /p="%string%"
for %%i in (string.tmp) do echo %%~zi
del string.tmp
Автор: NIKZZZZ
Дата сообщения: 24.10.2009 18:03
01MDM

Цитата:
Возможность "аниме" путем `cls`-`новый кадр` не рассматриваю

Ну, это не сосем то.
Получить "аниме" можно выбрасывая управляющие коды, обновляя только то, что нужно.
Для вывода можно использовать Sbs2.com, которая позволяет заменить любую последовательность символов на другую (не ASC символы поддержаны)

Пример Echo без перевода строк:

Код: @echo off

echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sbs2.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU!WvX0GwUY Wv;ovBX2Gv0ExGIuht6>>sbs2.com
echo ?@}IKuNWpe~Fpe?FNHlF?wGMECIQqo{Ox{T?kPv@jeoSeIlRFD@{AyEKj@>>sbs2.com
echo iqe~1NeAyR?mHAG~BGRgB{~H?o~TsdgCYqe?HR~upkpBG?~slJBCyA?@xA>>sbs2.com
echo LZp{xq`Cs?H[C_vHDyB?Hos@QslFA@wQ~~x}viH}`LYNBGyA?@xAB?sUq`>>sbs2.com
echo LRy@PwtCYQEuFK@A~BxPtDss@fFqjVmzD@qBEOEenU?`eHHeBCMs?FExep>>sbs2.com
echo LHsPBGyA?@xAunjzA}EKNs@CA?wQpQpKLBHv?s`WJ`LRCYyIWMJaejCksl>>sbs2.com
echo H[GyFGhHBwHZjjHeoFasuFUJeHeB?OsQH[xeHCPvqFj@oq@eNc?~}Nu??O>>sbs2.com
echo ~oEwoAjBKs?Zp`LBzHQzyEFrAWAG{EFrAqAGYwHTECIQ{coKIsaCsf{Oe~>>sbs2.com
echo CK}Ayre~CNFA{rAyEKFACrA{EKGAjbA}eKGSjNMtQFtc{OAyDGFj?{FDGQ>>sbs2.com
echo KAjNVk_OCAx@e?f{o?CosI}1EGizhljJ~H1ZeG}JBA~rACBMDGjjDG@g0>>sbs2.com

Echo 123|sbs2.com 0 "$0d$0a" ""
Echo 345|sbs2.com 0 "$0d$0a" ""

pause
Автор: mugil_cephalus
Дата сообщения: 24.10.2009 18:18
01MDM

Цитата:
1>diskpart.txt (
echo select vdisk file=c:\xxx.vhd
echo attach vdisk
echo exit
)

в bat'e должно быть так как выше или:
1>diskpart.txt (echo select vdisk file=c:\xxx.vhd echo attach vdisk echo exit) - одной строкой
во втором случае: тогда почему нет амперсанда между echo?

я с синтаксисом так и не понял: можно сгруппированные скобками () команды разделять на нескольео строк или это софт форума так отредактировал скрипт (как с пробелами на конце строк)??

Добавлено:
NIKZZZZ

Цитата:
Резюмируя, вот и любопытно - в теории - хоть "Про пластилиновую ворону" можно за полгода соскриптить в батник, а

Цитата:но скачущий по экрану author name или author URL, да не в GUI, не в скомпилированном *.exe, а в обычном консольном окне на лузера, думаю, произведет эффект (это работы ж на 5 мин.: с десяток echo и cls, зацикливание и count)
- как говориться in the wild (если не ошибаюсь) встречается???
- это моя цитата выше. А ты "в дикой природе" встречал подобные батники??...
Автор: 01MDM
Дата сообщения: 24.10.2009 18:30
NIKZZZZ
Еще есть ansicon.exe. Которая позволяет в консоли выполнять esc-последовательности, в том числе и забой символа. У меня дюжина батников с ее использованием, пример:




Добавлено:
mugil_cephalus
Нет, не одной строкой, просто можно сгруппировать `echo' и вывести все разом в файл:

Код:

1>1.txt (
echo 1
echo 2
)

Или

(
echo 1
echo 2
) >1.txt
Автор: VisioNRU
Дата сообщения: 24.10.2009 18:57
приветвую ВАС!
задачка такая.

необходимо проверить нумерацию Com-портов. если она не по порядку то переименовать в com1, com2 и тд.
заранее спасибо
Автор: mugil_cephalus
Дата сообщения: 24.10.2009 19:49
VisioNRU
а какой вывод у команды c:\>mode у тебя?
Автор: VisioNRU
Дата сообщения: 24.10.2009 22:00
дело в том что это необходимо будет делать на др. компах..у меня laptop тут вообще ком-портов нету. ну а так выводит:
Status for device con:
-------------------------
Lines: 300
Columns: 80
Keyboard rate: 31
Keyboard delay: 1
codepage: 866

=) в

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


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