Создание подкаталогов

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

согласен, путано объясняю.

- да должно переместиться тоже
- папка "1" не создается
- aaa.xml не перемещается
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Zombie
Так, стоп. Ещё раз: находимся в папке "какая-то папка". В ней лежат подпапки "aaa", "666" и т.д. Условие нахождения выполнено?
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

нет. находимся в папке "какая-то папка" в ней лежат файлы ааа, ббб.
и все они должны дружно переместиться в папку "1" внутри "какая-то папка"

(какая-то папка\1\ааа
-ббб
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Одно другому противоречит. Переместиться должно не внутри "какая-то папка", а внутри каждой из вложенных "aaa", "666" и т.д.
Zombie писал(а):какая-то папка\1\ааа
Может, всё-таки: какая-то папка\aaa\1 ?
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

по принципу находимся внутри папки "кака-то папка" с файлами нажимаем f7 создаем папку "1" и все файлы из "кака-то папка" перемещаем в "1"
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Zombie
Да это совсем другой принцип. Я создал пакетную обработку. Зачем нужен такой геморрой - работать с каждой папкой в отдельности? Я же по-русски пишу:
Flasher писал(а):Ещё раз: находимся в папке "какая-то папка". В ней лежат подпапки "aaa", "666" и т.д.
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

Ещё раз: находимся в папке "какая-то папка". В ней лежат подпапки "aaa", "666" и т.д. - условие верно.

я описал принцип уже внутри подпапки "aaa", "666" и т.д.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Zombie писал(а):я описал принцип уже внутри подпапки "aaa", "666" и т.д.
Сперва с моим принципом разберёмся и напишем, что в нём не устраивает, а потом уже напишу скрипт для каждой папки в отдельности (хотя совершенно не понимаю - зачем это нужно).
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

дл каждой в отдельности и не нужно.
просто я правда не знаю как еще объяснить :(
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Zombie писал(а):дл каждой в отдельности и не нужно
Т.е. под словами
Zombie писал(а):я описал принцип уже внутри подпапки "aaa", "666" и т.д.
не стоит понимать, что активной папкой является одна из этих: "aaa", "666", а именно их родительская?

Если я прав, то просто не понимаю, в чём может быть поблема. У себя проверяю - всё работает стабильно. Может, названия папок не совпадают с именами вложенных xml?
Тут должно быть чётко: Активная_папка\Имя_папки\Имя_папки.xml
тогда Имя_папки.xml переместится в Активная_папка\Имя_папки\1\Имя_папки.xml
Такие файлы точно есть?
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

Если я прав, то просто не понимаю, в чём может быть поблема. У себя проверяю - всё работает стабильно. Может, названия папок не совпадают с именами вложенных xml?
Тут должно быть чётко: Папка нахождения\Имя_папки\Имя_папки.xml
тогда Имя_папки.xml переместится в Папка нахождения\Имя_папки\1\Имя_папки.xml
Такие файлы точно есть?
да, вы правы.
файлы точно есть, не перемещаются и папка "1" не создается.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Понятия не имею, в чём тогда проблема.
Для задачи перемещения файлов с названием, начало которого совпадает с названием папки, надо строку:

Код: Выделить всё

      If F.Name = .GetBaseName(P) And _ 
поменять на

Код: Выделить всё

      If F.Name = Left(.GetBaseName(P), Len(F.Name)) And _
но если не работает и первый вариант, то в этом нет особого смысла.
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

помогло! ура! скрипт заработал.

а возможно ли пойти немного дальше, чтобы перемещались и файлы имя которых совпадает с названием папки частично т.е. сравнивались первые несколько символов?

конечно если это не очень трудоемко.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Zombie писал(а):помогло! ура! скрипт заработал.
Значит, всё-таки я был прав. Таких файлов, где базовое имя файла в точности совпадает с именем папки, не было, или просто не просматривались папки, где они были.
Zombie писал(а):перемещались и файлы имя которых совпадает с названием папки частично т.е. сравнивались первые несколько символов?
Конкретику можно? Сколько символов?
Zombie
Сообщения: 16
Зарегистрирован: Пт июл 01, 2011 20:13

Сообщение Zombie »

33 символа слева.
Ответить