Георгий Владимиров Posted February 4, 2009 Report Share Posted February 4, 2009 У меня возник вопрос примерно следующего содержания: как можно найти на компьютере использующем XP, файлы, в именах которых содержатся два (три, или четыре, или больше) пробела подряд? А также, как найти файлы, чьё имя заканчивается на пробел, или начинается на него? Link to comment Share on other sites More sharing options...
KOT2s Posted February 4, 2009 Report Share Posted February 4, 2009 Реализация такого поиска возможна при помощи total comander[a]. В его встроенном поисковике следует набрать нужное колличество пробелов (только их (!) - иначе он найдет абсолютно все файлы в заданом секторе поиска). Необходимую (и дополнительную) информацию о методах поиска total comander[a] можно найти в меню поиска. Link to comment Share on other sites More sharing options...
Maikll Posted February 4, 2009 Report Share Posted February 4, 2009 А также, как найти файлы, чьё имя заканчивается на пробел, или начинается на него? Интересно, а как вы собираетесь создать такой файл? Windows по-умолчанию уберет пробелы в начале и конце файла... что касаемо остального - либо стандартный for, либо более удобный forfiles (внешняя утилита) помогут (как пример, команда forfiles /M "* *" как раз выведет список файлов и папок текущего каталога с 2 пробелами в имени, более подробно: forfiles /?) Link to comment Share on other sites More sharing options...
KOT2s Posted February 4, 2009 Report Share Posted February 4, 2009 Maikll, вынужден не согласится.... ДА винда уберает пробел с начала и с конца, но если файл содержит с начала имени или в конце более одного пробела пробелы остаются (правда по одному убираются)... К примеру: можно создать файл имя которого состоит из 3 пробелов или так: " a b .txt" Как подтверждение моих слов...Вот Link to comment Share on other sites More sharing options...
Maikll Posted February 4, 2009 Report Share Posted February 4, 2009 ДА винда уберает пробел с начала и с конца, но если файл содержит с начала имени или в конце более одного пробела пробелы остаются (правда по одному убираются)...К примеру: можно создать файл имя которого состоит из 3 пробелов или так: " a b .txt" В начале имени средствами total comander или иного файлового менеджера - вполне возможно, explorer-oм - нет. Добавить пробелы в конец файла после расширения - нельзя по определению. Link to comment Share on other sites More sharing options...
KOT2s Posted February 4, 2009 Report Share Posted February 4, 2009 В начале имени средствами total comander или иного файлового менеджера - вполне возможно, explorer-oм - нет. Добавить пробелы в конец файла после расширения - нельзя по определению. Согласен, но к примеру некоторые издательские программы позволят сохранять файл с подобным- пробельным именем. Как не странно, но подобные имена часто используются в издательстве (очень много графических файлов разных рангов - дизанер или верстальщик пользуется для обозначения "клипарта"- один пробел, "на утверждение" - 2 пробела, "спуск на ФНА" - без пробела)Например этот файл... Link to comment Share on other sites More sharing options...
Тролль Posted February 4, 2009 Report Share Posted February 4, 2009 файл имя которого состоит из 3 пробелов или так: " a b .txt"Это не файл с именем из трех пробелов, это файл с тремя пробелами в имени. Имя файла только с пробелами создать не удастся, разве что можно использовать символы, выглядящие как пробелы, например, Alt+255 (на малой клавиатуре). Создать файл с пробелами в начале имени можно командой copy, например, copy nul " . a" но в конце имени пробелы все равно самоликвидируются. P.S. Имеется в виду "в конце полного имени", т.е. после последнего непробела в расширении. Link to comment Share on other sites More sharing options...
KOT2s Posted February 4, 2009 Report Share Posted February 4, 2009 ...можно использовать символы, выглядящие как пробелы, например, Alt+255 (на малой клавиатуре)... Не поспоришь... но существование таких файлов возможно... а значит и поиск нужных "пробельных" файлов то же возможен (это я о теме :bye1: )... Оффтоп: С "этими"файлами сталкиваюсь довольно часто на работе... до меня на тепершнем моем компе работал товарищ очень любивший такие изыскания. Самое печальное заключается в отсчитывании пробелов для определения ранга файла... :blushing: " Link to comment Share on other sites More sharing options...
matva Posted February 5, 2009 Report Share Posted February 5, 2009 (edited) ДА винда уберает пробел с начала и с конца, но если файл содержит с начала имени или в конце более одного пробела пробелы остаются (правда по одному убираются)... Создал для пробы текстовый файл и вставил в конец (до расширения) пробелы (5 шт.)... Ничего винда не убрала. Ни одного пробела. По вашему вопросу: в имени файла ведь имеются и другие знаки, кроме пробелов. Используйте для поиска их. Поиск выдаст все файлы, которые содержат данное сочетание. А если известно расширение файла, то список сокращается в разы! P.S. Я что-то не пойму в чем загвоздка? P.S.2. Попробовал усложнить задачу. Создал файл 1 2 3.txt Ввел в поиск: 1 2 3 - выдал только этот файл. ввел 123 - ничего не выдал. В ЧЕМ ВАША ПРОБЛЕММА? Обычный виндовский поиск прекрасно справляется. Edited February 5, 2009 by matva Link to comment Share on other sites More sharing options...
Георгий Владимиров Posted February 5, 2009 Author Report Share Posted February 5, 2009 Ну хорошо, Total Commander ищет пробелы. Но вот пробелы в конце имени файлов (до точки, отделяющей разрешение) как искать (или в начале имени - без разницы)? Не обязательно два или больше пробелов, важно чтобы они были в конце или в начале имени. Link to comment Share on other sites More sharing options...
matva Posted February 5, 2009 Report Share Posted February 5, 2009 Еще раз повторю: В чем Ваша проблемма? Ищите по другим знакам! Искать только по пробелам - глупо (ИХМО!). P.S. А тех кто написал такие программы, которые создают файлы с N-ми пробелами - :) Link to comment Share on other sites More sharing options...
KOT2s Posted February 5, 2009 Report Share Posted February 5, 2009 Все таки нашел как это сделать в totalcmd.... Поиск файлов имя которого начинается или заканчивается на пробел делается так: \s*\s.*, где "\s" - указатель регулярного выражения пробела... Пользуйтесь :) Link to comment Share on other sites More sharing options...
Георгий Владимиров Posted February 6, 2009 Author Report Share Posted February 6, 2009 Может я чего не так делаю, но на указанное выражение, Total Commander выдаёт не те файлы. Точно это выражение? \s*\s.* Может галку надо было поставить где-то? В любом случае результат, чего-то, не совсем тот. Есть ещё тэг \b указывающий на границу (т.е. на начало или конец), но он странно, тоже не работает. Link to comment Share on other sites More sharing options...
Тролль Posted February 6, 2009 Report Share Posted February 6, 2009 (edited) \s*\s.*, где "\s" - указатель регулярного выражения пробела... Я с регулярными выражениями в Total Commander не разбирался, но это, по объяснению, не имена ли с двумя пробелами - в начале имени и перед расширением? Пути решения без каких-то исключений не видно или над этим надо сидеть и проверять варианты, но в командной строке dir /b/s " *" | find "." найдет все файлы, имена которых начинаются с пробела и имеют какое-нибудь расширение. Поиск начнется с текущего каталога, а чтобы шел с корневого каталога диска, после dir надо вставить \ (впрочем, об этом навряд ли стоит упоминать, не новички). А dir /b/s "* .*" | find "." найдет все файлы, имена которых заканчиваются пробелом перед расширением. Хотя обе эти команды выдадут и имена каталогов, содержащие точки. P.S. Впрочем, от имен каталогов с точками внутри, видимо, можно отделаться, добавив в конце команд еще один фильтр | find /v ">" Edited February 6, 2009 by Тролль Link to comment Share on other sites More sharing options...
KOT2s Posted February 6, 2009 Report Share Posted February 6, 2009 Может галку надо было поставить где-то? В любом случае результат, чего-то, не совсем тот. Прошу прощения, да, забыл указать, что в меню поиска totalcmd надо поствить галку "регулярные выражения"Для наглядности... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now