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

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

Автор: 01MDM
Дата сообщения: 07.04.2009 07:06
vvlad0000

start /?
Автор: Maza_Faka
Дата сообщения: 07.04.2009 08:07
ZenitFan

Цитата:
как средствами командной строки определить точный путь к папке профиля Firefox

Можно так:

Код:
@Echo off

For /F "Usebackq Tokens=*" %%A In (`Dir /B /A:D "%APPDATA%\Mozilla\Firefox\Profiles\*.default"`) Do Set ProfilePath="%APPDATA%\Mozilla\Firefox\Profiles\%%A"

Echo %ProfilePath%
Автор: HORiSi
Дата сообщения: 07.04.2009 08:55
Народ!
Как/чем настроить резервное копирование "Моих документов" с использованием 7zip исключая/включая файлы по маске и по расписанию?

С одной стороны, есть nnBackup и nnCron, но 1-й не знает 7zip - поэтому архив > 2 гб не распаковывается, 2-й имеет замечательную возность польностью скрыть запуск происходящего процесса, но работает только с администраторскими правами доступа.

Есть возможность запаковать *.cmd в exe посредством Quick Batch File Compiler и сделать запуск стандартным планировщиком Windows. Но? что должнобыть в этом самом cmd? или можть прога какая уже есть
Автор: storm2005
Дата сообщения: 07.04.2009 11:05
Работа с com портом

Необходимо работать с модемом посредством AT команд.
Наткнулся на то, что можно работать через гипертерминал. Также в инете много разных альтернативных программ.
Но меня прежде всего интересует можно ли обойтись стандартными методами ввода команд? Например как в линуксе перенаправлять поток на определенное стандартное устройство. Нельзя ли это сделать как нибудь через команды cmd?
Или что то более серьезное типа WMI или Power Shell?

Основная идея состоит в том, чтоб можно было проверить состояние счета. Данные переданные com портом скинуть в файл. Обработать файл и при наличии определенной информации дать команду на пополнение счета.
Автор: Nuke142
Дата сообщения: 07.04.2009 23:55
Подскажите пжалста.
Нужно как-то сделать чтобы отсюда http://devbuilds.kaspersky-labs.com/devbuilds/AVPTool/
можно было себе на комп скачивать файлы через батник. Проблема в том что тамошняя ссылка на скачку ексешника генерится по нескольку раз в день с разными названиями файла.
Автор: ATS2000
Дата сообщения: 08.04.2009 03:23
Набросал скриптик, который мониторит конкретный хост на доступность и пишет лог в файл.


Цитата:

@echo off
:: Пингуемый IP-адрес
set IP=10.2.236.210

:LOOP

ping %IP% |find /i "TTL=">nul

if %errorlevel%==0 (

echo %date% %time%    %IP% pinging >>%IP%.txt

) else (
echo %date% %time%    %IP% not pinging >>%IP%.txt
)
goto LOOP


Подскажите:

1. Как мониторить сразу несколько хостов и передавать их списком из файла? Наверное в цикле надо делать?

2. Если мониторится сразу несколько хостов, то создать папку для каждого,в которую писать логи с именем текущей даты. Например для хоста 10.2.236.210 создаётся папка 10.2.236.210, в которую пишутся логи с именами текущей даты 08.04.2009.log, 09.04.2009.log и т.д. Т.е. скрипт работает непрерывно и в зависимости от текущей даты создаёт нужные лог-файлы.

Автор: Igor_V_Mitichev
Дата сообщения: 08.04.2009 08:13
Граждане, главным образом, вопрос не столько в программировании командного файла, сколько в наличии собственно команды. Задача заключается в том, чтобы поднимать/гасить ppoe/vpn соединение из скрипта. Сами соединения созданы, настроены, пароли сохранены. Можно как-то обойтись без кликания мышкой на соответствующих значках в "сетевых подключениях"?
Автор: Maza_Faka
Дата сообщения: 08.04.2009 08:16
ATS2000

Цитата:
1. Как мониторить сразу несколько хостов и передавать их списком из файла? Наверное в цикле надо делать?


Код:
For /?
Автор: Joo1z
Дата сообщения: 08.04.2009 09:33
01MDM
На счет календарика вопросы возникли...
Что это за конструкция?
%exec:,=^,%
Замена запятых? Чем?
И вот это я не разумею:
set /a CheckLeap=Year%%4
Автор: 01MDM
Дата сообщения: 08.04.2009 09:50
Joo1z

