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

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

Автор: Elroir
Дата сообщения: 26.10.2007 16:17
nidvoxx

Цитата:
подскажите как запустить одновременно
ping gs.chel-net.ru > gs.chel-net.ru.txt
ping google.com > google.com.txt

У меня нормально отрабатывает такая конструкция:

Код:
start /b ping gs.chel-net.ru>gs.chel-net.ru.txt
start /b ping google.com>google.com.txt
Автор: BELOV
Дата сообщения: 26.10.2007 16:47

Цитата:
БАГ РЕПОРТ

офф топ. Пытаюсь прописать и удалить тему, тк иначе не получается, что-то заклинило...
Автор: AlessTO
Дата сообщения: 27.10.2007 13:13
В этом батнике по удалению дубликатов строк

Код: set text=your.txt
if exist tmp.tmp del /f /q tmp.tmp
copy nul tmp.tmp>nul

for /f "delims=" %%a in (%text%) do (
findstr /c:"%%a" tmp.tmp>nul || echo %%a>> result.txt
echo %%a>> tmp.tmp
)

for %%a in (tmp.tmp %text%) do del /f /q "%%a"
ren result.txt "%text%"
Автор: pgofman2
Дата сообщения: 27.10.2007 15:45
как из батника - сказать родному виндозному брендмауэру
извне закрыть все порты и открыть только 80, 25, 110
а из компа только на 80 к примеру

спасибо заранее
Автор: Nagual
Дата сообщения: 27.10.2007 16:30
AlessTO
попробуй вместо echo юзать more

Добавлено:
pgofman2
set portopening
[ protocol = ] TCP|UDP|ALL
[ port = ] 1-65535
[ [ name = ] имя
[ mode = ] ENABLE|DISABLE
[ scope = ] ALL|SUBNET|CUSTOM
[ addresses = ] адреса
[ profile = ] CURRENT|DOMAIN|STANDARD|ALL
[ interface = ] имя ]

Задает конфигурацию порта брандмауэра.

Параметры:

protocol - Протокол порта.
TCP - Протокол TCP(Transmission Control Protocol).
UDP - Протокол UDP (User Datagram Protocol).
ALL - Все протоколы.

port - Номер порта.

name - Имя порта (необязательно).

mode - Режим порта (необязательно).
ENABLE - Пропускать через брандмауэр (по умолчанию).
DISABLE - Не пропускать через брандмауэр.

scope - Область порта (необязательно).
ALL - Пропускать через брандмауэр весь трафик (по умолчанию).
SUBNET - Пропускать через брандмауэр только трафик локальной сети
(подсети).
CUSTOM - Пропускать через брандмауэр только указанный трафик.

addresses - Область действия адресов (необязательно).

profile - Профиль конфигурации (необязательно).
CURRENT - Текущий профиль (по умолчанию).
DOMAIN - Профиль домена.
STANDARD - Стандартный профиль.
ALL - Все профили.

interface - Имя интерфейса (необязательно).

Примечание: параметры "profile" и "interface" не могут быть указаны вместе.
Параметры "scope" и "interface" не могут быть указаны вместе.
Параметр "scope" должен иметь значение "CUSTOM", чтобы задать
адреса.

Примеры:

set portopening TCP 80 MyWebPort
set portopening UDP 500 IKE ENABLE ALL
set portopening ALL 53 DNS ENABLE CUSTOM
157.60.0.1,172.16.0.0/16,10.0.0.0/255.0.0.0,LocalSubnet
set portopening protocol = TCP port = 80 name = MyWebPort
set portopening protocol = UDP port = 500 name = IKE mode = ENABLE scope = ALL
set portopening protocol = ALL port = 53 name = DNS mode = ENABLE
scope = CUSTOM addresses =
157.60.0.1,172.16.0.0/16,10.0.0.0/255.0.0.0,LocalSubnet
Автор: AlessTO
Дата сообщения: 27.10.2007 17:13

Цитата:
AlessTO
попробуй вместо echo юзать more

тоже самое..
Вот список..

