Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [Все]   Вниз
  Печать  
Автор Тема: Скрипт для нарезки текстового файла  (Прочитано 46941 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Xray
Гость
« : 08-07-2009 10:47 » 

Нужен простейший скрипт(в программировании не разбираюсь) для выделения из огромного текстового файла определенного куска, файл содержит данные типа даты, время (ггггммччвввв) и 4 числа через пробелы , т.е например:
200904130215 0.72195 0.72195 0.72175 0.72175
200904130216 0.72175 0.72185 0.72175 0.72185
200904130217 0.72185 0.72185 0.72185 0.72185
200904130218 0.72185 0.72185 0.72185 0.72185
200904130219 0.72185 0.72185 0.72175 0.72185
200904130220 0.72185 0.72205 0.72185 0.72195
200904130221 0.72195 0.72195 0.72185 0.72185

Надо чтобы допустим из этого примера вырезать
200904130217 0.72185 0.72185 0.72185 0.72185
200904130218 0.72185 0.72185 0.72185 0.72185
200904130219 0.72185 0.72185 0.72175 0.72185

Спасибо

Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #1 : 08-07-2009 11:01 » 

Цитата
Нужен простейший скрипт(в программировании не разбираюсь)
Так это тебе работника искать надо...
Записан

Удачного всем кодинга! -=x[PooH]x=-
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 08-07-2009 11:02 » 

Надо чтобы допустим из этого примера вырезать
200904130217 0.72185 0.72185 0.72185 0.72185
200904130218 0.72185 0.72185 0.72185 0.72185
200904130219 0.72185 0.72185 0.72175 0.72185



а по какому критерию вырезано то ? За числа определённые ?
Записан

Xray
Гость
« Ответ #3 : 08-07-2009 11:02 » 

А что местных умельцев нет? (хотя бы подсказать в каком направлении работать)
Записан
Xray
Гость
« Ответ #4 : 08-07-2009 11:03 » 

Надо чтобы допустим из этого примера вырезать
200904130217 0.72185 0.72185 0.72185 0.72185
200904130218 0.72185 0.72185 0.72185 0.72185
200904130219 0.72185 0.72185 0.72175 0.72185



а по какому критерию вырезано то ? За числа определённые ?


Да с определенного числа и времени по определенное число и время
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #5 : 08-07-2009 11:15 » 

Цитата
хотя бы подсказать в каком направлении работать
Хоть операционка какая?
И насколько большой файл? сколько в нем строк? Можно тупо импортировать в ексель и вырезать руками или макросом.
Записан

Удачного всем кодинга! -=x[PooH]x=-
Xray
Гость
« Ответ #6 : 08-07-2009 11:22 » 

Цитата
хотя бы подсказать в каком направлении работать
Хоть операционка какая?
И насколько большой файл? сколько в нем строк? Можно тупо импортировать в ексель и вырезать руками или макросом.

В том то и проблема, что файл огромный и при загрузке в ексель, пишет что файл загружен не полностью, размер этого текстового файла примерно 9.5 МБ. Операционка winda 2003
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 08-07-2009 11:25 » 

Ну, если весь файл состоит из таких записей, то проще всего, имхо, с помощью регулярного выражения вырезать дату в каждой строке и проверять на попадание в диапазон.
Сравнение - хоть в строковой форме: в таком формате даты будут соблюдать лексикографический порядок.
Если файл отсортирован по времени, то сначала искать начало диапазона (соответственно, проверять, что дата больше или равна заданной начальной), а затем "вырезать" до тех пор, пока не будет достигнут конец диапазона (проверять, что дата меньше или равна заданной конечной).

Делать любым скриптовым языком.
Записан
Xray
Гость
« Ответ #8 : 08-07-2009 11:25 » 

сколько в нем строк?
Больше 65536
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 08-07-2009 11:38 » 

А чего тут работать?

1. Разбиваем текст на строки (надеюсь признак конца строки 0x0d 0x0a ?)

2. бежим по всему массиву и ищем начало блока. Критерий поиска у тебя есть - проверка на совпадение начала каждой строки с образцом известной длины, в твоём примере - "200904130217".

3. Если нашли, отправляем эту и следующие строки в буфер пока не найдём конец блока (аналагично п.2). Найденая таким образом строка (элемент массива) тоже отправляется в буфер.

4. Повторяем пока элементы массива не кончатся, или пока не найдём конец блока. Ну тут уже тебе решать, что делать если конец не найден.

5. Всё

зы Да, забыл. Буфер сохраняем в файл или делаем с ним что надо.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #10 : 08-07-2009 11:45 » 

Если была бы *nix система, то можно было бы обратить внимание на программу split. Ну и на худой конец sed или awk.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 08-07-2009 11:49 » 

Код:
for /F "tokens=1,2,3,4,5 delims= " %%i in (my_file.txt) do if /i not %%j == %%m  @echo %%i %%j %%k %%l %%m
« Последнее редактирование: 08-07-2009 11:54 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 08-07-2009 11:51 » 

главное знать условия отбора
я увидел только то, что второе поле  равно последнему
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 08-07-2009 11:52 » 

Да с определенного числа и времени по определенное число и время


аааа!!

анализируем %%i
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 08-07-2009 11:54 » 

извините забыл
bat- файл
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 08-07-2009 11:54 » 

Xray, такой файл можно импортировать в Access, а далее есть визуальное создание запросов.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Xray
Гость
« Ответ #16 : 08-07-2009 11:54 » 

Ну, если весь файл состоит из таких записей, то проще всего, имхо, с помощью регулярного выражения вырезать дату в каждой строке и проверять на попадание в диапазон.
Сравнение - хоть в строковой форме: в таком формате даты будут соблюдать лексикографический порядок.
Если файл отсортирован по времени, то сначала искать начало диапазона (соответственно, проверять, что дата больше или равна заданной начальной), а затем "вырезать" до тех пор, пока не будет достигнут конец диапазона (проверять, что дата меньше или равна заданной конечной).

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

Условия простые: От одной даты до другой, 4 последующих числа - рандомные и не важны(просто может пример не удачный)
Записан
Xray
Гость
« Ответ #17 : 08-07-2009 12:00 » 

Xray, такой файл можно импортировать в Access, а далее есть визуальное создание запросов.

Данный файл не распознается в Access(а если быть точнее: 1 колонка (дата и время) не експортятся)
« Последнее редактирование: 08-07-2009 12:11 от Xray » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 08-07-2009 12:12 » 

Xray, я уже все написал, тебе только подправить, мой код нужно только чуть-чуть допилить до нужного






Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Xray
Гость
« Ответ #19 : 08-07-2009 12:16 » 

Sla, Этот код for /F "tokens=1,2,3,4,5 delims= " %%i in (my_file.txt) do if /i not %%j == %%m  @echo %%i %%j %%k %%l %%m
 вообще куда вбивается Улыбаюсь
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 08-07-2009 12:18 » 

есть такое командная строка
в ней работают bat файлы, cmd файлы
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #21 : 08-07-2009 12:22 » 

Тупая реализация на Perl для упорядоченного по времени файла (без оптимизации, будет выполнять 2 сравнения для каждой строки):
Код: (Perl)
if (@ARGV > 1)
{
        my $date1 = shift;
        my $date2 = shift;
        while(<>)
        {
                my ($dat) = /^(\d+)/;
                if ($dat gt $date2){
                        last;
                }
                elsif ($dat ge $date1){
                        print;
                }
        }
}
2 параметра командной строки - даты начала и конца отрезка в том же формате, что и в файле (типа 200904130215)
« Последнее редактирование: 08-07-2009 12:25 от Вад » Записан
Xray
Гость
« Ответ #22 : 08-07-2009 12:23 » 

есть такое командная строка
в ней работают bat файлы, cmd файлы

А ты можешь по моему 1 примеру (см. топ) выписать код, тогда я думаю разберусь Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 08-07-2009 12:49 » 

Xray, такой файл можно импортировать в Access, а далее есть визуальное создание запросов.

Данный файл не распознается в Access(а если быть точнее: 1 колонка (дата и время) не експортятся)

Легко!!!
Импорт.
*.txt
С разделителями - пробел.
Тип полей - текстовые.

Выборка:
Код:
SELECT Test.*
FROM Test
WHERE (((Test.Поле1) Between '200904130200' And '200904130220'))
ORDER BY Test.Поле1;
« Последнее редактирование: 08-07-2009 12:53 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #24 : 08-07-2009 12:55 » 

Цитата
Больше 65536
Эксель 2007 умеет работать с более чем 1млн. строк на листе.

Цитата
Больше строк и столбцов и другие новые ограничения
Чтобы можно было исследовать большие объемы данных на листах, Office Excel 2007 поддерживает листы размером до одного миллиона строк и 16-ти тысяч столбцов. Так сетка Office Excel 2007 состоит из 1 048 576 строк и 16 384 столбцов, что обеспечивает увеличение числа строк на 1500% и столбцов на 6300% по сравнению с приложением Microsoft Office Excel 2003. И вот почему: нумерация столбцов теперь оканчивается на XFD вместо IV.
« Последнее редактирование: 08-07-2009 12:57 от PooH » Записан

Удачного всем кодинга! -=x[PooH]x=-
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #25 : 08-07-2009 12:56 » 

упс....
не работает

for /F "tokens=1,2,3,4,5 delims= " %%i in (%1) do if /i '%%i' GTR '%2' (echo 111) else echo 000

Подставляю EQU - работает

GTR не работает
запускаю

proba.bat my_file.txt 20090413020

если кому нужна справка Улыбаюсь
hh ntcmds.chm



Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #26 : 08-07-2009 13:27 » 

1. создать файл
test.bat
следующего содержания
Код:
for /F "tokens=1,2,3,4,5 delims= " %%i in (%1) do (
if /i '%%i' GTR '%2' (if /i '%%i' LSS '%3'  @echo %%i %%j %%k %%l %%m
))

запустить из командной строки

test.bat <имя файла> <дата первая> <дата вторая>

на приведенных данных работает
test.bat my_file.txt 200904130217 200904130220
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #27 : 08-07-2009 14:25 » 

В Windows есть такая штатная вещь, как WSH (Windows Script Host).

Можно вот этот код:
Код: (Text)
Const ForReading = 1, ForWriting = 2
Dim FileSystemObject, InputFile, OutputFile
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
Source = WScript.Arguments(0)
Destination = Source + "_Result.txt"
Set InputFile = FileSystemObject.OpenTextFile(Source, ForReading)
Set OutputFile = FileSystemObject.OpenTextFile(Destination, ForWriting, True)
MinDate = CDbl(InputBox("Введи минимальную дату в формате ГГГГММДДччмм", "Фильтр данных"))
MaxDate = CDbl(InputBox("Введи максимальную дату в формате ГГГГММДДччмм", "Фильтр данных"))
While Not InputFile.AtEndOfStream
 Line = InputFile.ReadLine
 DateInLine = CDbl(Split(Line, " ")(0))
 If DateInLine >= MinDate And DateInLine <= MaxDate Then
  Call OutputFile.WriteLine(Line)
 End If
Wend
Call InputFile.Close
Call OutputFile.Close
WScript.Echo("Результат записан в файл " + Destination)
Записать в файл с расширением vbs, например filter.vbs

Затем в проводнике перетащить мышью файл с данными на этот созданный файл. Запустится скрипт, который будет обрабатывать "брошенный" на него текстовый файл. Кроме того скрипт запросит у юзера даты диапазона фильтрации.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Xray
Гость
« Ответ #28 : 08-07-2009 14:39 » 

Dimka, СПАСИБО ОГРОМНОЕ, ТЫ просто гений!!!! респект тебе!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #29 : 09-07-2009 07:54 » 

Ну раз пошла такая пьянка...

Xray, держи фирменный софт. Ага

* TxtExtractor.zip (95.09 Кб - загружено 1057 раз.)
« Последнее редактирование: 09-07-2009 08:03 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #30 : 09-07-2009 08:13 » 

та ладно Улыбаюсь У меня короче
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #31 : 09-07-2009 08:23 » 

А у меня быстрей и удобней.  Что, съел?  Улыбаюсь)