Цитата:
Что это за конструкция?
%exec:,=^,%


Просто при запуске команды wmic в цикле необходимо экранировать запятые, поэтому чтобы не прописывать все "^," в самой команде, я заменил все "," на "^," в переменной %exec%


Цитата:
И вот это я не разумею:
set /a CheckLeap=Year%%4


Здесь определяется сколко в феврале дней. Переменная %CheckLeap% это результат вычисления остатка от деления текущего года на 4 ( в батнике необходимо экранировать "%" добавочным "%" ). Если остается 0, то год високосный и в феврале 29 дней.

Автор: Joo1z
Дата сообщения: 08.04.2009 10:46
Ага, в обоих случая экранирование....
Необходимость экранирования запятых чем вызвана? Я вижу что без экранирования не работает, но не понимаю почему.
А на счет того, что % в алгебраических выражениях - это остаток от деления, не знал.
Автор: 01MDM
Дата сообщения: 08.04.2009 11:34
Joo1z

Цитата:
Необходимость экранирования запятых чем вызвана?


Больше проверить не на чем (не могу придумать команду с запятыми) , но наверное for воспринимает запятые, как разделители.
Автор: TreaNT
Дата сообщения: 08.04.2009 12:26
Помогите с помощью батника создать большое количество файлов в 1 директории:
1: количество файлов 500000;
2: имя уникальное для каждого файла;
2: размер не важен (но не более 4Kb)
3: контент файлов различный для каждого файла. Я предполагаю это просто текст (имя файла+время создания+рандомное чило(можно и без него, добавил для размера файла)).

Буду очень благодарен за помощь.
Автор: Maza_Faka
Дата сообщения: 08.04.2009 13:01
TreaNT
Попробуйте так:

Код:
@Echo off

For /L %%A In (1,1,500000) Do Call :_CreateProc %%A
GoTo :EOF

:_CreateProc
Echo %1-%DATE%-%TIME%-%RANDOM%>%RANDOM%.txt
Автор: Joo1z
Дата сообщения: 08.04.2009 14:36
Maza_Faka
Как я понимаю переменная Random имеет тип integer, т.е. ограничена значением в 32767, что не подойдет для создания 500 тыс. файлов с уникальными именами, в данним случае проще использовать в качестве имени файла переменную %1 (она же %%a), но тогда имена будут по-порядку от 1 до 500000. Можно еще имя файла создавать из двух переменных random, получится %random%%random%.txt

Как-то пол-миллиона файлов - это жестоко.
Немного пошизовался - изобрел такой велосипед:

Код: @Echo off
setlocal
For /L %%A In (1,1,50) Do call :Abz
For /f %%b In (fname.txt) do Echo %DATE%-%TIME%-%RANDOM%-%%b>%%b.txt
goto :EOF

:Abz
echo %RANDOM%%random%%Random% | sed.exe s/26/z/g;s/25/y/g;s/24/x/g;s/23/w/g;s/22/v/g;s/21/u/g;s/20/t/g;s/19/s/g;s/18/r/g;s/17/q/g;s/16/p/g;s/15/o/g;s/14/n/g;s/13/m/g;s/12/l/g;s/11/k/g;s/10/j/g;s/9/i/g;s/8/h/g;s/7/g/g;s/6/f/g;s/5/e/g;s/4/d/g;s/3/c/g;s/2/b/g;s/1/a/g >>fname.txt
Автор: ruslanxxx
Дата сообщения: 08.04.2009 22:01
Нужен скрипт - батник для чистки system eventlog (Event Viewer) !!??
Автор: Nagual
Дата сообщения: 08.04.2009 23:08
TreaNT
вариант просмотра

Код:
@echo off
for /l %%a in (1,1,500000) do (set a=%%a&call:1)
goto:eof
:1
set
r=%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%
echo %r%
.txt +%time% + (%r%) %a% %r%.txt
:: echo %r%.txt +%time% + (%r%) %a% >%r%.txt

для работы снять с предохранителя коментарий
Автор: 01MDM
Дата сообщения: 08.04.2009 23:55
TreaNT

Еще вариант:

Код:
@echo off
setlocal

for /l %%i in (1,1,25000) do (
for %%j in (q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z) do call:1 %%j
)
goto:eof

