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

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

Автор: hamet2000
Дата сообщения: 26.12.2007 10:05
Подскажите пожалуйста как с помощью eventcreate.exe создать событие в логах c типом ERROR (ошибка)
пробовал как в справке ключь /Т ERROR
EVENTCREATE /T ERROR /ID 999 /L APPLICATION
/SO WinWord /D "новый источник Winword в журнале приложений"
не помогает всеравно создается событие с типом "уведомление"
Автор: BasiL
Дата сообщения: 26.12.2007 12:56
hamet2000

Цитата:
пробовал как в справке

я тоже попробовал.
с любым значением ключа /T событие записывается с типом "information".
WinXP SP2 + MUI
Автор: Elroir
Дата сообщения: 26.12.2007 13:32
hamet2000
BasiL
И я попробовал - все создается с тем типом события, с которым я хочу.
WinXP SP2 english - учетная запись с администраторскими привилегиями.
Автор: BasiL
Дата сообщения: 26.12.2007 14:02
Elroir

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

хм.. а под локальным админом у меня тоже работает.
Правда, у локального админа не включен русский MUI... может в нем дело?
учетная запись без админских прав и без МУИ тоже нормальный тип посылает...
Автор: antonclass
Дата сообщения: 26.12.2007 21:00
Уважаемые, такая задача:
1. Необходимо найти в реестре параметры и/или имена разделов, содержащие заданную строку.
2. По результатам поиска, выполнить экспорт разделов, содержащих найденный параметр в п.1. (чтобы была возможность восстановления)
3. Выполнить удаление разделов, содержащих заданный параметр.

Желательно, чтобы это было реализовано в *.bat или *.cmd ...

Помогите пожалуйства Голову сломал

Предложите решение такой задачки ...
Автор: kain24
Дата сообщения: 27.12.2007 06:12
Требуется ежедневно копировать папку с фтп сервера на локальный комп и переименовывать папку в прежднее_названиеГодМесяцЧисло причем вчерашнее число.
Причем в папке лежает еще папки, а них файлы и структуру папок надо сохранить.
Пытался помучать ftp.exe но похоже в нем нельзя скопировать струкуру папок (поправте меня если я не прав).
И еще было бы не плохо эту архивировать =)
Автор: kitih
Дата сообщения: 27.12.2007 09:18
!!! помогите написать командный файл...!!!

написать командный файл, который печатет общее число переменных среды, определенных в системе, и выводит на экран имена этих переменных вместе с порядковым номером. Предусмотреть два дополнительных ключа: если задан ключ /B, то выводить только имена переменных (без значений), если задан ключ /A, то выводить имя переменной и ее значение в круглых скобках.

Спасибо большое за внимание...
Автор: Jekas
Дата сообщения: 27.12.2007 11:04
Всем привет, тупой вопрос как в bat файле сделать подтверждение для выполнения команды?
например route rpint и потом еще что нить такое чтобы батник спросил "продолжить выполнение да или нет?"......Помогите плиз ответ нужен быстро.
Автор: 01MDM
Дата сообщения: 27.12.2007 11:13
antonclass
Попробуй вариант. Желательно в качестве поиска задавать точные названия параметров или их значение. Подразделы с подходящими соответствиями будут экспортированы. Удаление не делал, т.к большая вероятность нахимичить. Сам додумаешь.
Работает относительно долго.

Код:
@echo off && setlocal
set /p toFind="Строка для поиска: "
set folder=RegSaves-%date%-%time::=-%
md %folder:~0,-3%
set cnt=0
for %%i in (hkcu hklm hku hkcc hkcr) do (
    for /f "tokens=*" %%a in ('reg query %%i /s 2^>nul ^| find "HKEY"') do (call:seach "%%a")
)
rd %folder:~0,-3% 2>nul
goto:eof

:seach
reg query %1 2>nul | findstr "%toFind%" 2>nul && (
    set /a cnt+=1
    reg export %1 %folder:~0,-3%\%cnt%.reg
)
goto:eof
Автор: Jekas
Дата сообщения: 27.12.2007 11:40
сенкс и еще тупой вопрос, что поставить в начале строки чтобы строка стала коментом?
Автор: BasiL
Дата сообщения: 27.12.2007 12:43
Jekas

