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

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

Автор: ruslanjuve
Дата сообщения: 06.10.2008 18:36
kak v cmd opredelit startup folder - dlya rus i eng versii windowsa (u menea tak : C:\Documents and Settings\Ruslan!\Start Menu\Programs\Startup = %userprofile%\Start Menu\Programs\Startup) a kak v ruskoi versii windows-a ? mojno kakato avto opredilenie zdelati ili drugie varianti ?!
Автор: SoAlDm
Дата сообщения: 06.10.2008 23:31
Здравствуйте ))
Читал, читал эту тему может, конечно и пропустил решение, а может такого и небыло.
Очень нужно решить, очень желательно средствами батника вот такую проблему/задачу.
На компе (Win XP) запускается планировщиком задач программа (плеер Виндовс Медиа Классик с параметрами комстроки) отдельным батником по расписанию (при включении компа) и играет указанный в параметрах комстроки плейлист.
Потом, через какое-то время этот плеер "виснет" и не "отвечает на запросы".

Очень бы хотелось, к примеру также планировщиком задач, запускать через какие-то промежутки времени батник, который:
- проверял запущен ли процесс плеера Виндовс Медиа Классик;
- если "да", проверял рабочий ли он, "живой";
- если "живой" - то все нормально, батник закрывается.
- если "завис" - убивает этот процесс и запускает вот тот первоначальный батник снова;
- если "не запущен" (может и такое получится, кто его знает) то запускает вот тот первоначальный батник снова;

Вот такая, измучившая проблема.
Спасибо заранее за внимание.
Автор: Nagual
Дата сообщения: 07.10.2008 00:25
SoAlDm
/topic.cgi?forum=62&topic=13556&start=1560#10 RTFM
Автор: Elroir
Дата сообщения: 07.10.2008 01:52
Nagual
Насколько я понимаю, здесь проблема состоит не в том, чтобы запустить планировщиком, а в том, как проверить батником - жив ли процесс.
Автор: Nagual
Дата сообщения: 07.10.2008 02:08
Elroir
так можно проверять загрузку процесса планировщиком и, исходя из этого, выполнять действия
а если речь идёт о сценарии, то недавно его, если не ошибаюсь, ты и приводил
Автор: Elroir
Дата сообщения: 07.10.2008 02:15
Nagual
"Жив" - не равно "загружен в оперативную память". Как можно понять "висит" процесс или нет?
Автор: Antdik
Дата сообщения: 07.10.2008 08:43
Здравствуйте! Помогите решить задачу. Есть программа, которая каждый день создает папку формата E:\report\DD_MM_YYYY и в нее пишет файлы отчетов. Необходимо при помощи батника делать копию папки с текущей датой на удаленный комп. Переделать формат имени папки нельзя.
Автор: KapralBel
Дата сообщения: 07.10.2008 08:47
Antdik
батник будет запускаться в тот же день, или на следующий, что бы обработать все содержимое папки
Автор: Antdik
Дата сообщения: 07.10.2008 08:54
Батник будет запускаться по шедулеру в конце раб дня и копировать отчеты на комп шефа
Автор: Solenaja
Дата сообщения: 07.10.2008 08:59
Nagual
тебе нужен nnCron, это лучшее, что есть из планировщиков

Antdik
для этого есть спец. программы резервного копирования со встроенным планировщиком
http://forum.ru-board.com/topic.cgi?forum=5&topic=0111&start=820#lt
а под сервером вообще встроенная утилита
Автор: KapralBel
Дата сообщения: 07.10.2008 09:03
Antdik
Считаю что краткий формат даты на компе ДД.ММ.ГГГГ

Код: @Echo Off
Set Folder=E:\Report\%Date:.=_%
Copy %Folder%\*.* \\BigBoss\Report\
Автор: dimpase
Дата сообщения: 07.10.2008 09:06
HELP!!!
Помогите плиз!
Как можно средствами батника добавлять значения в тело HTML документа из текстового редактора.Пробывал это сделать следующим способом:

Код: setlocal
chcp 1251 1>nul

for /f "tokens=2 delims=>" %%i in ('type 1.html ^| findstr /I "ID=1.1"') do set "field_2=%%i"
for /f "tokens=2 delims=>" %%i in ('type 1.txt ^| findstr /I "ID=1.1."') do set "field_3=%%i"
gsar -s"<TD ID=1.1>%field_2%" -r"<TD ID=1.1>%field_3%" -o 1.html
pause
Автор: Antdik
Дата сообщения: 07.10.2008 09:07
Solenaja
Это не резервное копирование. У шефа стоит программа позволяющая просматривать и работать с отчетами. А что за серверная утилита?
Автор: king_stiven
Дата сообщения: 07.10.2008 09:08
Solenaja
В шапке

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

Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.