:1
set t=%time::=%
set t=%t:,=%
set n=%1%t%
echo %n: =%
::echo %DATE%-%TIME% 1>%n: =%.txt
Автор: Maza_Faka
Дата сообщения: 09.04.2009 06:49
ruslanxxx

Цитата:
Нужен скрипт - батник для чистки system eventlog (Event Viewer)

Бэкап и очистка журналов Event Log
Автор: Serhi_84
Дата сообщения: 09.04.2009 07:10
Всех приветствую. Возникли вопросы по паре задач, может кто чем поможет.

1) Есть две папки, предположим 1 и 2. В папки скидываются файлы с ежедневными бэкапами (bk-1, bk-2, ...bk-7), причем в папку 1 - по четным неделям, в папку 2 - по нечетным неделям. Вопрос - как в батнике осуществить проверку недели на четность? Сейчас просто в шедулере сделал 2 таска, но хочется, чтобы все было в одном файле. Как вариант - сравнивать 2 файла текущего дня и смотрим который файл старее, его и перезаписываем. Как из двух файлов файлов выявить более старый и вывести путь к этому файлу?

2) Хочу сделать перемещение файлов из папки по заданному месяцу, то есть аналог команды mv с указанием месяца в виде параметра (например mv /path1 /path2 12). Rfr 'nj jceotcndbnm&

Заранее спасибо ,пока сам еще буду мучаться)
Автор: 01MDM
Дата сообщения: 09.04.2009 08:55
Serhi_84

Цитата:
Вопрос - как в батнике осуществить проверку недели на четность?



Код:
@echo off
for /f %%i in ('wmic path win32_LocalTime get WeekInMonth') do set "num=%%i"
set /a check=num%%2
if not %check%==1 (echo even week) else (echo odd week)
Автор: alexander6161
Дата сообщения: 09.04.2009 09:15
vvlad0000

Цитата:
Может подскажет кто: при вызове из bat-файла какого-либо *.exe, окно консоли висит до тех пор, пока этот самый *.exe не завершится. Система - WinXP SP3. На Win2K, как я помню, такого не было.
Как заставить bat не ждать завершения вызванного из него приложения?

start "" notepad.exe
Автор: glazkoff
Дата сообщения: 09.04.2009 09:59
Здравствуйте. Сразу извинюсь за элементарный вопрос, но решение никак не удается найти.
Задача следующая.
Есть файл от содержимого которого зависят дальнейшие действия. Анализирую файл командой "grep" и дальше нужно написать условие. Если есть вхождение - действуем так, нет - действуем иначе. Перепробовал кучу вариантов (читаю хелп и пробую, опыта нет) и ничего не получается.
Автор: Maza_Faka
Дата сообщения: 09.04.2009 11:44
glazkoff

Цитата:
Анализирую файл командой "grep"

Команды: Find; Findstr не подходят? Что конкретно ищется?
Автор: andy66ru
Дата сообщения: 09.04.2009 12:10
Автор: 01MDM
Дата сообщения: 09.04.2009 12:15
glazkoff
Исходя из того что нам известно:

Код:
grep "условие поиска" "Путь\к\файлу" && соответствие || поиск не дал результата
Автор: batniki
Дата сообщения: 09.04.2009 23:02
Как переменной присвоить результат работы reg query?
Автор: 01MDM
Дата сообщения: 09.04.2009 23:41
batniki

Например так, как частный пример:

Код:
@echo off
for /f "tokens=3*" %%i in ('reg query hkcu\environment /v tmp') do set "value=%%i %%j"
echo %value%
Автор: CMD
Дата сообщения: 10.04.2009 08:31
В справке Windows написано что в команде route delete можно использовать подстановочные знаки, пишу "route delete 10.*", результат - "Сбой удаления маршрута: Параметр задан неверно.", хотя постоянные маршруты с точкой назначения 10.* имеются. Что неправильно делаю? Работает только "route delete *" или когда полностью указываю точку назначения.
Автор: sfinx26
Дата сообщения: 10.04.2009 10:33
Имеется код
Код: tasklist /fi "imagename eq 111.exe"
%errorlevel%
if "%errorlevel%" =="0" goto :ILL
goto IF_END
:ILL taskkill /fi "imagename eq 111.exe"
:IF_END command

exit

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: как сохранить сетевые настройки


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