Цитата:
что поставить в начале строки чтобы строка стала коментом?

rem

еще некоторые используют трюк с использованием двоеточия.
Т.к. с двоеточия начинаются метки условного перехода, интерпретатором они игнориуются.
Не рекомендуется использовать внутри циклов.
Автор: antonclass
Дата сообщения: 27.12.2007 13:30
01MDM
спасибо попробую обязательно - потом отпишу. Ща позвали на корпоратив и некогда посмотреть. Это не домашка, т.к. я не студент. Это рабочий момент. Еще раз спасибо!
Автор: Lapochka ili Chai
Дата сообщения: 27.12.2007 15:14
KKrack

Цитата:
Maza Faka

СПАСИБО!!! РЕСПЕКТ!!!
Попробовал, работает, ща займусь доводкой до ума.
подобного решения даже не предполагал..


Пардон за, возможно, примитивный вопрос -- а на переносном USB-HDD это творение работать будет? будет менять букву диска и тем самым восстанавливать работоспособность ярлыков?
Автор: Vladimir312
Дата сообщения: 27.12.2007 19:57
С наступающим "Новым Годом" !
и маленький вопросик:
- есть текстовый файл, в котором скриптик делает замену:

Код: @echo off
for /f "tokens=*" %%a in ('more^<web.log.txt') do call :_replace %%a
goto eof

:_replace
set i=%*
echo %i%

set i=%i:192.168.2x.10=Дед Мазай%
set i=%i:192.168.2x.11=и зайцы%

echo %i%>>replace_FIO.txt
goto eof

:eof
Автор: Elroir
Дата сообщения: 27.12.2007 20:04
Vladimir312

Цитата:
Вопрос: можно ли сказать bat-нику "не менять" таб на пробелы ?

Нельзя.
Используй сторонние утилиты замены текста в файлах - во первых быстрее, во вторых, не трогает ничего, кроме заменяемой части.

Добавлено:
Или можно...
Попробуй так:

Код:
@echo off
for /f "tokens=*" %%a in ('more^<web.log.txt') do call :_replace "%%a"
goto eof

:_replace
set "i=%~1"
echo %i%

set "i=%i:192.168.2x.10=Дед Мазай%"
set "i=%i:192.168.2x.11=и зайцы%"

echo %i%>>replace_FIO.txt
goto eof
:eof
Автор: Lutvun
Дата сообщения: 28.12.2007 13:30
Почему такое не работает:

