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

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

Автор: Elroir
Дата сообщения: 10.03.2008 19:16
NIKZZZZ

Цитата:
Чтобы было быстрей - минимальное сжатие

Чтобы было быстрей - сжатие вообще не используется (режим store).
Автор: igor_andreev
Дата сообщения: 10.03.2008 19:21
Встроенное средство есть, makecab.exe. Он и многотомный архив умеет делать и в inf crc32 впишет всех файлов. Но это страшенный гемор(если не сталкивался), придется покорпеть на документацией по созданию *.ddf

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

Не знаю ни одного случая, когда бы из-за положенной в PATH консольной rar.exe была нарушена работа сервера. Разве что совсем плохо с hands.sys у админа...
Автор: NIKZZZZ
Дата сообщения: 10.03.2008 19:33
Elroir

Цитата:
Чтобы было быстрей - сжатие вообще не используется

Ну, это под вопросом. Минимальное сжатие может наоборот значительно ускорить процесс за счет уменьшения об'ема копируемой информации.
Автор: Refugee
Дата сообщения: 10.03.2008 19:36
Leshgan
schtasks несложно пропатчить для работы в 2000
Автор: MammothDEL
Дата сообщения: 11.03.2008 04:55
Nagual

Цитата:
1. Берем сборку одного из лучших редакторов SciTe, текущая версия

Касперыч говорит, что там trojan-downloader.JS.gen

я пользуюсь Notepad++.. а для написания командных сценариев, использую BatCmdEditor (свой простой редактор с возможностью запуска сценария, который дорабатываю по мере необходимости)..
Автор: Leshgan
Дата сообщения: 11.03.2008 08:58
Refugee
Спасибо! Действительно можно легко найти в гугле как пропатчить schtasks.exe и дальше уже в 2000 windows работать с заданиями расширенно из командной строки.


Добавлено:
А вот еще вопрос возник
Есть текстовый файл, как получить его содержимое и вывести командой net send?
делаю так:

set list =
for /f "tokens=*" %%i in (с:\temp\commit.txt) do set list = %list% %%i
net send comp %list%

пусто. В справке команды set есть про ключик /v для cmd.exe но и при нем не работает, даже если делаю вот так

set list =
for /f "tokens=*" %%i in (с:\temp\commit.txt) do set list = !list! %%i
net send comp %list%

Автор: Nagual
Дата сообщения: 11.03.2008 10:02
MammothDEL


Цитата:
Касперыч говорит, что там trojan-downloader.JS.gen

http://forum.ru-board.com/topic.cgi?forum=5&topic=24956&start=253&limit=1

Цитата:
я пользуюсь Notepad++.. а для написания командных сценариев, использую BatCmdEditor (свой простой редактор с возможностью запуска сценария, который дорабатываю по мере необходимости)..

у SciTe тоже есть запуск кода (F5, F7) причём любого языка программирования (при условии наличия в системе соответствующего интерпретатора и донастройки для этого SciTe) и даже запуск выделенного кода
также у SciTe есть своя консоль, в которой можно видеть выполнение запускаемого кода а также время его выполнения
в общем фич полно
Пробовал Notepad++ и кучу других редакторов для написания кода, не прижились, не хватает им гибкости
это не реклама и не спор, просто имхо
Автор: 01MDM
Дата сообщения: 11.03.2008 10:07
Leshgan
А зачем переменная %list% в

Код:
... do set list = %list% %%i
Автор: Leshgan
Дата сообщения: 11.03.2008 10:23
01MDM
Ну я вроде ж получаю строку с содержимым текстового файла (в нем список файлов. в одной троке имя одного файла), поэтому идет добавление к переменной
Автор: Collapse Troll
Дата сообщения: 11.03.2008 11:01
BorlandIMHO, Elroir, igor_andreev, понятно, спасибо!
Автор: Joolz
Дата сообщения: 11.03.2008 11:31
Упс...
Автор: 01MDM
Дата сообщения: 11.03.2008 11:40
ljcnfk
Автор: Leshgan
Дата сообщения: 11.03.2008 12:01