Код: .!""1416&/U9(&$з=)(""!.
yil&-vRR"74n92#lHd|q4j°09v
"src=images/pass.gif"""
"p4djs.com"""
"mp3hat.com"""
"MMporno..."""
"mafiascripts.com"""
"soul1/2006"""
"hor..."""
"antidot.ws"""
"ccpowerforums.com"""
?"+>??
7S,)6"_x?da%kA
2?&%B5ChQJgQup?RhB0?7iQiU9U?"3q0,3HdvO
"ujgiugfuw)????^
!nomaczSrFyNN54Q1!|"(9
!D%Kg6O-xa"??sey%?CJJZghbmPCyEaTW1UJLs
d6S"uL0;s=
"0002
1,jrn"),
Автор: pgofman2
Дата сообщения: 27.10.2007 21:12
Nagual - спасибоспасибо
Автор: Nagual
Дата сообщения: 28.10.2007 00:27
pgofman2
забыл сказать что справка контекста команды netsh
вот пример открытия 80 порта для брандмауэра по протоколу tcp

Код: netsh set portopening tcp 80 MyLocalhost
Автор: nidvoxx
Дата сообщения: 28.10.2007 09:44
01MDM

спасибо, то что надо

Elroir
так тоже работает, я пробовал показадось, что по очереди пингуют, ошибся )
Автор: 01MDM
Дата сообщения: 28.10.2007 11:54
Удалил
Автор: Nagual
Дата сообщения: 28.10.2007 17:29
AlessTO
объясни подробнее свою задачу, по твоему коду и описанию мало что понятно
так вероятность того, что форумчане тебе помогут возрастёт
работаешь с базами sql?
размер файла, его кодировка?
хочешь удалить повторяемые строки в любом месте файла или только парные
(следующие друг за другом)?
в твоих примерах не найдено ни одной повторяемой строки
к некоторым спецсимволам, содержащимся в приведенным тобой файле, интерпретатор не совсем равнодушен, поэтому все таки лучше юзать утилиты, скрипты и спец софт
да и скорость обработки при этом возрастёт в разы
Автор: AlessTO
Дата сообщения: 29.10.2007 01:09
Nagual
В этом примере я привел код обработчика строк (строки могут идти как повторяющимися так и нет).
Ситуация следующая есть текстовые файлы/ANSI - 1251/ (*.dic) /не бинарники/ размером ~30 Mb и количеством строк от 2000000. Файлы образованы путем соединения более мелких (того же формата). Необходимо проверить их на предмет повторяемости строк и оставить только уникальные (неважно как они расположены). В этом посте я указал строки на которых обработчик просто останавливается (такое ощущение что он входит в бесконечный цикл).
Насчет спецсофта - в курсе. Есть тулза Clear Text (сравнение по хешу) - её скорость оставляет желать лучшего (хотя надо признать - ошибок не выдала).
Теперь насчет спецсимволов..
Сделайте простой txt с таким содержанием

Код: "1+t
"1+t
Автор: Nagual
Дата сообщения: 29.10.2007 04:50
AlessTO
your.js
Код: fs=new ActiveXObject([no]"Scripting.FilesystemObject"[/no])
d=new ActiveXObject([no]"Scripting.Dictionary"[/no])
fname=([no]"your.txt"[/no])
txt=fs.OpenTextFile(fname,1).ReadAll().split([no]"\r\n"[/no])
for(i in txt)
d.Item(txt[i])=1
fs.OpenTextFile(fname,2,1).Write(d.Keys().toArray().join([no]"\r\n"[/no]))
Автор: AlessTO
Дата сообщения: 29.10.2007 06:46
Nagual
Спасибо!!
Все работает. Только последнюю строчку не проверяет. Я думаю - не принципиально..
Автор: Nagual
Дата сообщения: 29.10.2007 09:21
AlessTO
исправлено, сколько времени уходит на обработку теперь?
Автор: king_stiven
Дата сообщения: 29.10.2007 09:25
AlessTO
http://users.mark-itt.ru/zoom/du/index.htm
Возможно то, что надо.
Автор: Maza Faka
Дата сообщения: 29.10.2007 10:11
AlessTO

Цитата:
по удалению дубликатов строк

Решение при помощи AutoIt устроит? За подробностями в личку.
Автор: AlessTO
Дата сообщения: 29.10.2007 13:15
Nagual
Зер гуд!
Скорость проверяется.. (P4, HT, 3,2 Ghz, RAM 2 Gb)
Отслеживать приходится по загрузке проца. В смысле, что - иначе не определить окончание обработки. Насколько я знаю, при помощи vbs можно создать в конце скрипта окошко с кнопкой "OK" На js это возможно?

