Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/32: Рейтинг темы: голосов - 32, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 15

Обойти все каталоги и удалить случайные файлы

28.09.2011, 17:59. Показов 7032. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите,пожалуйста.написать программку)Она должна обходить все каталоги и удалять случайные файлы!!!Заранее спасибо))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.09.2011, 17:59
Ответы с готовыми решениями:

Удалить все файлы и каталоги из папки Temp - не удаляются ReadOnly-объекты
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim s As String ...

файлы.Создать файлы f и g, компонентами которых являются целые случайные числа. Записать в файл h все совпадающие компоненты файлов f и g.
Создать файлы f и g, компонентами которых являются целые случайные числа. Записать в файл h все совпадающие компоненты файлов f и g.

Найти и удалить все пустые каталоги
Найти и удалить все пустые каталоги.Не получаеться, мне в звдвнии нужно использовать оператор if, а у меня есть в цикле.Помогите...

32
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.12.2011, 01:54
Студворк — интернет-сервис помощи студентам
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/bash
 
# имеются html-файлы, в которых встречаются адреса e-mail
# программа обрабатывает их все и по всем адресам посылает текст "привет"
# для отправки необходимо использовать собственную реализацию smtp-клиента
# отправку более 2-х писем только имитировать
 
# функция отправляет сообщение на адрес
# mail_to_addr(server, address, message)
mail_to_addr()
{
    local server addr msg
    local cmds
    # локальные переменные функции
    # делаются, чтобы не затрагивать глобальные переменные
    # с теми же названиями
    
    server="$1"
    addr="$2"
    msg="$3"
    # аргументы функции записываются в удобные переменные
    
    cmds="\
ehlo x
mail from: $USER@localhost
rcpt to: $addr
data
Subject: Msg
$msg
."
    # составляется набор команд для сервера
    # отправитель - текущий пользователь текущего узла
    # получатель - переданный адрес
    # сообщение - переданное сообщение
    
    echo "$cmds" | nc "$server" 25 1>/dev/null
    # команды передаются в netcat,
    # которая подключается к переданному серверу
    # 25 - smtp порт
    # ответа сервера на команды направляется в пустоту
}
 
# функция получает список адресов из файла
# get_mail_addr(file)
get_mail_addr()
{
    cat $1 | while read line; do
        # передать содержимое файла в цикл,
        # который читает по одной строке за итерацию (проход)
        while echo "$line" | grep -qe "[[:alnum:]]\+@[[:alnum:].]\+"; do
            # пока в текущей строке есть хотя бы один адрес e-mail
            # -q - не выводить строку, если в ней найден адрес
            # -e - необязательная опция, защита дефиса в шаблоне
            
            addr="$(echo "$line" | sed -r "s/([[:alnum:]]+@[[:alnum:].]+).*/\1/")"
            # заменить данные-адрес-данные на данные-адрес
            
            addr="$(echo "$addr" | rev)"
            # перевернуть полученный фрагмент
            
            addr="$(echo "$addr" | sed -r "s/([[:alnum:]]+@[[:alnum:].]+).*/\1/")"
            # заменить данные-адрес-данные на данные-адрес
            
            addr="$(echo "$addr" | rev)"
            # перевернуть полученный фрагмент
            
            # это сделано из-за жадности алгоритма sed'а
            # выражение "s/.*([[:alnum:]]+@[[:alnum:].]+).*/\1/"
            # "<ab>cde@ab<cde>" превращает в "e@ab", поглощая "cd"
                        
            #echo $addr >&2
            # выводит адрес на экран в любом случае (для отладки)
            
            echo "$addr"
            # выводит адрес в поток вывода
            
            line="${line/$addr/}"
            # удаляет найденный адрес из текущей строки
            # в строке может быть несколько адресов
        done
    done
}
 
# основная функция программы
main()
{
    local n=0
    # локальная переменная
    # для подсчёта отправленных сообщений
 
    for f in *.html; do
        # для всех .html файлов
        
        addr_lst=($(get_mail_addr $f))
        # получить список адресов из текущего файла
        # сприсок адресов сохраняется в массив
        
        #for addr in ${addr_lst[@]}; do
        #    echo "$addr"
        #done
        # вывести адресы на экран (для отладки)
    
        for addr in ${addr_lst[@]}; do
            # для каждого адреса в списке адресов
            echo -n "Sending message to $addr... "
            # вывести сообщение о посылке на текущий адрес
            if [ $n -lt 2 ]; then
                # если количество отправленных сообщений меньше 2
                # послать сообщение на адрес
                mail_to_addr localhost "$addr" "привет"
                # для отправки используется локальный сервер
                echo -n "sent... "
                # дописать сообщение, чтобы можно было различить
                # эмуляцию отправки и отправку
                ((n++))
                # увеличить счётчик отправленных сообщений
            fi
            echo "ok"
            # вывести сообщение об успехе отправки
        done
    done
}
 