зы Создание заняло 10 минут, включая "обстругивание" иконок.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #32 : 10-07-2009 09:56 » 

Вот еще короче Улыбаюсь :
Код:
cat list.txt | awk '$1 > 200904130216 {print}' | awk '$1 < 200904130220 {print}'

А вот это в деле:
Код:
# cat list.txt
200904130215 0.72195 0.72195 0.72175 0.72175
200904130216 0.72175 0.72185 0.72175 0.72185
200904130217 0.72185 0.72185 0.72185 0.72185
200904130218 0.72185 0.72185 0.72185 0.72185
200904130219 0.72185 0.72185 0.72175 0.72185
200904130220 0.72185 0.72205 0.72185 0.72195
200904130221 0.72195 0.72195 0.72185 0.72185

# cat list.txt | awk '$1 > 200904130216 {print}' | awk '$1 < 200904130220 {print}'
200904130217 0.72185 0.72185 0.72185 0.72185
200904130218 0.72185 0.72185 0.72185 0.72185
200904130219 0.72185 0.72185 0.72175 0.72185
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #33 : 10-07-2009 09:58 » 

Можно даже еще короче:
Код:
# cat list.txt | awk '$1 > 200904130216 && $1 < 200904130220 {print}'
Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #34 : 10-07-2009 12:11 » 