01MDM
Я по запарке не заметил вторую часть сообщения, пардон, не ругайся, насяльника
Автор: 01MDM
Дата сообщения: 11.03.2008 12:16
Leshgan
Если в именах файлов (в списке) нет "!", то можно еще проще

Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (list.txt) do set "list=!list! %%i"
net send comp %list:~1%
Автор: sdaww
Дата сообщения: 11.03.2008 12:34
Как выполнить операцию сложения с помощью команды set /a k=1+0.1
Прокатывают только целые числа, с нецелыми выдает ошибку.
Автор: 01MDM
Дата сообщения: 11.03.2008 13:55
sdaww
Складывай отдельно левую и правую части, или воспользуйся альтернативами - js, vbs. Или каким-нибудь калькулятором - например clcc


Код:
@echo off
set a=1
set b=0.1
for /f "tokens=2" %%i in ('clcc %a%+%b%') do set res=%%i
echo %res%
Автор: Echizen
Дата сообщения: 11.03.2008 16:49
@echo off
ping *.*.*.*
if %ERRORLEVEL%==0 goto normal
:normal


Народ, нужна помощь доработать, или заново сделать скрипт...
Он должен выполнять ункцию пинга и обрыва "сети" и потом опять подключаться к ней...

@echo off
ping *.*.*.*
if %ERRORLEVEL%==0 goto normal
rasdial *** /disconnect
rasdial **** login password
echo Переустановлена связь с **** %time% %date% >> ***.log
:normal


Это мой скрипт, который подрубаеться к интеренту при обрыве...
Что мне надо изменить, или вообще предложите что-ото лучшее, но мне нужно именно на обрыв сети и её обратного подключения...