main || exit 1
# если последняя программа main вернула признак сбоя
# то вернуть признак сбоя в исполняющую среду
exit 0
#иначе вернуть признак успеха в исполняющую среду
в теге [bash] слишком уж раскрашивает неправильно
1
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 15
18.12.2011, 23:07  [ТС]
вот еще задание))наверно,последнее уже))нужно сделать сервер протокола ftp без поддержки передачи файлов.
заранее спасибо)
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.12.2011, 06:26
разбираюсь:
прочитал rfc
выделил команды
проверил команды на реальных серверах
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
23.12.2011, 05:59
сделаны:
аутентификация
переход по каталогам
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
26.12.2011, 03:22
добавил:
просмотр каталога в пассивном режиме

там не стал остальное делать
Вложения
Тип файла: zip ftp_server.zip (48.1 Кб, 9 просмотров)
1
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 15
12.01.2012, 16:59  [ТС]
спасибо большое в очередной раз!а можно ли чуточку комментариев добавить?))))
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
15.01.2012, 09:15
все вспомнил, ещё добавил команды переименования
приготовился к комментированию
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
17.01.2012, 01:59
добавил файл с комментариями
(переделал некоторые имена функций)
Вложения
Тип файла: zip ftp_server.zip (62.0 Кб, 13 просмотров)
1
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 15
21.01.2012, 23:38  [ТС]
спасибо огромное за помощь!подскажите еще,пожалуйста,как можно,используя команду netcat, отправить письмо через сайт какого-либо университета?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
23.01.2012, 02:46
Code
1
2
3
4
5
6
7
8
9
10
[guest@localhost ~]$ echo ehlo x | nc smtp.yandex.ru 25
220 smtp19.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
250-smtp19.mail.yandex.net
250-8BITMIME
250-PIPELINING
250-SIZE 42991616
250-STARTTLS
250-AUTH LOGIN PLAIN
250 ENHANCEDSTATUSCODES
[guest@localhost ~]$
вместо echo пишешь файл с командами для smtp-сервера
потом делаешь
Bash
1
    cat file.txt | nc address port > answer.txt
команды описаны в rfc для smtp (есть пример)
rfc
1
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 5
24.01.2012, 14:13
accept, Мне нужно с помощью команд NetCat и telnet передать по сети любое сообщение...Типа на одном компе стоит Netcat,на другом telnet...кину денежку на мобилу)
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.01.2012, 05:09
Цитата Сообщение от Maksey Посмотреть сообщение
Мне нужно с помощью команд NetCat и telnet передать по сети любое сообщение...Типа на одном компе стоит Netcat,на другом telnet
netcat может работать в режиме сервера
она не стандартизованная, поэтому запуск в таком режиме зависит от хелпа
а telnet может только подключаться в виде клиента

нужно передать с помощью команды echo сообщение по каналу в netcat, которая запускается в режиме сервера на определённом порту, а с другого компьютера подключиться c помощью telnet к первому на этот порт
(сообщение можно передавать и через cat file.txt)
0
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 5
25.01.2012, 09:06
у меня вопрос некорректный?...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2012, 09:06

Найти и удалить все пустые каталоги на диске
Найти и удалить все пустые каталоги на диске (имя диска указывается в качестве параметра). Вывести на экран объем свободного места на диске...

Как прочитать с устройства хранения информации все файлы и каталоги?
В моей работе с Borland Delphi5 мне нужно прочитать с устройства хранения информации все файлы и каталоги.Как это сделать?

Вывести на экран все файлы и каталоги соответствующие маске в полном формате
Которые начинаются на m. При этом перед выводом каждой названия экран должен выводиться запрос на его подтверждение. Как вывести...

Как посредством CMD сравнить все файлы в заданной директории и удалить файлы с одинаковым содержимым?
В папке &quot;папка&quot; находятся текстовые файлы 1.txt 2.txt 3.txt 4.txt, некоторые из этих файлов имеют абсолютно одинаковое содержимое. Как...

создать каталоги YYYYDDMM\Req (например 20170105\Req) и скопировать файлы в "свои" каталоги.
Добрый день! Помогите новичку! Поставлена задача создать bat-ник. Есть несколько файлов, например: AAAA_BB_YYYYDDMM.xml, в которых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru