Проблема с заключением в кавычки имени с пробелом

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Roy
Posts: 51
Joined: Sat 02 Jul, 2005 00:08

Проблема с заключением в кавычки имени с пробелом

Post by Roy »

Имеем еще два макроса ;)
Копирование\перенос выделенных на панели файлов в директорию под курсором.

Code: Select all

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\AltF5]
"Sequence"="F11 > 1 ShiftEnter Enter"
"DisableOutput"=dword:00000001
"Selection"=dword:00000001
"NoFiles"=dword:00000001
@="Directory: Copy into"

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\AltF6]
"Sequence"="F11 > 2 ShiftEnter Enter"
"DisableOutput"=dword:00000001
"Selection"=dword:00000001
"NoFiles"=dword:00000001
@="Directory: Move into"
"F11 >" Это плуг FileCopyEx.

В итоге на директории с пробелом имеем:

Code: Select all

╔══════════════════════════ Ошибка ══════════════════════════╗
║            Ошибка при создании выходного файла             ║
║                    C:\Temp\"Dir ectory"                    ║
║    The filename, directory name, or volume label syntax    ║
║                        is incorrect                        ║
╟────────────────────────────────────────────────────────────╢
║ [ Повтор ]  [ Пропустить ]  [ Пропустить все ]  [ Отмена ] ║
╚════════════════════════════════════════════════════════════╝
Баг возможно и баг плагина, но в 1812 это работало...
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

TechInfo#50 ?
Roy
Posts: 51
Joined: Sat 02 Jul, 2005 00:08

Post by Roy »

У меня последний 49 :)
Roy
Posts: 51
Joined: Sat 02 Jul, 2005 00:08

Post by Roy »

А что там в нем? ;)
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Code: Select all

   [HKEY_CURRENT_USER\Software\Far\System]
   "QuotedName":REG_DWORD
   Имена файлов/папок (содержащие символы, перечисленные в правиле 34)
   при вставке в редактор/командную строку или в буфер обмена заключатся
   в кавычки.
   Параметр "System/QuotedName" c типом REG_DWORD управляет этим поведением.
   Биты:
     0 - если установлен, то заключать имена файлов/папок в кавычки при
         вставке в редактор или командную строку;
     1 - если установлен, то заключать имена файлов/папок в кавычки при
         запоминании в буфере обмена.
   По умолчанию значение = 0xFFFFFFFF (заключать имена файлов/папок в кавычки)
Roy
Posts: 51
Joined: Sat 02 Jul, 2005 00:08

Post by Roy »

А можно так чтобы мухи отдельно, а котлеты отдельно? %)
Т.е. чтобы в коммандную строку с кавычками, а в диалоги без? :)

В ком. строке аргументы все таки, они должны быть в кавычка, ибо пробел - разделитель аргументов.
А в диалогах - параметры плуга, точнее даже параметр - один, там плуг сам разберется нужны ему кавычки вокруг этого параметра или нет.
Если совсем по-хорошему, то должен быть отдельный хоткей в диалоге, вставлять в кавычках или без.

А в текущей ситуации - нужно выбирать, что у тебя работать не будет: макросы, выполняющиеся в ком. строке, или макросы, выполняющиеся в диалогах. ;)
Roy
Posts: 51
Joined: Sat 02 Jul, 2005 00:08

Post by Roy »

А можно, кстати, дополнительно еще и автоматический режим сделать:
- если вставляется имя файла, и слева от него имя директории в кавычках, то последнюю кавычку перенести в конец имени файла
- если вставляется имя файла в кавычках, и слева от него имя директории, то первую кавычку перенести в начало имени директории
- если вставляется имя файла в кавычках, и слева от него имя директории в кавычках, то лишние кавычки поубивать

Ну и со вставкой имени директории справа от имени файла можно аналогично.
User avatar
bodrox
Posts: 198
Joined: Tue 05 Apr, 2005 09:40
Location: Soviet Union
Has thanked: 3 times

Снова кавычки...

Post by bodrox »

В ФАРе отключена вставка кавычек при копировании имён файлов в клипборд... Но этот же пункт настройки отвечает и за вставку имени файла под курсором в командную строку... А ведь при длинных именах там кавычки нужны! Нах спрашивается это сделано вместе?
Как исправить? Нужно в ком.строке - с кавычками, в клипборде - без...
WTF?
з.ы. если пишу с издёвкой или иронией, то я это прямо указываю в тексте :).
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Глянь TechInfo #50. Там это, кажется, можно побороть.

Или ты про эту самую "настройку" и говоришь? Что-то я не впёр..
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Отключить кавычки в именах файлов

Post by textExpanser »

При копировании/вставке имен фалов и путей, Far часто обрамляет их кавычками. Последние версии начали закавычивать еще круче - даже если скобки в имени, а не пробелы. Так как мне эта функциональность не то что не очень нужна, а даже мешает (ведь добавить кавычки легче, чем их убрать, да и редко они нужны), встал вопрос - как можно отключить закавычивание?
Я часто работаю с именами файлов и путями, но практически никогда мне не нужны кавычки. Отключается ли это в настройках или регистри???
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

textExpanser
да, отключается.
читай TechInfo.txt
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

Kildor, каким образом можно отключить кавычки только при копировании путей? Т.е. чтобы при запуске файла через Enter кавычки были (иначе он не будет работать), а при копировании - нет.
User avatar
HaRT
Moderator
Posts: 10860
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

chupakabra
Лично я для копирования убираю кавычки (а также добавляю \ в случае папки) макросом:

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\AltShiftIns]
"Sequence"="$If ( APanel.SelCount < 2 ) $IClip AltShiftIns %s = clip ( 0, \"\" ); %l = len ( %s ); $If ( substr ( %s, 0, 1 ) == \"\\\"\" && substr ( %s, %l - 1, 1 ) == \"\\\"\" ) %s = substr ( %s, 1, %l - 2 ); $End $If ( fattr ( %s ) & 0x10 ) %s = %s + \"\\\\\"; $End $IClip clip ( 1, %s ) $Else AltShiftIns $End"
"DisableOutput"=dword:00000001
"Description"="Copy smart (unquotes the single entry; adds trailing backslash to a directory path)"
@="Copy smart (unquotes the single entry; adds trailing backslash to a directory path)"
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

chupakabra
TI#50.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

HaRT, о, спасибо!

DrKnS, это в альфе добавили? У меня на 49 номере заканчивается.
Post Reply

Return to “Нужна помощь”