Добавлено:
king_stiven
Это наверное удобно, но есть ньюанс - тулза при сортировке или удалении дубликатов посчитает равными и sdflkjlmxcvlk и sDflkjlmxcvlk и sdflkjlmxcvlK.

Добавлено:
Итог - 1 час 28 мин. и окошко

правда процесс еще висит, ног судя по загрузке проца - в холостую.
Автор: MorisA
Дата сообщения: 29.10.2007 16:08
Как при помощи команды узнать сведения о железе компьютера?
Интересует команда с помощью которой можно будет узнать сведения о железе удаленного компа, с программами работать неохота ибо работа разовая и ставить из-за этого программу нет желания.
Автор: Nagual
Дата сообщения: 29.10.2007 16:43
AlessTO

Код: WScript.Echo ([no]"Готово"[/no])
Автор: 01MDM
Дата сообщения: 29.10.2007 16:44
MorisA
смотри в сторону wmic.
wmic /?

PS. Понятие "железо" слишком широкое.
Автор: AlessTO
Дата сообщения: 29.10.2007 17:51
Nagual
Я тут что подумал, а реально сделать прямую запись в файл? Возможно из-за того что процесс+данные жрут память с дикой силой происходит эта ошибка? Проверял несколько раз - файлы на 10 Mb обрабатываются на ура (и очень быстро!), а вот на 34 метра ошибка..
Автор: Nagual
Дата сообщения: 29.10.2007 18:11
AlessTO
кинь в личку линк на проблемный файл
Автор: llirik99
Дата сообщения: 29.10.2007 22:04
Подрядился тут на один трекер релизером Детский сад, но тем не менее
Система такая: приходят письма от автоматической рассылки, в которых помимо прочего есть строка:
____________
Прошу раздать: http://хх.хх.ххх.ххх/filename.avi
____________
Ip всегда один и тот же. Я должен скачать и либо зарелизить, либо (если меня опередили) встать на раздачу.

Теперь вопрос: как бы автоматизировать хотя бы первую часть процесса? Как я это вижу: The Bat! определяет письмо по адресу и делает его экпорт в txt в указанное место (это я настроил, работает). Этим же фильтром запускается батник, который выцепляет из тхт ссылку и скармливает её через комстроку Гетрайту или любому другому даунлоадеру.

Вот тут у меня и непонятка - как можно это сделать? Есть простой способ найти в txt выражение "от http://хх.хх до .avi" и подставить его в параметры командной строки?

Заранее спасибо.
Автор: Nagual
Дата сообщения: 29.10.2007 22:19
llirik99
for /f "delims=" %%a in (input.txt) do (superpuperdownloader %%a)
пора бы научиться юзать поиск, этот вопрос рассматривался неоднократно
Автор: Elroir
Дата сообщения: 30.10.2007 00:27
Nagual

Цитата:
в которых помимо прочего есть строка


llirik99

Код:
@echo off
chcp 1251>nul
for /f "tokens=2* delims= " %%a in ('more text.txt ^| find /i "Прошу раздать:"') do downloader %%b
Автор: DDDK
Дата сообщения: 30.10.2007 09:29
Win XP.


if exist d:\1\*.* goto M1
.........
.........
:M1
move d:\1\*.* d:\2


Если даже в d:\1\ нет файлов, всёравно идёт на M1.
Может как-то (как ?) проверить NULL в каталоге ?

В каталоге могут лежать любые файлы (имя и расширение).




Автор: KapralBel
Дата сообщения: 30.10.2007 09:39
DDDK

Код: if exist d:\1\NUL goto M1
Автор: DDDK
Дата сообщения: 30.10.2007 10:02

Цитата:
Код:if exist d:\1\NUL goto M1


Всё по прежнему
Автор: KapralBel
Дата сообщения: 30.10.2007 10:08
DDDK
Сорри не так понял задачу


Код: @Echo Off
Set cnt=0
PushD d:\1\
FOR %%a In (*.*) Do Set /A cnt=cnt+1
PopD
If %cnt% == 0 GoTo :m1

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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