![]() |
Проверить каждую папку из списка txt-файла на всем жестком диске по трем условиям
Проверить каждую папку из списка txt-файла на всем жестком диске по трем условиям:
1) если в папке (из списка txt-файла) ИЛИ в ее подпапках есть файлы, которые по своему размеру больше или равно 11 Kb, то записать в текстовый файл 1 (1.txt) 2) если в папке (из списка txt-файла) файлов нету ИЛИ если файлы есть, но имеют размер от 0 Kb до 11 Kb, то записать в текстовый файл 2 (2.txt) 3) если на всем жестком диске отсутствует "папка" которую мы проверяем (из списка txt-файла), то записать тоже в текстовый файл 2 (2.txt) Папок и подпапок может быть много, файлов тоже. Уровни папок могут быть от 1 до 20 примерно. Файлы могут быть разного типа: exe, txt, jpg, mp4, и другие Файлы, размер которых 0 kb - это просто недокаченные файлы, программ и т.д. Стандартный проводник показывает, что файл в папке есть, а в свойствах файла показывает размер 0 Kb. (эти файлы нужно записать в 2.txt) Для наглядности опишу пример что должно получиться... Пример списка папок txt-фала: Отчёт № 754 © MF 办公室 Программа № 101 © MF 办公室 Программа № 104 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 127 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 109 © MF 办公室 Отчёт № 540 © MF 办公室 Отчёт № 555 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 797 © MF 办公室 Отчёт № 807 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 907 © MF 办公室 Отчёт № 914 © MF 办公室 Пример файлов и папок которые на жестком диске E (-> размеров в именах файлов нет!!! эти размеры представлены из свойств файлов!!! <-): E:\Программа № 101 นี่คือวันอันยิ่งใหญ่ © GJ\Программа № 101 © MF 办公室\Программа MF © นี่คือวันอันยิ่งใหญ่办公室.exe (размер 11 Kb) E:\Программа № 104 นี่คือวันอันยิ่งใหญ่ © GJ\Программа № 105 © MF 办公室\Программа № 1 MF © นี่คือวันอันยิ่งใหญ่办公室.exe (размер 27 Kb) E:\Отчёт № 127 นี่คือวันอันยิ่งใหญ่ © GJ\Отчёт № 127 © MF.apk (размер 34 Mb) E:\Отчёт № 108 นี่คือวันอันยิ่งใหญ่ © GJ\Отчёт № 109 © MF 办公室\Отчёт № 109 MF © นี่คือวันอันยิ่งใหญ่办公室.rar (размер 4 Gb) E:\Отчёт № 550 นี่คือวันอันยิ่งใหญ่ © GJ\Отчёт № 540 © MF 办公室\ E:\Отчёт № 555 นี่คือวันอันยิ่งใหญ่ © GJ\ E:\Отчёт № 791 นี่คือวันอันยิ่งใหญ่ © GJ\Отчёт № 797 © MF 办公室\Программа № 798 apk © นี่คือวันอันยิ่งใหญ่办公室.exe (размер 0 Kb) E:\Отчёт № 807 นี่คือวันอันยิ่งใหญ่ © GJ\Отчёт № 808 © MF 办公室\MF © นี่คือวันอันยิ่งใหญ่办公室.txt (размер 10 Kb) E:\Отчёт № 907 นี่คือวันอันยิ่งใหญ่ © GJ\Отчёт № 907 © MF 办公室\Отчёт № 907 MF.txt (размер 0 Kb) Содержимое 1.txt после выполнения скрипта: Программа № 101 © MF 办公室 Программа № 104 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 127 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 109 © MF 办公室 Содержимое 2.txt после выполнения скрипта: Отчёт № 754 © MF 办公室 Отчёт № 540 © MF 办公室 Отчёт № 555 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 797 © MF 办公室 Отчёт № 807 นี่คือวันอันยิ่งใหญ่ © GJ Отчёт № 907 © MF 办公室 Отчёт № 914 © MF 办公室 |
Код:
param( |
Fors1k, скрипт не выполняет условие 1). Из списка list.txt в папке есть файл больше 11 Kb, все равно заносит ее в 2.txt, а нужно в 1.txt согласно условию 1)
|
Проверял вот так:
list.txt: Цитата:
Цитата:
Цитата:
Цитата:
|
Ура!!! Работает! :) Fors1k, Спасибо за решение и наводку! Нужно было просто поставить пути к папкам. Ваш вариант, даже лучше чем у меня..а тогда как поставить один общий путь, где будет идти поиск по тем же трем условиям, чтобы не прописывать к каждой папке полный путь, а поставить в list.txt одну строчку C:\2\1\26\ и получить тот же результат ?
|
Цитата:
|
Цитата:
И в случае, который предложил Fors1k отлично работает так: Цитата:
Пробовал поставить полный путь в list.txt, где нужно делать поиск "C:\2\1\26\" без указаний папок т.е. просто пишу место сканирования, но скрипт просто копирует строчку "C:\2\1\26\" из файла list.txt в файл 1.txt |
Цитата:
Для пользующих Far Manager — и того проще: выделить имена подкаталогов, нажать Ctrl-Alt-Insert и вставить полученные полные пути к выделенным подкаталогам из Буфера обмена в редактор. |
Iska, Не так поняли. Поиск искомых каталогов - с этим прекрасно справляется код от Fors1k!
Нужно модернизировать код, чтобы скрипт автоматизированно поверил все содержимое что находится в папке "26" без указания каталогов, используя для этого написанный код в скрипте, а не посредством предложенных клавиш или утилит. |
KOD65001, я прекрасно понял.
|
Цитата:
Код:
param( |
Fors1k, то что нужно! Спасибо! :applause:
|
Время: 19:49. |
Время: 19:49.
© OSzone.net 2001-