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

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

Автор: yurkesha
Дата сообщения: 10.05.2007 15:59
igor_andreev - а обычное контекстное меню 7-zip значит не устраивает? В нем также нет ограничений на количество файлов/папок. Алгоритм компрессии надо естественно настроить заранее.

wolf0425 - я понял что для тебя совпадающие имена будут скорее правилом чем исключением, но в такой ситуации ты попадаешь на ручное переименование большой тучи файлов - зачем же тогда автоматизация?!
Логичнее все-таки задать правило переименования файла в случае совпадения имени - не обязательно понимать приведенный мной пример столь буквально - правило формирования нового имени может быть любым. И к тому же по возможности сформированным не в момент переименования (это я в примере так написал для простоты восприятия).


Автор: igor_andreev
Дата сообщения: 10.05.2007 16:00
wolf0425

Цитата:
кстати, как бы от for /f %%a in ('program') do получить перебор только STDERR ??

От 'команды' наверно зависит. Ты от какой проги хочешь? Я вот с DIR попробовал отправить STDOUT в NUL:

for /f "tokens=*" %%a in ('dir *.cmf 1^>nul') do echo %%a

У меня нет в папке файлов с расширение *.cmf и на экран только вывело ошибку(STDERR). Без 1^>nul отобразило еще и метку и серийный номер тома и всякие другие нехорошие слова.


Добавлено:
yurkesha

Цитата:
а обычное контекстное меню 7-zip значит не устраивает?

У меня нет 7-zip, только консольный 7za. А надо зачем-то все это дело squxe, не мне
Автор: Elroir
Дата сообщения: 10.05.2007 16:06
Smarsh

Цитата:
При его изменении меняеться ключ в реестре такой
HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{ЦИФЕРКИ}Machine\SOFTWARE\Policies\Microsoft\Cryptography\AutoEnrollment\AEPolicy
И все бы отлично, но на каждом компе {Циферки} разные Что делать теперь не знаю


Код:
for /f "tokens=*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects" ^| find /i "machine"') do set "key=%%a"
set "key=%key%\SOFTWARE\Policies\Microsoft\Cryptography\AutoEnrollment\AEPolicy"
set "key=HKCU%key:~17%"
Автор: wolf0425
Дата сообщения: 10.05.2007 16:56
yurkesha

Цитата:
я понял что для тебя совпадающие имена будут скорее правилом чем исключением,

я думаю, что при первом запуске - будут скорее исключением. А вот через месяц, когда насоздают ещё файлов, особенно если не руками а копированием или из бэкапа - тогда х.з.

пропарсить ещё одним батником лог, чтоб переименовать всё по любым правилам, как нравится - проблем совершенно никаких не вижу, а вот наоборот - когда файлы зачем-то некорректно переименованы (а в случае реального конфликта - никакой батник просто но может 100% разумно, в соответствии с содержанием папки , их переименовать) и лога таких действий нет - свеженапеченные "дубли" только создадут проблему ничего не решив.
я согласен, что что-то с дублями надо решать - но делать это автоматом надо только если их много, и это отдельная проблема, не относящаяся к собственно массовому переименованию.

Smarsh

Цитата:
Не понимаю куда в конец [Image] по подсовывывал "1 - 192.168.0.2" по всякому. всевремя ошибка...

в конец - это именно в конец. в последний параметр строки.
неужели тяжело почитать что пишет netsh interface ip add dns ?

Код: add dns [name=]<Имя интерфейса> [addr=]<IP-адрес> [[index=]<Число>]
Если указан индекс адреса, то IP-адрес DNS-сервера добавляется в данную позицию, и список сдвигается вниз. Если IP-адреса DNS-серверов были получены с помощью DHCP, то новый адрес заменит собой старый список.
Автор: InSe0F
Дата сообщения: 10.05.2007 18:17
в общем всем снова привет.
такое дело.
у мну надо запускать один perl скриптик каждые 3 часа,
т.к. в скрипте стоит sleep 600 т.е. 10 мин
ну т.е. время в перерыве работы основного цикла.
собсна вопрос в том как сделать проверку сколько ща времени.
хотя это можно реализовать через увеличение переменной какой нить.
Автор: Maza Faka
Дата сообщения: 10.05.2007 18:42
InSe0F
%TIME%
А не проще воспользоваться планировщиком, хотя бы встроенным Виндовым или nnCron
Автор: NIKZZZZ
Дата сообщения: 10.05.2007 19:02
SPV_Ed

Цитата:
Есть ли идеи как добраться из командной строки до локальной политики безопасаности

Через Ж - сделать снэпшоты реестра до и после натравливать reg(edit).exe


