Перемещение папки, если папка с таким именем уже существует

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Перемещение папки, если папка с таким именем уже существует

Post by LAT »

Версия: 2.0.1346 (но ситуация, кажется, характерна для всех версий >= 1.71). В настройках "Параметры//Подтверждения" установлены все чекбоксы, все плагины отключены

Если происходит перемещение(копирование) папки, при этом имя папки изменяется, и папка с новым именем уже существует, происходит перемещение(копирование) папки со старым именем внутрь уже существующей папки.

Пример: в папке C:\DOC есть папки Book и Books, внутри которых разбросаны книги различной тематики(под каждую выделена своя подпапка). При попытке перенести книги из Book в Books путем переименования (F6, ввести Books в диалоге), вместо того, чтобы осуществился перенос подпапок и файлов, вся папка Book со всей своей структурой переносится внутрь Books.

Поведение FAR-а при переименовании в рамках одного каталога.
для файлов:
- если имя файла не изменено, сообщение об ошибке
- если файл с указанным именем не существует, переименование
- если файл с указанным именем существует, предупреждение "Файл уже существует"
для папок:
- если имя папки не изменено, сообщение об ошибке
- если папка с указанным именем не существует, переименование
- если папка с указанным именем существует, ПЕРЕМЕЩЕНИЕ ДАННОЙ ПАПКИ ВНУТРЬ СУЩЕСТВУЮЩЕЙ

Поведение FAR-а при переименовании в рамках разных каталогов.
для файлов:
- если файл с указанным именем не существует, переименование
- если файл с указанным именем существует, предупреждение "Файл уже существует"
для папок:
- если папка с указанным именем не существует, переименование
- если папка с указанным именем существует и имя папки в диалоге переименования не изменялось, предупреждение "Файл уже существует"
- если папка с указанным именем существует, и имя папки в диалоге переименования было изменено, ПЕРЕМЕЩЕНИЕ ДАННОЙ ПАПКИ ВНУТРЬ СУЩЕСТВУЮЩЕЙ

Аналогично FAR ведет себя в случае копирования.

Недостатки данного подхода к перемещению(копированию):
1) различное поведение в разных ситуациях замедляет работу: вместо автоматического выполнения операций приходится задумываться: переместятся(скопируются) ли данные туда, куда хотелось бы.
2) в случае существования папки с требуемым именем само перемещение(копирование) становится громоздким: нужно на одной панели открыть одну папку, на другой - вторую, выделить все, переместить(скопировать), а при перемещении - еще и подняться на уровень вверх и удалить старую папку.
3) не всегда хватает времени или внимательности, чтобы заметить, что папка с новым именем уже существует, поэтому после перемещения(копирования) файлы иногда приходится искать - особенно если с момента перемещения(копирования) прошло достаточно много времени.

Конечно, все это можно попробовать "победить" и макросами, но, возможно, имеет смысл унифицировать поведение программы для случаев файлов и папок, независимо от того, существует ли уже папка с новым именем, и сделать это поведение максимально удобным для пользователей? Имхо, будет логичнее и удобнее , если при попытке перемещения(копирования) папки и условии, что папка с новым именем уже существует, программа будет выводить предупреждение об этом и стандартный диалог "Файл уже существует".
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Перемещение папки, если папка с таким именем уже существует

Post by [e]Bu$ter »

Тоже иногда сталкиваюсь с этим. Хочется объединить содержимое двух каталогов в одном, даёшь первой папке имя второй, и вместо желаемого результат получаешь первый каталог внутри второго. Да ещё и не переименованный.

Примечательно, что ТС (6.5) ведёт себя аналогичным образом.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Перемещение папки, если папка с таким именем уже существует

Post by Skirda »

[e]Bu$ter wrote:Примечательно, что ТС (6.5) ведёт себя аналогичным образом.
слизали :ha:
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Перемещение папки, если папка с таким именем уже существует

Post by Centaur »

Это правильно, потому что соответствует поведению команды move.
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Перемещение папки, если папка с таким именем уже существует

Post by [e]Bu$ter »

Centaur wrote:Это правильно, потому что соответствует поведению команды move.
На мой взгляд, move — это если бы мы F6 жали. Тогда я полностью согласен, другого поведения и ожидать нельзя. Но ведь мы жмём ShiftF6, и ожидаем некий аналог ren.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Перемещение папки, если папка с таким именем уже существует

Post by LAT »

Centaur wrote:Это правильно, потому что соответствует поведению команды move.
Мне кажется, что правильно - когда поведение соответствует желанию пользователя, а не команде move. Ведь если move ведет себя неудобно, разве это повод, чтобы FAR следовал ей? В принципе, недостатки текущего поведения я перечислил в 1-м посту.
User avatar
vkh
Posts: 226
Joined: Fri 13 Nov, 2009 07:48
Has thanked: 2 times
Been thanked: 1 time

