Перемещение папки, если папка с таким именем уже существует
Перемещение папки, если папка с таким именем уже существует
Версия: 2.0.1346 (но ситуация, кажется, характерна для всех версий >= 1.71). В настройках "Параметры//Подтверждения" установлены все чекбоксы, все плагины отключены
Если происходит перемещение(копирование) папки, при этом имя папки изменяется, и папка с новым именем уже существует, происходит перемещение(копирование) папки со старым именем внутрь уже существующей папки.
Пример: в папке C:\DOC есть папки Book и Books, внутри которых разбросаны книги различной тематики(под каждую выделена своя подпапка). При попытке перенести книги из Book в Books путем переименования (F6, ввести Books в диалоге), вместо того, чтобы осуществился перенос подпапок и файлов, вся папка Book со всей своей структурой переносится внутрь Books.
Поведение FAR-а при переименовании в рамках одного каталога.
для файлов:
- если имя файла не изменено, сообщение об ошибке
- если файл с указанным именем не существует, переименование
- если файл с указанным именем существует, предупреждение "Файл уже существует"
для папок:
- если имя папки не изменено, сообщение об ошибке
- если папка с указанным именем не существует, переименование
- если папка с указанным именем существует, ПЕРЕМЕЩЕНИЕ ДАННОЙ ПАПКИ ВНУТРЬ СУЩЕСТВУЮЩЕЙ
Поведение FAR-а при переименовании в рамках разных каталогов.
для файлов:
- если файл с указанным именем не существует, переименование
- если файл с указанным именем существует, предупреждение "Файл уже существует"
для папок:
- если папка с указанным именем не существует, переименование
- если папка с указанным именем существует и имя папки в диалоге переименования не изменялось, предупреждение "Файл уже существует"
- если папка с указанным именем существует, и имя папки в диалоге переименования было изменено, ПЕРЕМЕЩЕНИЕ ДАННОЙ ПАПКИ ВНУТРЬ СУЩЕСТВУЮЩЕЙ
Аналогично FAR ведет себя в случае копирования.
Недостатки данного подхода к перемещению(копированию):
1) различное поведение в разных ситуациях замедляет работу: вместо автоматического выполнения операций приходится задумываться: переместятся(скопируются) ли данные туда, куда хотелось бы.
2) в случае существования папки с требуемым именем само перемещение(копирование) становится громоздким: нужно на одной панели открыть одну папку, на другой - вторую, выделить все, переместить(скопировать), а при перемещении - еще и подняться на уровень вверх и удалить старую папку.
3) не всегда хватает времени или внимательности, чтобы заметить, что папка с новым именем уже существует, поэтому после перемещения(копирования) файлы иногда приходится искать - особенно если с момента перемещения(копирования) прошло достаточно много времени.
Конечно, все это можно попробовать "победить" и макросами, но, возможно, имеет смысл унифицировать поведение программы для случаев файлов и папок, независимо от того, существует ли уже папка с новым именем, и сделать это поведение максимально удобным для пользователей? Имхо, будет логичнее и удобнее , если при попытке перемещения(копирования) папки и условии, что папка с новым именем уже существует, программа будет выводить предупреждение об этом и стандартный диалог "Файл уже существует".
Если происходит перемещение(копирование) папки, при этом имя папки изменяется, и папка с новым именем уже существует, происходит перемещение(копирование) папки со старым именем внутрь уже существующей папки.
Пример: в папке C:\DOC есть папки Book и Books, внутри которых разбросаны книги различной тематики(под каждую выделена своя подпапка). При попытке перенести книги из Book в Books путем переименования (F6, ввести Books в диалоге), вместо того, чтобы осуществился перенос подпапок и файлов, вся папка Book со всей своей структурой переносится внутрь Books.
Поведение FAR-а при переименовании в рамках одного каталога.
для файлов:
- если имя файла не изменено, сообщение об ошибке
- если файл с указанным именем не существует, переименование
- если файл с указанным именем существует, предупреждение "Файл уже существует"
для папок:
- если имя папки не изменено, сообщение об ошибке
- если папка с указанным именем не существует, переименование
- если папка с указанным именем существует, ПЕРЕМЕЩЕНИЕ ДАННОЙ ПАПКИ ВНУТРЬ СУЩЕСТВУЮЩЕЙ
Поведение FAR-а при переименовании в рамках разных каталогов.
для файлов:
- если файл с указанным именем не существует, переименование
- если файл с указанным именем существует, предупреждение "Файл уже существует"
для папок:
- если папка с указанным именем не существует, переименование
- если папка с указанным именем существует и имя папки в диалоге переименования не изменялось, предупреждение "Файл уже существует"
- если папка с указанным именем существует, и имя папки в диалоге переименования было изменено, ПЕРЕМЕЩЕНИЕ ДАННОЙ ПАПКИ ВНУТРЬ СУЩЕСТВУЮЩЕЙ
Аналогично FAR ведет себя в случае копирования.
Недостатки данного подхода к перемещению(копированию):
1) различное поведение в разных ситуациях замедляет работу: вместо автоматического выполнения операций приходится задумываться: переместятся(скопируются) ли данные туда, куда хотелось бы.
2) в случае существования папки с требуемым именем само перемещение(копирование) становится громоздким: нужно на одной панели открыть одну папку, на другой - вторую, выделить все, переместить(скопировать), а при перемещении - еще и подняться на уровень вверх и удалить старую папку.
3) не всегда хватает времени или внимательности, чтобы заметить, что папка с новым именем уже существует, поэтому после перемещения(копирования) файлы иногда приходится искать - особенно если с момента перемещения(копирования) прошло достаточно много времени.
Конечно, все это можно попробовать "победить" и макросами, но, возможно, имеет смысл унифицировать поведение программы для случаев файлов и папок, независимо от того, существует ли уже папка с новым именем, и сделать это поведение максимально удобным для пользователей? Имхо, будет логичнее и удобнее , если при попытке перемещения(копирования) папки и условии, что папка с новым именем уже существует, программа будет выводить предупреждение об этом и стандартный диалог "Файл уже существует".
Re: Перемещение папки, если папка с таким именем уже существует
Тоже иногда сталкиваюсь с этим. Хочется объединить содержимое двух каталогов в одном, даёшь первой папке имя второй, и вместо желаемого результат получаешь первый каталог внутри второго. Да ещё и не переименованный.
Примечательно, что ТС (6.5) ведёт себя аналогичным образом.
Примечательно, что ТС (6.5) ведёт себя аналогичным образом.
Re: Перемещение папки, если папка с таким именем уже существует
слизали[e]Bu$ter wrote:Примечательно, что ТС (6.5) ведёт себя аналогичным образом.
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Re: Перемещение папки, если папка с таким именем уже существует
Это правильно, потому что соответствует поведению команды move.
Re: Перемещение папки, если папка с таким именем уже существует
На мой взгляд, move — это если бы мы F6 жали. Тогда я полностью согласен, другого поведения и ожидать нельзя. Но ведь мы жмём ShiftF6, и ожидаем некий аналог ren.Centaur wrote:Это правильно, потому что соответствует поведению команды move.
Re: Перемещение папки, если папка с таким именем уже существует
Мне кажется, что правильно - когда поведение соответствует желанию пользователя, а не команде move. Ведь если move ведет себя неудобно, разве это повод, чтобы FAR следовал ей? В принципе, недостатки текущего поведения я перечислил в 1-м посту.Centaur wrote:Это правильно, потому что соответствует поведению команды move.
Re: Перемещение папки, если папка с таким именем уже существует
а я считаю фар и move ведут себя корректно
мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
для перемещения содержимого А в Б необходимо зайти в А, выделить вс:е Ctrl+звездочка и перенести в нужную папку Б
мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
для перемещения содержимого А в Б необходимо зайти в А, выделить вс:е Ctrl+звездочка и перенести в нужную папку Б
Re: Перемещение папки, если папка с таким именем уже существует
Т.е.:vkh wrote:а я считаю фар и move ведут себя корректно
мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
для перемещения содержимого А в Б необходимо зайти в А, выделить вс:е Ctrl+звездочка и перенести в нужную папку Б
1) если папка Б уже существует, разумно предположить, что мы в итоге хотим получить структуру папок Б/А/.
2) а вот если Б не существует, мы, оказывается, хотим получить структуру Б/.
3) а для файлов вариант 1 вообще невозможен, и мы всегда хотим получить Б.
Получается: разумно предположить, что в одном и том же режиме давим одни и те же кнопки, а хотим получить разные результаты???
Ведь вся эта «разумность» сводится к тому, чтобы пользователь, перед тем как переименовывал (копировал):
1) сверился - он копирует файл или папку
2) для файла смело нажимал [SHIFT-]F6(F5) и вводил новое имя
3) для папки – дополнительно проверял, есть ли такая папка
4) если нету – нажимал [SHIFT-]F6(F5) и аккуратно и внимательно вводил новое имя: ведь достаточно сделать опечатку, или не глядя воспользоваться автодополнением (сама по себе штука удобная, но в данной ситуации сопряжена с некоторым риском), чтобы папка со всем своим содержимым безо всяких предупреждений отправилась вглубь какой-либо другой (в конечном итоге - неизвестной) папки.
5) если есть – вывел на одной панели содержимое папки А, на другой – содержимое папки Б, выделил все в папке А, переименовал (скопировал) (F6(F5)) с панели на панель, восстановил на одной из панелей содержимое до переименования (копирования) (ведь она не просто так была открыта, он же чем то там занимался?), а в случае переименования – перешел на другой панели из папки А на уровень выше и удалил саму папку А.
Что разумнее – выполнять все перечисленные действия самому или возложить этот простой, но несколько задолбистый труд на программу ? Чтобы она всегда вела себя однотипно, как в случае файлов.
Re: Перемещение папки, если папка с таким именем уже существует
Вроде же было уже подобное обсуждение...vkh wrote:мы переименовываем папку А в папку Б. папка Б уже есть. разумно предположить что мы хотим перемесить именно А в Б, а не содержимое А в Б.
С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б
Re: Перемещение папки, если папка с таким именем уже существует
Присоединяюсь.Px wrote:...
С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б :)
Re: Перемещение папки, если папка с таким именем уже существует
Т.е.: если при переименовании (и, наверное, копировании?) папки А в Б, при условии, что папка Б существует, набрать "Б\", должна появиться структура Б\А (поведение идентично текущему), а набрать "Б", то остается только папка Б (с выдачей сообщений, если А и Б содержит одноименные файлы и переносом содержимого А в Б)?Px wrote: С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б
Re: Перемещение папки, если папка с таким именем уже существует
Ага.LAT wrote:Т.е.: если при переименовании (и, наверное, копировании?) папки А в Б, при условии, что папка Б существует, набрать "Б\", должна появиться структура Б\А (поведение идентично текущему), а набрать "Б", то остается только папка Б (с выдачей сообщений, если А и Б содержит одноименные файлы и переносом содержимого А в Б)?Px wrote: С моей точки зрения переименование А в Б должно переносить содержимое А в Б, а вот если в конце указать \, то должно происходить перемещение А в Б
Единственная неоднозначность: переименовываем А в Б, указано Б\, а папки Б нет, в таком случае должна создаться папка Б, и появиться структура Б\А
Re: Перемещение папки, если папка с таким именем уже существует
Присоединяюсь: имхо, такое поведение будет последовательным, однозначным и удобным. Осталось только выяснить, как к такому предложению отнесутся оппоненты и FAR Group.
Re: Перемещение папки, если папка с таким именем уже существ
[жалобно] Может, все-таки можно реализовать предложение http://forum.farmanager.com/posting.php ... 64#pr57260 для переноса и копирования?
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Перемещение папки, если папка с таким именем уже существ
Существуют ли файлменеджер, или консольная утилита, работающие именно так?
При копировании нескольких файлов завершающий слеш помогает определить, что назначение - папка, а не файл.
Различать наличие/отсутствие слеша в других случаях - идея сомнительная.
Может лучше написать макрос?
При копировании нескольких файлов завершающий слеш помогает определить, что назначение - папка, а не файл.
Различать наличие/отсутствие слеша в других случаях - идея сомнительная.
Может лучше написать макрос?