В большинстве случаев такая идея не пройдет. Windows следит за своей безопасностью, и прописывает дополнительную информацию о том, что такое действие было санкционировано. Иначе значения будут восстановлены.
Можно, конечно крэкнуть службы криптографии, но это не достаточно удобно.
Автор: InSe0F
Дата сообщения: 10.05.2007 20:25
Maza Faka
не вариант с другой прогой не катит, т.к. это надо реализовать в скрипте причём всё всместе чтобы портировалось легче. (оптимизатор я блин )
а как %TIME% время то выводит чтот я не нашёл... тока не думаю там ифов нада много делать, совсем не катит
думаю так как то легче буит
вообще я правильно написал то:

Код:
:_1
rem делаем паузу (600 ~ 10минут - время паузы в секундах)
sleep 600

rem проверяем скоко времени?
if %var_time%==18 (
//////запускаем скипт
%var_time%=0
) else ( %var_time% = %var_time% + 1 )

goto _1
Автор: demOOnk
Дата сообщения: 10.05.2007 22:34
2 KapralBel

Не поможет. Это фишка виндовса такая.
Попробуй определи переменную. И получи доступ из другого батника например.
Похож нашол другое решение. пасипп.
Автор: euheny
Дата сообщения: 11.05.2007 03:51
В продолжении темы контектного меню,7z и ограничения списка.
Я вот захожу на инсталл цд (более 5 тыс файлов) выделяю их и в контекстном меню выбираю тестировать(это для примера) - комп немного думает и 7z начинает тестирование всех до одного. Т.е. очевидно , что винда передаёт 7z список любых выделенных объектов .
Так вот как отправить этот список в файл.
Автор: Maza Faka
Дата сообщения: 11.05.2007 07:26
InSe0F
IMHO, гимора много будет, тебе придётся каждую минуту проверять текущее время...

euheny

Цитата:
Так вот как отправить этот список в файл


Код:
for %%a in (*.*) do echo %%a>>spisok.txt
Автор: wolf0425
Дата сообщения: 11.05.2007 08:51
Maza Faka человек спрашивал - как сформировать список помеченного в эксплорере, а не хэлп по for...
Автор: Maza Faka
Дата сообщения: 11.05.2007 09:50
euheny
wolf0425

Ну тогда так, как предлогал igor_andreev, создать в папке "SendTo" батник, но этот метод не годится для нескольких тысяч файлов...Так, что придётся выбирать, если файлов очень много, то перемещать их в отдельную папку и формировать список файлов, если немного, то отправлять в "SendTo" на батник. Например сейчас выделил 97 файлов и отправил в "SendTo", получилось...
Автор: Smarsh
Дата сообщения: 11.05.2007 10:09
Elroir

Цитата:
Код:
for /f "tokens=*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects" ^| find /i "machine"') do set "key=%%a"
set "key=%key%\SOFTWARE\Policies\Microsoft\Cryptography\AutoEnrollment\AEPolicy"
set "key=HKCU%key:~17%"



После запуска этого кода, в переменной key будет ключ реестра, который тебе нужен - с циферками


Ну это похоже, но совсем не то Да мы действительно получаем ключ, но послежний в этом разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects. А у меня, например, там подразделов с циферками 7-мь, а актуальный тока один - первый. На другой их всего 3, меняеться во втором . Так что это не решение похоже.

Так что видимо надо подходить к это вопросу с другой стороны... Есть ли какие-то сторониие утилиты для редактированя политик. Или как их просто импортировать например? Такой вариант тоже [b]wolf0425
подойдет.[/b]

wolf0425
Я наверное тупой Я вместо add dns долбил set dns %)

NIKZZZZ

Цитата:
В большинстве случаев такая идея не пройдет.

Ну я, например, с такой ситуацией не сталкивался... Обычно подмена хорошо работает, может это для ситуации с системными\важными ключами так будет.


Автор: GORA2
Дата сообщения: 11.05.2007 10:24
Позвольте вопрос к знатокам бат файлов. Можно ли узнать былали нажата спец. клавиша (Shift, Atl, Ctrl) во время запуска бат файла? Т.е. я нажал и удерживаю скажем Shift, щелкнул по кнопке в ТС которая запускает батник и в запущенном батнике определить, удерживалась кнопка Shift при его запуске или нет. Если это возможно, то как это сделать?
Заранее спасибо.
Автор: KapralBel
Дата сообщения: 11.05.2007 10:31
GORA2
Стандартными способами нет
Может тотал сам отслеживает модификаторы и тогда передавать параметр
Автор: GORA2
Дата сообщения: 11.05.2007 10:35
KapralBel
Цитата:
Может тотал сам отслеживает модификаторы и тогда передавать параметр
К сожалению не знаю о наличие подобных возможностей у ТС . Да и на ТС-шном форуме задавал подобный вопрос, а в ответ тишина
Автор: KapralBel
Дата сообщения: 11.05.2007 11:03
GORA2
Тогда делай несколько кнопок-вызовов
Автор: Nagual
Дата сообщения: 11.05.2007 11:30
GORA2
причем тут бат файлы?
имхо тебе скрипты нужны
Автор: GORA2
Дата сообщения: 11.05.2007 11:34
KapralBel
Это конечно вариант, но не очень хороший Хочеться все на одну кнопку "навесить"
Nagual
Скрипты мне пока не по зубам . Может какая утилитка для этого есть?