Re: Перемещение папки, если папка с таким именем уже существует

Post by vkh »

а я считаю фар и move ведут себя корректно
мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
для перемещения содержимого А в Б необходимо зайти в А, выделить вс:е Ctrl+звездочка и перенести в нужную папку Б
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Перемещение папки, если папка с таким именем уже существует

Post by LAT »

vkh wrote:а я считаю фар и move ведут себя корректно
мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
для перемещения содержимого А в Б необходимо зайти в А, выделить вс:е Ctrl+звездочка и перенести в нужную папку Б
Т.е.:
1) если папка Б уже существует, разумно предположить, что мы в итоге хотим получить структуру папок Б/А/.
2) а вот если Б не существует, мы, оказывается, хотим получить структуру Б/.
3) а для файлов вариант 1 вообще невозможен, и мы всегда хотим получить Б.
Получается: разумно предположить, что в одном и том же режиме давим одни и те же кнопки, а хотим получить разные результаты??? :?

Ведь вся эта «разумность» сводится к тому, чтобы пользователь, перед тем как переименовывал (копировал):
1) сверился - он копирует файл или папку
2) для файла смело нажимал [SHIFT-]F6(F5) и вводил новое имя
3) для папки – дополнительно проверял, есть ли такая папка
4) если нету – нажимал [SHIFT-]F6(F5) и аккуратно и внимательно вводил новое имя: ведь достаточно сделать опечатку, или не глядя воспользоваться автодополнением (сама по себе штука удобная, но в данной ситуации сопряжена с некоторым риском), чтобы папка со всем своим содержимым безо всяких предупреждений отправилась вглубь какой-либо другой (в конечном итоге - неизвестной) папки.
5) если есть – вывел на одной панели содержимое папки А, на другой – содержимое папки Б, выделил все в папке А, переименовал (скопировал) (F6(F5)) с панели на панель, восстановил на одной из панелей содержимое до переименования (копирования) (ведь она не просто так была открыта, он же чем то там занимался?), а в случае переименования – перешел на другой панели из папки А на уровень выше и удалил саму папку А.

Что разумнее – выполнять все перечисленные действия самому :( или возложить этот простой, но несколько задолбистый труд на программу :) ? Чтобы она всегда вела себя однотипно, как в случае файлов.
User avatar
Px
Posts: 826
Joined: Fri 08 Sep, 2006 15:52
Location: Вишнёвый (под Киевом)
Contact:

Re: Перемещение папки, если папка с таким именем уже существует

Post by Px »

vkh wrote:мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
Вроде же было уже подобное обсуждение...
С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б :)
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Перемещение папки, если папка с таким именем уже существует

Post by [e]Bu$ter »

Px wrote:...
С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б :)
Присоединяюсь.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Перемещение папки, если папка с таким именем уже существует

Post by LAT »

Px wrote: С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б :)
Т.е.: если при переименовании (и, наверное, копировании?) папки А в Б, при условии, что папка Б существует, набрать "Б\", должна появиться структура Б\А (поведение идентично текущему), а набрать "Б", то остается только папка Б (с выдачей сообщений, если А и Б содержит одноименные файлы и переносом содержимого А в Б)?
User avatar
Px
Posts: 826
Joined: Fri 08 Sep, 2006 15:52
Location: Вишнёвый (под Киевом)
Contact:

Re: Перемещение папки, если папка с таким именем уже существует

Post by Px »

LAT wrote:
Px wrote: С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б :)
Т.е.: если при переименовании (и, наверное, копировании?) папки А в Б, при условии, что папка Б существует, набрать "Б\", должна появиться структура Б\А (поведение идентично текущему), а набрать "Б", то остается только папка Б (с выдачей сообщений, если А и Б содержит одноименные файлы и переносом содержимого А в Б)?
Ага.
Единственная неоднозначность: переименовываем А в Б, указано Б\, а папки Б нет, в таком случае должна создаться папка Б, и появиться структура Б\А
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Перемещение папки, если папка с таким именем уже существует

Post by LAT »

Присоединяюсь: имхо, такое поведение будет последовательным, однозначным и удобным. Осталось только выяснить, как к такому предложению отнесутся оппоненты и FAR Group. :)
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Перемещение папки, если папка с таким именем уже существ

Post by LAT »

[жалобно] Может, все-таки можно реализовать предложение http://forum.farmanager.com/posting.php ... 64#pr57260 для переноса и копирования?
User avatar
John Doe
Бюрократ
Posts: 13867
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Перемещение папки, если папка с таким именем уже существ

Post by John Doe »

Существуют ли файлменеджер, или консольная утилита, работающие именно так?

При копировании нескольких файлов завершающий слеш помогает определить, что назначение - папка, а не файл.
Различать наличие/отсутствие слеша в других случаях - идея сомнительная.

Может лучше написать макрос?
Post Reply

Return to “Предложения и идеи”