![]() |
И снова о переименование файла с "шифровкой" расширения. (Ищу помощи).
Здравствуйте
Помогите с решением задачи: Задача: 1. по указанной паке 2. всем файлам внутри неё 3. добавить префикс с последовательным номером 4. после, всем расширениям изменить расширение на рандомно-генерированное (символы: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789, длинна 8+ регулируемая) было: ----- alf.doc ball.txt ... world.jpg стало: ------ pr01__alf.DC4BSORY pr02__ball.XS5RPF0O ... pr04__world.FSAUAAQN Спасибо!!! * нумерованный префикс нужен по причине того, что в папке могут быть файлы вида w1020h2.001 w1020h2.002 w1020h2.003... - одинаковое название + нумерованное расширение - при смене расширения они потеряют последовательность, которую нужно сохранить - (последовательность обычная - по цифрам/алфавиту) ** гугление, изучение что по силам, сочетание, в течении всей ночи дало решение в виде костыля, которому пока и папку не указать... Кастыль
@echo off
:: переименовывание - каждый файл, добавляя префикс с нумирацией setlocal enabledelayedexpansion SET /A COUNT=0 FOR %%A IN (*.*) DO ( SET /A COUNT+=1 REN "%%A" "pr!COUNT!__*.*" ) :: переименовывание - всем рандомное расширение setlocal disableDelayedExpansion set "chars=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" for /f "eol=: delims=" %%F in ('dir /B /A-D /O:-N *.*') do call :renameFile "%%F" exit /b :renameFile setlocal enableDelayedExpansion :retry set "name=" for /l %%N in (1 1 8) do ( set /a I=!random!%%36 for %%I in (!I!) do set "name=!name!!chars:~%%I,1!" ) echo if exist *.!name! goto :retry endlocal & ren %1 *.%name% *** powershell? - нет |
Цитата:
|
blacks2, что делать, когда файлов окажется больше 99?
Цитата:
- такого никогда не будет! - будет. |
blacks2,
Цитата:
|
Цитата:
Цитата:
все расширения менять на рандом нельзя добавлять ко всем рандомным префиксам в конце (иначе не будет правильной сортировки) родное расширение - тогда смысл в этом рандоме искать возможные варианты: .001, .002, ; .1, .2, ; .aaa, .bbb, .ccc, ; .a1, a2, ; - список бесконечен ------ + вопросы выше в силе ++ а какого лешего это надо или скажем именно так надо или какая конечная цель (идея) должна быть достигнута сим действом? |
alpap, blacks2,
Цитата:
blacks2, кстати, после префикса сколько штук "_", у Вас 2 - это так задумано? |
Цитата:
Код:
@Echo Off В процедурке Call :RandStr 8 "RStr" 8 - число генерируемых случайных символов, можете его менять Противу своего ощущения, ежели очень хочется уничтожить исходное расширение, вот вариант строки с переименованием Код:
Call Ren "%BoxIn%\%%f" "%Pref%%%N:~1%%%Delim%%%~nf.%%RStr%%" |
Цитата:
- во-первых сокрытием тут уже и не пахнет - во-вторых (писал выше) сортировки при *.001[рандом], *.002[рандом], - не будет, а по задаче нужна (или из двух зол ... ?). |
Цитата:
Цитата:
Цитата:
|
Цитата:
Но, если прочтете вопрос внимательно, там есть готовый рабочий пример-кастыль. Так что сделать "наотмашь" тут не подходит. Я правда старался и изучал вопрос. Цитата:
Ответ: по факту файлов будет 15-30 максимум. * шифровать весь диск/фото архивы =) - не предусматривается Конечно веселее когда возможностей больше, но если по необходимости 15-30 файлов Цитата:
- нет не может, все файлы девственно чисты, только что созданные * замечу что пример-кастыль, переименовывает уже переименованные расширения Цитата:
- исходник: blabla.txt - добавляется префикс pr01_blabla.txt == уже есть сортировка по алфвиту - далее меняется расширение на рандом == сортировка остается по префиксу-алфавиту, не смотря на рандомное расширение * конечно это всё работает если установка префикса pr01_ pr02_ идтет относительно, по умолчанию, алфавитной последовательности добавление префиксов Цитата:
Домашний бекапер на cmd, подумал хорошей параноид-доп защитой от шифровальщиков будет сменить расширение файлам Почитал инфу по вирусам - те в основном ищут файлы по расширению. Поизучал какие расширения ищут - подумал что будет не лишним добавить подмену nas, облака, распределенные бекапы - знаю. понимаю. давно пользую. и понимаю, что алгоритмы могут заглянуть внутрь файла и вытаскивать оттуда что то за файл но то, для них, дополнительная нагрузка на поиск-анализ и в основном все работают по расширению. лучше что-то сделать, чем ничего... а то, как у одного моего клиента, на рабоче столе 2 файла: "пароли.doc" "пароли бухалтерия.doc"... плюс всегда есть доп плюшки если совсем параноить (зашифровать файл, убрать метки) * замечу что просто убрать расширение файла зачастую не помогает Цитата:
- думаю по факту расширения будут все одни (на худой конец папка по формату-расширению файлами) - на всяк случай подстраховался на *.* плюс с моими знаниями cmd, пока бы с ядром разобраться, после уже можно расширения переводить в переменные, менять местами, шифровать... а искать помощи у вас, уважаемого форума, о дополнительных няштяках - не правильно и файлы... в общем должны выглядеть так, словно по ним прошелся шифровальщик (провокация его на зацикленность) Цитата:
В ближайшее время буду изучать. Цитата:
одно сохранённое названия файла - какое тут уже сокрытие =) ? и в тушку файла всегда можно глянуть... Цитата:
Цитата:
Цитата:
|
Время: 18:15. |
Время: 18:15.
© OSzone.net 2001-