Автор: Smarsh
Дата сообщения: 11.05.2007 11:34

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


Вопрос остается открытым...
Цитата:
netsh interface show interface

показывает мне допустим 3 подключение по локальной сети 1,2 и 3 Причем 2 первых это потеряные старые (их бы еще удалить ), или другая ситуация на компе 2 сетевухи в разные подсети, надо чтоб только в одну писалось (по шлюзу чтоль проверять?) (но это не обязательно, таких компов может 10-к всего,а вот со скрытыми подключениями косяк )
Автор: KapralBel
Дата сообщения: 11.05.2007 11:45
GORA2
А что ты хочешь получить?
Может быть найдем альтернативный путь?

Команда CHOICE из 98-ки подойдет?
Автор: NIKZZZZ
Дата сообщения: 11.05.2007 11:50
Smarsh

Цитата:
Или как их просто импортировать?



Код: reg export <раздел> tmp.reg
Правка tmp.reg
reg import tmp.reg
Автор: GORA2
Дата сообщения: 11.05.2007 11:57
KapralBel
Батник у меня создает 7z SFX архив. Варианты его работы (упаковка/распаковка/показ диалоговых окон и т.д.) определяются типами и содержимым файлов выбранных на панели ТС. Наступил предел возможностей определения батником самим необходимых действий. Нужно ему "подсказать", что делать с выбранным набором файлов.
Вот коротко для чего мне это нужно.
Цитата:
Команда CHOICE из 98-ки подойдет?
Вообще то эти архивы будут потом работать только на win 2000 и выше. А указанную Вами команду я совсем не знаю . Сам использую win XP SP2.
Автор: Smarsh
Дата сообщения: 11.05.2007 11:58
NIKZZZZ
Не про реестр то понятно Я про импорт самих политик через mmc
Автор: KapralBel
Дата сообщения: 11.05.2007 12:10
GORA2

CHOICE [/C[:]варианты] [/N] [/S] [/T[:]c,nn] [текст]

/C[:]варианты Варианты ответа пользователя.
По умолчанию строка включает два варианта: YN
/N Ни сами варианты, ни знак вопроса в строке приглашения
не отображаются.
/S Учитывать регистр символов.
/T[:]c,nn Ответ "c" выбирается автоматически после nn секунд ожидания
текст Строка приглашения

После выполнения команды переменная ERRORLEVEL приобретает значение,
равное номеру выбранного варианта ответа.


Код: Choice /C:ync "Y-Да, N-Нет, С-Отменить"
Автор: GORA2
Дата сообщения: 11.05.2007 12:16
KapralBel

Цитата:
Просто копируется на любую винду а дальше архив - он и есть архив
Где ее искать и что это утилита или что?
Автор: KapralBel
Дата сообщения: 11.05.2007 12:33
GORA2
1. D Windows98

Добавлено:
или http://www.rapidshare.ru/275365
Автор: Gabzya
Дата сообщения: 11.05.2007 12:47
отписываюсь по работе батника: @echo off
setlocal enabledelayedexpansion
chcp 1251 >nul

:recursive
pushd %*
for %%a in (*.*) do echo "%%~a" | find /і /v "і" | find /ї /v "ї" >nul || call :rename "%%~a"
for /d %%a in (*.*) do call :recursive "%%~fa" & echo "%%~a" | find /І /v "І" | find /Ї /v "Ї" >nul || call :rename "%%~a"
popd
goto :eof

:rename
set "newname=%~1"
set "newname=%newname:і=и%"
set "newname=%newname:І=И%"
set "newname=%newname:ї=йы%"
set "newname=%newname:Ї=ЙЫ%"

ren "%~1" "%newname%" 2>> %~dpn0.log || echo (%time%) can't rename "%~f1" >> %~dpn0.log
goto :eof

попеременовывал в довеску буквы п и П на 4, и не все і заменил, попробую еще вечером, когда все файлы будут закрыты...
Автор: wolf0425
Дата сообщения: 11.05.2007 13:10

Цитата:
попеременовывал в довеску буквы п и П на 4

это как?!? п и П - русские, кодировка батника в редакторе 1251?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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