Serg79, если на то пошло, то еще и cat можно убрать Улыбаюсь

А вообще, юниксовые утилиты хорошо помогают в обработке текста - почти никаких программ не нужно писать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #35 : 10-07-2009 12:23 » 

никсы и иже с ними исключаются из соревнований Ага

Операционка winda 2003
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #36 : 10-07-2009 12:30 » 

Джон, можно установить mingw и включить винду в соревнования по юниксизму. Например, существует комплект UnixTools. Весит 5 МБ в архиве (сейчас выложу в наш архивчик).

Это список утилит оттуда (помимо самой sh).

Код:
agrep.exe
ansi2knr.exe
basename.exe
bc.exe
bison.exe
bunzip2.exe
bzip2.exe
bzip2recover.exe
cat.exe
chgrp.exe
chmod.exe
chown.exe
cksum.exe
cmp.exe
comm.exe
compress.exe
cp.exe
csplit.exe
cut.exe
date.exe
dc.exe
dd.exe
df.exe
diff.exe
diff3.exe
dircolors.exe
dirname.exe
du.exe
echo.exe
egrep.exe
env.exe
expand.exe
expr.exe
factor.exe
fgrep.exe
find.exe
flex.exe
fmt.exe
fold.exe
fsplit.exe
gawk.exe
gclip.exe
gplay.exe
grep.exe
gsar.exe
gunzip.exe
gzip.exe
head.exe
id.exe
indent.exe
install.exe
join.exe
jwhois.exe
less.exe
lesskey.exe
libfl.a
libfl.lib
ln.exe
logname.exe
ls.exe
m4.exe
make.exe
makedepend.exe
makemsg.exe
man.exe
md5sum.exe
mkdir.exe
mkfifo.exe
mknod.exe
mv.exe
mvdir.exe
nl.exe
od.exe
paste.exe
patch.exe
pathchk.exe
pclip.exe
pr.exe
printenv.exe
printf.exe
pwd.exe
recode.exe
rm.exe
rman.exe
rmdir.exe
sdiff.exe
sed.exe
seq.exe
shar.exe
sleep.exe
sort.exe
split.exe
stego.exe
su.exe
sum.exe
sync.exe
tac.exe
tail.exe
tar.exe
tee.exe
test.exe
touch.exe
tr.exe
type.exe
uname.exe
unexpand.exe
uniq.exe
unrar.exe
unshar.exe
unzip.exe
uudecode.exe
uuencode.exe
wc.exe
wget.exe
wget.hlp
which.exe
whoami.exe
xargs.exe
yes.exe
zcat.exe
zip.exe

