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

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

Автор: Tipulatoid
Дата сообщения: 01.10.2007 07:28
Elroir
A pkunzip.exe не работает с длинными именами
Автор: simplix
Дата сообщения: 01.10.2007 08:07
Tipulatoid
Используй unzip.

В принципе обновления каспера из зипов у меня давно реализованы на ннкроне и батниках, кому нужно - в ПМ.
Автор: Tipulatoid
Дата сообщения: 01.10.2007 08:48
JazzTM
Ну вот:
Код: @echo off

:: Установка переменых
set "file=av-i386-daily.zip"
set "url=http://downloads1.kaspersky-labs.com/zips/%file%"
set "wget_path=%programfiles%\Wget\wget.exe"
set "archiver=%programfiles%\7-zip\7z.exe"
set "local_folder=P:\AVPBases"

set "ftp_adress=ftp.narod.ru"
set "ftp_login=delta-greit"
set "ftp_password=qwerty"
set "remote_folder=delme"


:: Скачивание
"%wget_path%" %url%

::Распаковка
"%archiver%" x %file% -o%local_folder%

::Удаление архива
rem del /q %file%

::Создание сценария действий на ftp-сервере
echo %ftp_login%>upload.del
echo %ftp_password%>> upload.del
echo mkdir %remote_folder%>>upload.del
echo cd %remote_folder%>>upload.del
for /f "tokens=*" %%a in ('dir "%local_folder%" /b') do echo put %%a>>upload.del
echo quit>>upload.del

move upload.del %local_folder%

::Закачка
pushd %local_folder%
ftp -i -s:upload.del %ftp_adress%
del /q upload.del
popd
rem rd /s /q %local_folder%
Автор: JazzTM
Дата сообщения: 01.10.2007 09:36
Супер! Спасибо, буду тестить