Автор: dimpase
Дата сообщения: 07.10.2008 09:10
Или чтобы он Брал
<!---<TD ID=1.1>906</TD>--->
допустим из другого тектового файла и вставлял в тело таблицы
Автор: Solenaja
Дата сообщения: 07.10.2008 09:11
Antdik
на пред странице линк на резевирование
а утилита эта NTBackup, которая в принципе и в XP тоже работает
Автор: tigran_astranet
Дата сообщения: 07.10.2008 09:12
Приветствую всех!

У меня следующая проблемка:

При выполнении команды "rman target /" я получаю 2 оракловских файла 01JSFLP4_1_1 и 02JSFLP4_1_1 и затем их копирую в свою папку. например, c:\Backup\oracle_last_transaktion,

вот как это выглядит:

chdir /d c:
mkdir c:\Backup\oracle_last_transaktion\
rman target / < commands.txt
xcopy "C:\oracle\ora92\database\" "\Backup\oracle_last_transaktion\" /s /Y /e

но запустив этот скрипт через несколько дней я получу файлы 03JSFLP4_1_1 и 04JSFLP4_1_1, но уже с другой датой. Как мне скопировать только эти файлы: 03JSFLP4_1_1 и 04JSFLP4_1_1, ведь в оракловской папке лежит:
01JSFLP4_1_1;
02JSFLP4_1_1;
03JSFLP4_1_1;
04JSFLP4_1_1;

То есть я хочу копировать только файлы с текущей датой создания. Пробовал через xcopy указывал ключ /d, но это не помогло. Подскажите, пожалуйста, как это можно сделать.
Автор: dimpase
Дата сообщения: 07.10.2008 09:22
tigran_astranet
При использовании команды xcopy с ключом /D
будут переписаны файлы а не скопированы, поэтому тебе и не помогло.
А тебе надо чтоб имена файлов остались теже?

Автор: Solenaja
Дата сообщения: 07.10.2008 09:30
king_stiven
точно - склероз! без пробелов работает. спасибо.
есть только мелкая поправка, но это бок с моей стороны:
если группа называется 09-1-3-04
а входящие в неё
09-1-3-4-01
09-1-3-4-02
09-1-3-4-03

создается папка 09-1-3-4 и в неё кидается
09-1-3-4-01
09-1-3-4-02
09-1-3-4-03
что есть правильно
а 09-1-3-04 остается в корне просто висеть
в принципе это даже и лучше тк видно, где неправильная сортировка

[more]как видно сортировка немного неправильная
09-1-3
09-1-3-04
09-1-3-1
09-1-3-1-1
09-1-3-1-2
09-1-3-1-3
09-1-3-1-4
09-1-3-1-5
09-1-3-1-6
09-1-3-1-7
09-1-3-2
09-1-3-2-1
09-1-3-2-2
09-1-3-2-3
09-1-3-2-4
09-1-3-2-5
09-1-3-2-6
09-1-3-3
09-1-3-3-1
09-1-3-3-2
09-1-3-3-3
09-1-3-3-4
09-1-3-4-01
09-1-3-4-02
09-1-3-4-03
09-1-3-4-04
09-1-3-4-06
09-1-3-4-07
09-1-3-4-08
09-1-3-4-09
09-1-3-4-10
09-1-3-4-11
09-1-3-4-12
09-1-3-4-13
09-1-3-4-14
09-1-3-4-15
09-1-3-4-16
09-1-3-4-17
09-1-3-4-18 [/more]
Автор: avkorets
Дата сообщения: 07.10.2008 10:32
Задача уже обсуждалась, но возникла необходимость немного модифицировать бантник.
Повторю задачу.
в файлах необходимо было поменять местами определенное значение.
содержимое файла:
06.09.2008;00:12:37;000001;xxxxxxxx;;yyyyyy/yyyyyyyyy;;xxxx;;;xxx;xxxx
06.09.2008;02:40:01;000002;xxxxxxxx;;yyyyyy/yyyyyyyyy;;xxxx;;;xxx;xxxx
выходной файл:
06.09.2008;00:12:37;000001;xxxxxxxx;;;;xxxx;;yyyyyy/yyyyyyyyy;xxx;xxxx
06.09.2008;02:40:01;000002;xxxxxxxx;;;;xxxx;;yyyyyy/yyyyyyyyy;xxx;xxxx
Вот такое решение получилось(файл не один)