awk сюда включен под именем gawk (GNU awk).

https://club.shelek.ru/viewfiles.php?id=3
"unixTools"
« Последнее редактирование: 10-07-2009 12:58 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #37 : 10-07-2009 13:15 » 

На таких условиях согласен. Ага 5MB можно потягаться. Улыбаюсь)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #38 : 10-07-2009 15:28 » 

А вообще, юниксовые утилиты хорошо помогают в обработке текста - почти никаких программ не нужно писать.
Согласен. Улыбаюсь

Иногда Винда в такой ступор вгоняет. К действиям, которые в никсах проделываешь не задумываясь, в Винде даже не знаешь с какой стороны подойти.  Улыбаюсь
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #39 : 10-07-2009 19:09 » 

Serg79,  не знаю.... не вгоняет
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #40 : 10-07-2009 19:54 » 

Цитата: RXL
Джон, можно установить mingw и включить винду в соревнования по юниксизму.
Для Windows 2003 есть штатная Microsoft-овская штука под названием SFU (Windows Services for UNIX) - после её установки обеспечивается не только POSIX-совместимость системных вызовов, но и в командной строке становятся доступны стандартные UNIX-утилиты и вроде даже Perl устанавливается и превращается в ещё один системный скриптовый язык помимо VBScript и JScript.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #41 : 10-07-2009 20:13 » 