Добавлено:
Если я правильно понимаю, то вместо 7-zip можно использовать WinRar?
Для заинтересованых линк на страничку Wget для Windows:
http://pages.interlog.com/~tcharron/wgetwin.html
Автор: c0yc
Дата сообщения: 01.10.2007 12:52
Задача:
При запуске батника,он капируеться во все папки в определенной категории
(например в с:\папка\ куча других папок,и вот в каждую папку он закинет батник
с:\папка\1\бат.bat
с:\папка\2\бат.bat
с:\папка\3\бат.bat

вот типа такого.
)
естествено папки в с:\папка\ уже созданы....
Автор: TimAlex
Дата сообщения: 01.10.2007 12:56
Имеем файла file1.txt размером примерно 3Mb.
Необходим заменить все "123456 пример строки 84512" на "123456 Новая строка 84512".
Если это делать блокнотом... примерно 10-13 минут ((

Поиск ни чего не дал.. (может плохо искал.. sed - не подошел для строк)
Автор: Rurik
Дата сообщения: 01.10.2007 13:04
JazzTM

там только wget 1.5.3

тут http://gnuwin32.sourceforge.net/packages/wget.htm

есть 1.10.1
Автор: NIKZZZZ
Дата сообщения: 01.10.2007 13:44
TimAlex

Цитата:
sed - не подошел для строк

Почему?
Автор: TimAlex
Дата сообщения: 01.10.2007 14:02
Там вроде только слова можно заменять а мне словосочетание и "." в передачу (
Автор: NIKZZZZ
Дата сообщения: 01.10.2007 14:18
TimAlex

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

Я не специалист по Sed, но насколько помню, он поддерживает регулярные выражения. Проблем быть не должно.

Автор: Smitis
Дата сообщения: 01.10.2007 16:30
Tipulatoid

Цитата:
A pkunzip.exe не работает с длинными именами

Работает. Это у тебя pkunzip неправильный
Автор: king_stiven
Дата сообщения: 01.10.2007 16:40
c0yc

Код: for /f "usebackq tokens=*" %%d in (`dir c:\папка /b /s /a:d`) do xcopy бат.bat "%%d" /q /r
Автор: Maza Faka
Дата сообщения: 02.10.2007 07:05
c0yc
king_stiven
А можно так:

Код:
@Echo Off
For /D /R C:\Folder %%a In (*.*) Do Copy %0 %%a
Автор: TimAlex
Дата сообщения: 02.10.2007 07:44

Цитата:
Добавлено:
TimAlex
Попробуй с помощью gsar

Код:
@Echo Off
gsar -s"123456 пример строки 84512" -r"123456 Новая строка 84512" -o test.txt

(( нет не совсем то.. я имел ввиду что мне надо менять не всю строку, а только ее часть.. наверное лучше так привести пример: есть файл куст реестра:

Код: Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325]

[HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325\AppEvents]

[HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325\AppEvents\EventLabels]

[HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325\AppEvents\EventLabels\.Default]
@="Стандартный звук"
"DispFileName"="@mmsys.cpl,-5824"
......
Автор: Elroir
Дата сообщения: 02.10.2007 07:48
TimAlex
gsar делает именно то, что тебе нужно - меняет часть строки.
Автор: TimAlex
Дата сообщения: 02.10.2007 08:19
Все равно не работает .. вот рабочий материал может кто поможет разобраться что тут не так ...
Автор: Elroir
Дата сообщения: 02.10.2007 08:52
TimAlex
Значит так - я не знаю, каким образом это у тебя получилось, но и в .reg и в .bat файле присутствуют символы (невидимые), которые мешают работе батника и gsar-a.
После того, как я заново создал оба файла и скопировал в каждый нужное содержимое - все прекрасно сработало - нужные строчки были заменены.
Но! При этом потерялся русский текст. Так что нужно искать другую утилиты для замены текста.
Автор: king_stiven
Дата сообщения: 02.10.2007 09:19
TimAlex
Попробуй утилиту replacer.
Автор: TimAlex
Дата сообщения: 02.10.2007 09:44
а ссылочку можно? ( если ты про @Text Replacer то он только после регистрации дает в консоле работать)
Автор: 01MDM
Дата сообщения: 02.10.2007 10:14
Elroir

Цитата:
Но! При этом потерялся русский текст.

Я попробовал и у меня ничего не потерялось.

TimAlex
Скопируй и заново создай и коммандный файл и рег-файл в простом блокноте.
gsar нормально все обрабатывает.

Автор: TimAlex
Дата сообщения: 02.10.2007 10:23

Цитата:
TimAlex
Скопируй и заново создай и коммандный файл и рег-файл в простом блокноте.
gsar нормально все обрабатывает.

(( в простом блокноте не получится, это экспорт из реестра (там весь куст выгружается, так как настроек Очень много(под конкретную машину))
Автор: Elroir
Дата сообщения: 02.10.2007 10:26
01MDM
Интересно - теперь и у меня все работает и русский текст не теряется.
Видимо какой-то глюк был
Автор: TimAlex
Дата сообщения: 02.10.2007 10:32
странно у меня батник все навсего:
reg export hku\S-1-5-21-1454471165-1972579041-1417001333-8780 8780.reg
gsar -s"S-1-5-21-1454471165-1972579041-1417001333-8780" -r".DEFAULT" -o 8780.reg

и все.. от куда там не печатные символы??
Автор: 01MDM
Дата сообщения: 02.10.2007 10:37
TimAlex

Цитата:

в простом блокноте не получится, это экспорт из реестра (там весь куст выгружается, так как настроек Очень много


Твоя задача файл экспорта из реестра сохранить в ANSI, а не в юникоде. Тогда gsar будет корректно обрабатывать файл.

Автор: TimAlex
Дата сообщения: 02.10.2007 10:43

Цитата:
Твоя задача файл экспорта из реестра сохранить в ANSI, а не в юникоде. Тогда gsar будет корректно обрабатывать файл.

это что мне надо
реестр-> Unicod ->ANSI(обработка)->Unicod -> реестр.. мдя.. нашел себе головную боль
Автор: 01MDM
Дата сообщения: 02.10.2007 10:44
У меня gsar v1.11 и он весит вдвое больше 32.6 K
Автор: TimAlex
Дата сообщения: 02.10.2007 11:00

Цитата:
У меня gsar v1.11 и он весит вдвое больше 32.6 K

скачал 1.12 тоже самое (( ладно буду конвертить (
Автор: Maza Faka
Дата сообщения: 02.10.2007 11:23
TimAlex

Цитата:
это что мне надо
реестр-> Unicod ->ANSI(обработка)->Unicod

Ну зачем так усложнять. Можно сразу экспортровать в "ANSI"- кодировке:
если вручную, то сохранять как "Файлы реестра Win9x/NT4",
если из ком.строки, то так:

Код:
Start /wait regedit /ea "MyRegFile.reg" "HKEY_USERS\.DEFAULT"
Автор: TimAlex
Дата сообщения: 02.10.2007 12:47
О чудо... все работет ))
привожу свои грабли.. может кому и поможет )


Start /wait regedit /ea "1325.reg" "HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325"
Start /wait reg delete HKU\.DEFAULT /f
gsar -s"S-1-5-21-1454471165-1972579041-1417001333-1325" -r".DEFAULT" -o 1325.reg
Start /wait regedit /s "1325.reg"

Всем Спасибо!!!
Автор: Vadzim2003
Дата сообщения: 02.10.2007 14:37
Есть папочка C:\temp
В ней много log-файлов. Нужно оставить самый "молодой" по времени. Остальные зазиповать. Может у кого-то есть готовое решение?
Как найти по дате самый новый файл? Если его найти и имя загнать в переменную, то дальше все понятно.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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