View previous topic :: View next topic |
Author |
Message |
Totas
Joined: 05 Sep 2015 Posts: 24
|
(Separately) Posted: Sun Sep 13, 2015 11:30 Post subject: Перемещение файлов и папок на уровень вверх |
|
|
Маскa для имени файла ..\[N] перемещает файлы на 1 уровень вверх независимо от глубины подпапки. А если я хочу переместить на 2 уровня (этажа) вверх, тогда как? |
|
Back to top |
|
|
Staniclaw
Joined: 12 Dec 2010 Posts: 533 Location: Ташкент
|
(Separately) Posted: Sun Sep 13, 2015 11:32 Post subject: |
|
|
Totas
Надо полагать, ..\..\[N]. _________________ Вечному двигателю -- вечные тормоза!.. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Sep 13, 2015 11:41 Post subject: |
|
|
Staniclaw
Да, разумеется.
Totas
Ещё раз и больше ни разу. Здесь изначально обсуждается перемещение выделенных объектов на уровень вверх, а не любые варианты перемещения чего угодно куда угодно (их рассматривают в других местах). На свой исходный вопрос ответ вы получили, прекращайте захламлять тему. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Totas
Joined: 05 Sep 2015 Posts: 24
|
(Separately) Posted: Mon Jan 23, 2017 16:24 Post subject: Как выделить и переместить только подкаталоги? |
|
|
Имеется множество альбомов, которые находятся в подпапках (т.е. папка в папке). Нужно их переместить на 1 уровень вверх (поскольку названия у них идентичные, в моем случае подпапка заменит главную папку). Однако в главном окне программы я не смог найти Выделить только подкаталоги. ТС либо показывает все файлы подряд во всех каталогах либо только главные (родительские, как их называют) папки. Как выделить и переместить вторые папки (подкаталоги) на один уровень вверх? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 23, 2017 17:04 Post subject: |
|
|
Totas
Можно сперва найти файлы по глубине вложенности. Выбираем "Число уровней:1", отмечаем атрибут "Каталог".
Далее "Поиск с плагинами": filex | Глубина вложенности | = | 4
Т.е. C:\1\2:<активная папка>\3\4. Находим > Ctrl+A. После - по разобранной выше схеме. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Mon Jan 23, 2017 17:49 Post subject: |
|
|
Flasher wrote: | Выбираем "Число уровней:1", |
Не лишнее действие? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 23, 2017 17:50 Post subject: |
|
|
Для ускорения поиска, думаю, нет. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Tue Jan 31, 2017 18:11 Post subject: |
|
|
При перемещении файлов с одинаковыми именами (из разных подпапок) на уровень вверх с помощью маски ..\[N] получаю сообщение об ошибке - не удалось переименовать файлы, выделенные жирным шрифтом. Для версии 9.xx это не баг? Разве тотал не должен предложить Автоматически переименовывать в `name (2).ext`, `name (3).ext`…?
Решил вопрос конфликта имён обходным путём: сначала применил маску ..\[P]#[N] (чтобы конфликтов не было), затем, уже с маской [N], сделал замену *# на <Пусто>. Странно, что последняя операция вывела на запрос автопереименования только при условии выхода из диалога и повторном вызове команды. Попытка загрузить результаты переименования для следующего шага (F5) и выполнить указанную замену, не покидая диалог, приводила к пресловутому сообщению о невозможности переименования. |
|
Back to top |
|
|
BeardFury78
Joined: 25 Aug 2016 Posts: 213
|
(Separately) Posted: Tue Nov 20, 2018 16:47 Post subject: |
|
|
Есть папки, которые содержат только одну папку и её нужно переместить наверх (с объединением папок, если подпапка содержит то же название родительской папки). Как сделать? Игнорируя папки, которые содержат больше одной папки, а также файлы. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Nov 20, 2018 17:12 Post subject: |
|
|
Вахмурка
Ты был бы не ты, если бы знал, что есть тема. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
BeardFury78
Joined: 25 Aug 2016 Posts: 213
|
(Separately) Posted: Tue Nov 20, 2018 17:20 Post subject: |
|
|
Вахмурка
PowerPro нету. А ставить ради одной задачи не хочется. Извините.
Flasher
Насколько я понял, описание темы не совпадает с тем, что я прошу. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Nov 20, 2018 19:25 Post subject: |
|
|
BeardFury78
Там просто двойной уровень распаковки при выборе, например, одного родительского каталога.
Заодно можно наткнуться на рекомендацию по этому вопросу. Плюс я там же давал ссылку на 1 уровень.
BeardFury78 wrote: | Игнорируя папки, которые содержат больше одной папки, а также файлы. | Хотя для этого уточнения нужен свой вариант:
Code: | '============================ VBS ============================
' Переместить одиночные подпапки из выбранных папок в активную
' Условие: путь запуска — пустой
' Параметр: %WF
'=============================================================
Set ShA = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dir = ShA.NameSpace(FSO.GetAbsolutePathName(""))
Set List = FSO.OpenTextFile(WSH.Arguments(0),,,-1)
Do : F = List.ReadLine
If Right(F, 1) = "\" Then
Set Items = ShA.NameSpace(Dir.Self.Path & "\" & F).Items : Items.Filter 73952, "*"
If Items.Count = 1 Then
P = Items.Item(0).Path : Ch = Not FSO.FolderExists(FSO.GetFileName(P))
If FSO.FolderExists(P) Then Dir.MoveHere Items, 5652 : If Ch Then FSO.GetFolder(F).Delete(1)
End If
Else List.Close : WSH.Quit : End If
Loop Until List.AtEndOfStream : List.Close |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Thu Nov 22, 2018 23:02; edited 3 times in total |
|
Back to top |
|
|
BeardFury78
Joined: 25 Aug 2016 Posts: 213
|
(Separately) Posted: Tue Nov 20, 2018 21:34 Post subject: |
|
|
Flasher
Спасибо большое! Занес скрипт в свою коллекцию. Сейчас правда папки уже раскидал вручную, но обязательно, как появятся такие папки, протестирую на них и отпишусь потом.
Добавлено спустя 45 минут:
Только что протестировал. Части подпапок успешно переместились на уровень вверх, а некоторые - нет. Как я понял, дело в разных именах папок, а может в каких то символах. Вот пути проблемных подпапок для примера:
Quote: | d:\Files\mods2\BetterPawnControl_v1.9.5\BetterPawnControl\
d:\Files\mods2\MarvsDisasters120_TEST_R1\MarvsDisasters\
d:\Files\mods2\MarvsPleaseHaulPerishables149_R1\MarvsPleaseHaulPerishables\
d:\Files\mods2\MarvsToxicWorld018_TEST_R1\MarvsToxicWorld\
d:\Files\mods2\PowerLogic18cR10-159-1-8c-1542716600\PowerLogic\
d:\Files\mods2\Rimfire_v2.5\Rimfire 2.5\ |
Дополнение к просьбе: если родительская и дочерная папки содержат разные названия, то дочерную папку переместить вверх, а родительскую (уже пустую) - удалить. |
|
Back to top |
|
|
|