Цитата:
@echo off
setlocal enabledelayedexpansion
for %%i in (*.txt) do (
set /p firstline=<%%i
echo !firstline!>> 1.tmp
for /f "skip=1 tokens=1-8 delims=;" %%a in (%%i) do (
echo %%a;%%b;%%c;%%d;;;;%%f;;%%e;%%g;%%h>> 1.tmp
)
move /y 1.tmp %%i
)

Усложнение заключается в том, что появились строки такого типа:
06.09.2008;03:36:08;000004;;xxxxxxxxxxxxxxxxxxx;yyyyyy/yyyyyyyyy;;xxxx;;;xxx;xxxx
т.е. изменилось количество ; в некоторых местах строки
Задача такая же и осталась:перенести yyyyyy/yyyyyyyyy,просто при переносе необходимо сохранить первоначальное положение ;во всех строках.
Автор: Antdik
Дата сообщения: 07.10.2008 10:48
KapralBel
Спасибо все отлично получилось
Автор: tigran_astranet
Дата сообщения: 07.10.2008 12:04

Цитата:
При использовании команды xcopy с ключом /D
будут переписаны файлы а не скопированы, поэтому тебе и не помогло.
А тебе надо чтоб имена файлов остались теже?


Это не критично, имена файлов можно менять.
Автор: sevasmr1986
Дата сообщения: 07.10.2008 12:16
Здравствуйте!

Подскажите пожалуйста как можно решить следующую задачу средствами *.bat/*.cmd в WinXP:

Имеется локальная сеть (192.168.4.xxx/255.255.255.0)

Собственно вопрос:
Требуется, чтобы одна машина постоянно пинговала другую машину по заданному адресу (например 192.168.4.2) и если пинг перестал проходить, то выполняется одна ветка дествий, а если пинга не было а потом появился, то выполняется другая ветка действий
Автор: dimpase
Дата сообщения: 07.10.2008 12:39
tigran_astranet
Посмотри вот тут, там как раз есть то что те надо:
кликни



Добавлено:
Люди!Может кто поможет, как спомощью батника заблокировать неиспоьзуемые порты,ВСЕ!
Или может проще разрешить доступ тоько определенным?То тоже как?
Спасибо.
Автор: Nagual
Дата сообщения: 07.10.2008 13:37
dimpase
если речь идёт о встроенном брандмауэре, то
для этого надо как-то составить список портов, а потом можно уже разобраться с
netsh firewall /? и выполнить их настройку
как вариант, бранд настраивается через GUI, после чего создаётся дамп настроек для последующего импорта, enjoy


Добавлено:
sevasmr1986
Код:
(ping 192.168.4.2&&echo aga)||echo nea
Автор: dimpase
Дата сообщения: 07.10.2008 14:12
еще вопросец, как спомощью батника подключить сетевой диск на удаленной машине?Я где то на форуме это видел, но найти второй раз не смог.
Заранее спасибо.
Автор: sevasmr1986
Дата сообщения: 07.10.2008 14:48
Nagual
Не понятен синтаксис. Это ведь должен быть цикл(бесконечный), с постоянным опросом (пингом) машины.
Тут на форуме уже был вопрос:
Как научить шлюзовую машину самостоятельно выключаться после того как последний пользователь выключил свой компьютер.
На что ему прислали Код:


Нужно что-то подобное, только опрос ведется по одному адресу, но 24/7
Автор: dimpase
Дата сообщения: 07.10.2008 15:01
sevasmr1986
Сорри что вмешиваюсь, а вы смотрели с 31-32 стр???Гляньте там что то вроде видел такое.
Автор: Nagual
Дата сообщения: 07.10.2008 15:10
sevasmr1986
берешь утилиту sleep и ставишь паузу куда надо, хоть первой, хоть второй строкой
а-ля

:st
приведенный выше код
sleep число_секунд
goto:st


или примерно так:

:st
sleep n
(ping 192.168.4.2&&goto:aga)||goto:nea

rem "одна ветка дейсвий"
:aga
команды
...
goto:st

rem "другая ветка действий"
:nea
команды
...
goto:st
Автор: sevasmr1986
Дата сообщения: 07.10.2008 16:00
Nagual
Что есть пинг, что нету, обработка всегда переходит в ветку :aga

Пробывал еще так:

Код: :START
ping 192.168.4.2
IF %ERRORLEVEL%==0 GOTO :GOOD

GOTO :ERROR

rem "одна ветка дейсвий"
:GOOD
команды 1
...

rem "другая ветка действий"
:ERROR
команды 2
...

GOTO :START

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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