Код: for /f "delims=.rar tokens=1,2" %%a in ('dir /b S:\Sorted\1\') do ren "S:\Sorted\1\%%a%%b" "%%a"
Автор: antonclass
Дата сообщения: 28.12.2007 13:47
01MDM
Во время работы выдаёт
"Непредвиденное появление: &." и вылетает
Автор: king_stiven
Дата сообщения: 28.12.2007 13:54
Lutvun

примеры с delims
delims=.,r,a
только один элемент можно указывать через запятую


Добавлено:
Lutvun

П.С. Есть какая нибудь литература по батниках?

только справка ещё немного в интернете, я учился только на этом форуме.
Автор: Lutvun
Дата сообщения: 28.12.2007 14:47
king_stiven

Цитата:
примеры с delims
delims=.,r,a
только один элемент можно указывать через запятую

как тогда выполнить задуманое?
Автор: king_stiven
Дата сообщения: 28.12.2007 15:01
Lutvun

setlocal enabledelayedexpansion
for %%i in ("A.N.Ostrovskiy.Pozdnyaya.lyubov.part2.rar64.215.245.5_1936_20111.abook.rar") do (
set "str=%%~nxi"
set str=!str:rar=Ё!
for /f "delims=Ё" %%a in ("!str!") do ren %%i %%a.rar
)
Автор: 01MDM
Дата сообщения: 28.12.2007 16:27
antonclass

Цитата:
Во время работы выдаёт
"Непредвиденное появление: &." и вылетает


Странно, у меня ничего такого не происходит.
Какой был запрос на поиск?
Какая версия виндоус.

Автор: antonclass
Дата сообщения: 28.12.2007 17:05
01MDM
Запрсы были разные.. например USB или USBSTOR .
Версия виндов - XP pro corp
Автор: Lutvun
Дата сообщения: 28.12.2007 19:22
king_stiven
Как работает не понял, но работает. Правда батник сам сибя в придачю ко всем файлам переименовывает, но это мельчь! Спасибо!
Автор: antonn2
Дата сообщения: 28.12.2007 20:59
и еще раз обращусь
Объясните пожалуйста, какой командой копировать файлы по сети? пробую copy и xcopy, на больших файлах консоль зависате и так и висит, можно закрыть крестиком (обычно пока не отработают, сразу не закрыть).
Сама суть: есть сеть, куча компов. У каждого есть папка c:\papka\. Есть компьютер, на который с остальных компьютеров нужно скопировать содержимое их "c:\papka\". Я по очереди через net use маплю диском папку каждого компа, и командой copy копирую файл на локальный диск ( copy /y "T:\1.txt" "c:\компутер\1.txt" где "компутер" папка для каждого компа по имени ). В принципе это работает, но иногда диск то ли не успевает отмапиться, то ли винда подтупит, но вылетает ошибка и диск дял компа не мапится, и файл с него не попадает в общий компьютер. Уже при каждом отключении-подлючении сделаю паузу по пол минуты (пингую себя) - не помогает. Что скажите насчет этого, можно ли как то копировать сразу copy /y "\\comp1\c$\papka\" "c:\компутер\1.txt" и чтобы получилось более менее гарантировано?
Проблема еще похуже
Есть в сети расшареная папка, имя шары постоянное, компутер-владелец может меняться. На эту шару нужно скопировать все, что сохранилось на главном компьютере (выше).
Насколько я понял, шару нельзя сделать через net use отдельным диском? а при использовании copy "c:\компутер\1.txt" "\\шара\" если файл более 50Мб гарантировано ничего не скопируется. На шаре появляется файл, в св-вах которого размеры копируемого, но консоль копирования висит по пол часа и весело таращится надписью "не найден сетевой путь". Стоит консоль закрыть - файл исчезает. Файлы по мегабайту можно копировать хоть весь день без проблем. При этом через проводник можно спокойно "вручную" копировать гигабайтные файлы...
Так вот о чем это я... Посоветуйте какой нибудь способ копирования или утилитку с командной строкой, чтобы гарантировано скопировало файлы по сети (бекапы). И поддерживала домены.
Автор: 01MDM
Дата сообщения: 28.12.2007 21:31
antonclass
Попробовал. Работает (особенно хорошо в hkcc ), но это все равно, что стоит на месте. В общем батник вряд-ли лучшее решение для такой задачи, если только не использовать какую-нибудь утилиту для поиска в реестре
Вот если знать заранее что удалять и что сохранять..

Кстати тот же поиск в j16 по слову "USB" дал результат из 778 пунктов...
Автор: antonclass
Дата сообщения: 28.12.2007 21:58
01MDM
хмм.. а винды какие?
Автор: king_stiven
Дата сообщения: 28.12.2007 23:01
Lutvun
Правда батник сам сибя в придачю ко всем файлам переименовывает

А трудно что ли включить в цикл проверку?

if not "%%~nxi"=="имя батника.bat" (
Автор: 01MDM
Дата сообщения: 29.12.2007 00:04
antonclass

Попробуй прямо в консоли, у тебя будет работать?

Код:
chcp 1251
reg query hklm /s 2>nul | findstr /i "usb" 2>nul
Автор: antonclass
Дата сообщения: 29.12.2007 07:48
01MDM
вообщем, в пробелах была проблема, заработало. НО:
Создаются 2 папочки - типа
\RegSaves-29.12.2007-
\9-37-45

Поиск долгий и в\на экран выдаётся мноооооого строк типа "Не удаётся найти пакетный файл"
Автор: 01MDM
Дата сообщения: 29.12.2007 09:31
antonclass
Вот немного переделал:

Код:
@echo off
setlocal enabledelayedexpansion
set cnt=0
md RegSaves
set /p toFind="Строка для поиска: "
for /f "tokens=*" %%i in ('reg query hklm /s 2^>nul ^| find "HKEY"') do (
    reg query "%%i" 2>nul | findstr /i "%toFind%" 2>nul && (
    reg export "%%i" RegSaves\!cnt!.reg
    set /a cnt+=1
    )
)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: Доступ к реестру через RegEdit?


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