EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору pikorembo Цитата: Указываем для распаковки путь X: (без обратного слеша \). Архив распаковывается в родительский каталог архива, а должен был распаковаться в корень диска X:. | Как тут уже отметили, X: это текущий каталог, а не корень диска X:. Цитата: Это относится к внутренностям ПО/ОС, про которые обычный пользователь не обязан ничего знать. | Должны ли мы отобрать возможность указывать текущий каталог у продвинутых пользователей ради неосведомленных обычных пользователей? Мне-то намного проще было бы реализовать переход в корень диска, чем поддерживать работу с относительными путями, но все ли такому обрадуются? Я сомневаюсь. Цитата: Тем более, что у него отсутствует возможность их контролировать. | Я регулярно запускаю WinRAR из FAR, откуда он и наследует текущие каталоги. Кроме того, если X: совпадает с диском, открытым в WinRAR, сейчас он подразумевает текущий каталог в окне WinRAR. Если не совпадает, как в вашем втором пункте, возникают сложности, так как в Windows на уровне API концепция текущего каталога поддерживается только для текущего диска. А для прочих дисков этим занимается командный процессор с переменными вида %=X:%, и сейчас WinRAR с этими переменными не работает. Но можно сделать, чтобы работал. Тем не менее, даже сейчас WinRAR в большой степени поддерживает относительные пути и на других дисках. Недоработку для ZIP из пункта 2 можно поправить. Цитата: К примеру, стандартный распаковщик ZIP-файлов Windows извлекает файлы в корень диска, если указать для распаковки путь X: (без обратного слеша \). | WinRAR, в отличие от встроенного распаковщика и Windows Explorer, все же ориентирован и на продвинутых пользователей. В строке адреса вручную пути вводятся крайне редко, и там не так важно, поддерживаем ли мы относительные пути. Но в других частях интерфейса такие пути вполне могут использоваться. В диалоге упаковки я могу указать e:newarc.rar, и WinRAR обработает это как относительный путь. Обрабатывать это как e:\newarc.rar было бы странно. Позволить относительные пути в диалоге упаковки, но не в строке адреса было бы непоследовательно. Цитата: Открываем архив любого формата. В адресную строку вводим X: (без обратного слеша \). Должен был открыться корень диска X:. | Тут можно будет сделать переход на относительный путь X: Цитата: Можно ввести в адресную строку всё что угодно, кроме имён каталогов внутри корня архива. | Да, введенные в строке адреса имена каталогов внутри архива WinRAR сейчас не проверяет на соответствие реальным каталогам в архиве. При соотвествии переходит в реальный каталог архива, при несоответствии в фиктивный. Такая проверка была бы достаточно трудоемка в реализации, а практическая ее польза минимальна, так что на данный момент она не реализована. Цитата: Что вообще должно происходить при наборе имени файла в адресной строке? | Если это архив, он должен открыться. |