Dimka, хотя это боян, но в жизнь так и не вошло. А в штатной поставке ставится только в Vista Ultimate.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #42 : 11-07-2009 06:43 » 

Serg79,  не знаю.... не вгоняет
Ну не знаю Sla.

Меня недавно вирус немного потрепал и я решил удалить все исполняемые файлы с диска 'E:'.

В никсах это действие выполняется очень просто:
Код:
$ find . -type f -exec file '{}' \; | awk -F: '$2 ~ /ELF/ {print $1}' | xargs rm -f

То же самое проделать в Винде я не смог, так я и плюнул на эту затею.  Здесь была моя ладья...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #43 : 11-07-2009 08:33 » 

Serg79, можно так

F3 , *.exe, ищем

потом по вкусу - либо clrl+a , shift+del
либо выбираем поотдельности )
Записан

Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #44 : 11-07-2009 08:55 » 

del /F /S /Q *.exe - нет?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #45 : 11-07-2009 11:29 » 

Алексей1153++, Вад, заметьте, что кроме поиска проверяется еще сигнатура в начале файла. Исполняемый файл вовсе не обязательно имеет расширение exe!
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #46 : 11-07-2009 12:22 » 

Ром в виндовсе обязательно. Или еше как вариант .com. Иначе система просто будет игнорировать. Даже если будет сигнатура сто раз MZ в начале файла.Винда работает только по суфиксу файла. Потом уже, когда файл разворачивается на запуск. Тогда уже проверяется сигнатура для exe файлов. Комовские даже без проверки запускаются.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #47 : 11-07-2009 12:29 » 

Finch, это для обработки по расширению в проводнике нужно, а выполнить его (или переименовать и выполнить) можно программно. В винде много исполняемых форматов с разными расширениями. Тот же vbs, msc, scr.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #48 : 11-07-2009 12:32 » 

Если ты глянеш в реестр по этим расширениям, то увидиш, что там прописано, как вообше их запускать. Изначально было только три запускаемых расширения. .bat, .com, .exe Все остальное я так думаю, система тянет из реестра по каждому конкретному расширению.

Да кстати, если ты переменуеш с .exe, скажем в .exe1 Как бы не пытался, ты не сможеш запустить файл.
« Последнее редактирование: 11-07-2009 12:34 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #49 : 11-07-2009 19:57 » 

Serg79, можно так

F3 , *.exe, ищем

потом по вкусу - либо clrl+a , shift+del
либо выбираем поотдельности )
Спасибочки. Только что удалил все EXE-шники. Улыбаюсь

P.S. но все равно согласитесь, коряво как-то.  Не-а...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #50 : 12-07-2009 02:33 » 

Цитата
Спасибочки. Только что удалил все EXE-шники. Улыбаюсь
глубоко извиняюся )))
Записан

Страниц: 1 2 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines