Перемещение файлов и папок на уровень вверх
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Перемещение файлов и папок на уровень вверх
Маскa для имени файла ..\[N] перемещает файлы на 1 уровень вверх независимо от глубины подпапки. А если я хочу переместить на 2 уровня (этажа) вверх, тогда как?
Staniclaw
Да, разумеется.
Totas
Ещё раз и больше ни разу. Здесь изначально обсуждается перемещение выделенных объектов на уровень вверх, а не любые варианты перемещения чего угодно куда угодно (их рассматривают в других местах). На свой исходный вопрос ответ вы получили, прекращайте захламлять тему.
Да, разумеется.
Totas
Ещё раз и больше ни разу. Здесь изначально обсуждается перемещение выделенных объектов на уровень вверх, а не любые варианты перемещения чего угодно куда угодно (их рассматривают в других местах). На свой исходный вопрос ответ вы получили, прекращайте захламлять тему.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Как выделить и переместить только подкаталоги?
Имеется множество альбомов, которые находятся в подпапках (т.е. папка в папке). Нужно их переместить на 1 уровень вверх (поскольку названия у них идентичные, в моем случае подпапка заменит главную папку). Однако в главном окне программы я не смог найти Выделить только подкаталоги. ТС либо показывает все файлы подряд во всех каталогах либо только главные (родительские, как их называют) папки. Как выделить и переместить вторые папки (подкаталоги) на один уровень вверх?
Totas
Можно сперва найти файлы по глубине вложенности. Выбираем "Число уровней:1", отмечаем атрибут "Каталог".
Далее "Поиск с плагинами": filex | Глубина вложенности | = | 4
Т.е. C:\1\2:<активная папка>\3\4. Находим > Ctrl+A. После - по разобранной выше схеме.
Можно сперва найти файлы по глубине вложенности. Выбираем "Число уровней:1", отмечаем атрибут "Каталог".
Далее "Поиск с плагинами": filex | Глубина вложенности | = | 4
Т.е. C:\1\2:<активная папка>\3\4. Находим > Ctrl+A. После - по разобранной выше схеме.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
При перемещении файлов с одинаковыми именами (из разных подпапок) на уровень вверх с помощью маски ..\[N] получаю сообщение об ошибке - не удалось переименовать файлы, выделенные жирным шрифтом. Для версии 9.xx это не баг? Разве тотал не должен предложить Автоматически переименовывать в `name (2).ext`, `name (3).ext`…?
Решил вопрос конфликта имён обходным путём: сначала применил маску ..\[P]#[N] (чтобы конфликтов не было), затем, уже с маской [N], сделал замену *# на <Пусто>. Странно, что последняя операция вывела на запрос автопереименования только при условии выхода из диалога и повторном вызове команды. Попытка загрузить результаты переименования для следующего шага (F5) и выполнить указанную замену, не покидая диалог, приводила к пресловутому сообщению о невозможности переименования.
Решил вопрос конфликта имён обходным путём: сначала применил маску ..\[P]#[N] (чтобы конфликтов не было), затем, уже с маской [N], сделал замену *# на <Пусто>. Странно, что последняя операция вывела на запрос автопереименования только при условии выхода из диалога и повторном вызове команды. Попытка загрузить результаты переименования для следующего шага (F5) и выполнить указанную замену, не покидая диалог, приводила к пресловутому сообщению о невозможности переименования.
-
BeardFury78
- Сообщения: 213
- Зарегистрирован: Чт авг 25, 2016 05:24
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Я был бы не я, если бы не сунул сюда пятак в виде скрипта для PowerPro...
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Вахмурка
Ты был бы не ты, если бы знал, что есть тема.
Ты был бы не ты, если бы знал, что есть тема.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
-
BeardFury78
- Сообщения: 213
- Зарегистрирован: Чт авг 25, 2016 05:24
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Нет проблем. Наше дело - предложить.BeardFury78 писал(а):PowerPro нету. А ставить ради одной задачи не хочется. Извините
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
BeardFury78
Там просто двойной уровень распаковки при выборе, например, одного родительского каталога.
Заодно можно наткнуться на рекомендацию по этому вопросу. Плюс я там же давал ссылку на 1 уровень.
Там просто двойной уровень распаковки при выборе, например, одного родительского каталога.
Заодно можно наткнуться на рекомендацию по этому вопросу. Плюс я там же давал ссылку на 1 уровень.
Хотя для этого уточнения нужен свой вариант:BeardFury78 писал(а):Игнорируя папки, которые содержат больше одной папки, а также файлы.
Код: Выделить всё
'============================ 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
Последний раз редактировалось Flasher Чт ноя 22, 2018 22:02, всего редактировалось 3 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
-
BeardFury78
- Сообщения: 213
- Зарегистрирован: Чт авг 25, 2016 05:24
Flasher
Спасибо большое! Занес скрипт в свою коллекцию. Сейчас правда папки уже раскидал вручную, но обязательно, как появятся такие папки, протестирую на них и отпишусь потом.
Добавлено спустя 45 минут:
Только что протестировал. Части подпапок успешно переместились на уровень вверх, а некоторые - нет. Как я понял, дело в разных именах папок, а может в каких то символах. Вот пути проблемных подпапок для примера:
Спасибо большое! Занес скрипт в свою коллекцию. Сейчас правда папки уже раскидал вручную, но обязательно, как появятся такие папки, протестирую на них и отпишусь потом.
Добавлено спустя 45 минут:
Только что протестировал. Части подпапок успешно переместились на уровень вверх, а некоторые - нет. Как я понял, дело в разных именах папок, а может в каких то символах. Вот пути проблемных подпапок для примера:
Дополнение к просьбе: если родительская и дочерная папки содержат разные названия, то дочерную папку переместить вверх, а родительскую (уже пустую) - удалить.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\