Или же мой скрипт будет выполнять тоже самое, извеняйте просто не понимаю ((

ЗЫ, очень буду признателен...
Автор: Nagual
Дата сообщения: 12.03.2008 09:33
Echizen
задача поставлена сумбурно
говоришь сети, хотя у тебя интернет соединение
зачем писать свои данные в сценарии? это небезопасно
имхо, лучше будет настройка соединения в системе
если уже совсем не помогает, юзай [more=rasphone/?]
---------------------------
Командная строка удаленного доступа к сети
---------------------------
rasphone [-f файл] [[-e | -d | -h | -r] элемент]
rasphone [-f файл] -a [элемент]
rasphone [-f файл] -lx связь
rasphone
-a    Вывод диалогового окна создания элемента
-e    Вывод диалогового окна изменения элемента
-d    Вывод диалогового окна связи с помощью элемента
-h    Завершение связи без подтверждения
-r    Удаление элемента без подтверждения
-lx    Выполнение команды 'x' для ярлыков
    удаленного доступа
x    Любая из команд a, e, d, h или r
элемент    Имя элемента телефонной книги
    для выполнения операции
файл    Полный путь к файлу телефонной книги
связь    Полный путь к файлу ярлыков удаленного доступа

'элемент' без команд выбирает элемент в диалоговом окне телефонной книги[/more]
Автор: arr1val
Дата сообщения: 12.03.2008 17:17
День добрый, есть такой скриптик :
For /R "c:\" %I In (*пример1*.*;*пример2*.*;*пример3*.*) Do MkDir "%I" "u:\Removed\%~pI"

For /R "c:\" %i In (*пример1*.*;*пример2*.*;*пример3*.*) Do Copy "%i" "u:\Removed\%~pnxi"


Зашел в тупик с вопросом, как исключить допустим *.dll файлы. Т.е. чтоб копировались по нужной маске, но кроме dll. Просмотрел огромное колличество страниц топика, но нужного не нашел.
Автор: Maza Faka
Дата сообщения: 12.03.2008 17:40
arr1val
Пример:

Код:
@echo off
for /r c:\temp %%i in (*.*) do echo %%i | findstr /i /v "dll\>">nul && copy "%%i" "d:\test"
Автор: arr1val
Дата сообщения: 12.03.2008 18:35
Понял...а если к примеру у меня несколько "но", методом тыка выяснил, что ; он не понимает - только делать отдельный файл с условием ? Или после && опять do echo и т.д. с новым "но" ?

Добавлено:
Все, победил СпасибО!
Автор: Nicka_Grey
Дата сообщения: 12.03.2008 18:42
Такой вопрос, есть ftp-сервак.
На нем лежит zip-файл, в котором сотни файлов
Нужно локально держать свежую версию этого архива.
Сейчас пока сделал следующим образом, wget-ом раз в сутки скачиваю файл если он новее чам локальный
Но т.к. размерчик довольно не маленький, (сейчас более 50мб), а измененных внутри файлов максимум на 2-3 метра, то как то не очень "экономно" тягать каждый раз по 50мб
Есть ли возможность вытягивать только новые данные для zip?
Автор: igor_andreev
Дата сообщения: 12.03.2008 18:49
Nicka_Grey
Там внутри есть какой нить readme.txt, version.info, file_id.diz или что нить похожее, по чему можно идентифицировать изменение архива?
А не, отменяется, упустил слово "ftp". C http можно.
Автор: Nicka_Grey
Дата сообщения: 12.03.2008 19:00
igor_andreev
Идентифицировать как именно?
Время создания, изменения, или по содержимому файла?
Автор: igor_andreev
Дата сообщения: 12.03.2008 19:14
Nicka_Grey
Яж поправился, что с фтп не получится. С zip-ом на http можно всякие "фокусы" сделать, есть такая утилитка консольная, zipweb, скачивает заголовок архива(65553 байт) и потом можно или отдельный файл(readme.txt например) из архива скачать или сверить crc32 файлов в архиве на сервере с локальными или еще что.. Полезная кстати тулза, тут лежит http://aluigi.altervista.org/mytoolz.htm качните кому надо. А с ftp не знаю
Автор: Nicka_Grey
Дата сообщения: 12.03.2008 19:22
igor_andreev
ок
а если все же файл на http ? (может получится его и по http выложить)

Добавлено:
ок
спасибо
буду пробовать
Автор: Nicka_Grey
Дата сообщения: 13.03.2008 02:34
igor_andreev
Посмотрел, вроде ничего
Выдает список с подробной инфой по файлам в формате
[more]
----------------------------------------------------------------
Filename: test1.dbc
Zipped_size: 1318 File_size: 3031 CRC: ABFE4735
File_offset: 00000000 Date: 17:17:26 11/03/2008
CRC-check: *ERROR* differents, local file CRC: afb60fd0

----------------------------------------------------------------
Filename: test2.dbc
Zipped_size: 836 File_size: 3425 CRC: 4A38CED3
File_offset: 00000555 Date: 01:39:14 13/03/2008
CRC-check: *ERROR* differents, local file CRC: 40a2fe10

----------------------------------------------------------------
Filename: test3.dbc
Zipped_size: 17847 File_size: 74756 CRC: 0D5AF3F3
File_offset: 000008c0 Date: 22:26:28 12/03/2008
CRC-check: *ERROR* differents, local file CRC: 46ae42f1
----------------------------------------------------------------
Filename: test4.dbc
Zipped_size: 1333 File_size: 16478 CRC: 1BE38B38
File_offset: 0014f036 Date: 18:19:42 06/02/2008
CRC-check: *OK*

[/more]
Сама прога умеет скачить только по файлово и то в том случае, если разрешить вручную (жмякая Y)
Нужна помощь, либо как то в цикле бежать по полученному результату, выберая необходимые имена файлов, либо же как то автоматом указывать ему ответ Y
Автор: igor_andreev
Дата сообщения: 13.03.2008 13:19
Nicka_Grey

Цитата:
Нужна помощь, либо как то в цикле бежать по полученному результату, выберая необходимые имена файлов,

Уже 400 страниц на ru-board этим и занимаются, гоняют команду FOR в хвост и в гриву

Код:
zipweb -f url | findstr "Filename: CRC-check:" | sed "N;s/\n/ /" | find "ERROR"
Автор: VitAll2013
Дата сообщения: 13.03.2008 15:14
Надо бат файл который сканирует все диски на наличие файлов file.exe потом выбирает самый последний из них (по дате создания), сохраняет путь до него (например С:\Folder\1\file.exe), затем откусывает от него с конца например 10 символов и создаёт переменную way_for_install. Знаю только чтопоследнее можно реализовать через set way_fo_install =...
Автор: Nicka_Grey
Дата сообщения: 13.03.2008 16:10
igor_andreev
Огромное спасибо с указание правильного направления

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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