Переместить несколько выбранных файлов в новую папку из контекстного меню

Переместить несколько выбранных файлов в новую папку из контекстного меню

Я пытаюсь добавить опцию SendTo, которая работала бы так же, как работает опция SendTo «Сжатая (zip) папка», но вместо этогодвижетсявыбранные файлы и папки вновая папкавместо:

  1. Выберите файлы и/или папки в проводнике Windows.
  2. Щелкните правой кнопкой мыши по одному из выбранных элементов или нажмите клавишу меню на клавиатуре.
  3. Наведите курсор на «Отправить» и нажмите на новую опцию «Новая папка».
  4. Выбранные элементы перемещаются в новую папку в текущем каталоге.

Возможно, следует проявить осторожность при выборе имени новой папки, чтобы оно не конфликтовало с уже существующим именем.

При желании было бы неплохо, если бы папка наследовала имя одного из файлов (в идеале того, по которому щелкнули правой кнопкой мыши), и, кроме того, было бы неплохо, хотя и не обязательно, если бы после создания папки и перемещения в нее файлов имя папки можно было бы немедленно изменить без дополнительных действий, как это работает в случае с опцией SendTo «Сжатая (zip) папка».

Я попытался сделать это самостоятельно и обнаружил следующее:

Это работает, но вводит ненужные шаги, поскольку отображает новое окно и папку нужно сначала создать вручную, а затем выбрать.

Это почти срабатывает, но, похоже, работает только с одним файлом. Я пробовал изменить его, чтобы использовать %*вместо %1в команде перемещения, но, похоже, скрипт получает только один параметр? Я не совсем уверен, так как у меня нет большого опыта работы с этим языком сценариев.

  • Я также знаю о расширениях оболочки, однако понятия не имею, как они работают.

Я использую Windows 10, но я не ожидал бы, что решение будет специфичным для этой версии, хотя я могу ошибаться. Также, если решение будет найдено, но не будет использовать функцию SendTo, но его все равно можно будет добавить в контекстное меню, это нормально для меня.

Любая помощь в этом вопросе будет оценена по достоинству :)

EDIT: изменено $1на $*и %1( %*была просто опечатка, проблема все еще актуальна)

EDIT2: Я сегодня поискал немного больше самостоятельно и нашел это«отправить» все выбранные файлы в папкучто на самом деле то, что я искал. Странно, что это было так трудно найти, ну да ладно.

решение1

Я не уверен, можно ли это добавить вОтправитьконтекстное меню, поскольку это физические ярлыки, содержащиеся внутри %AppData%\Microsoft\Windows\SendTo, однакоКопировать в папку...иПереместить в папку...можно добавить в главное контекстное меню через:

Общая информация: это не элегантное решение, так как оно требует навигации по дереву каталогов и не позволяет эффективно открывать вложенные каталоги или вставлять пути к каталогам.

  • графический интерфейс:

    1. WinKey+ RОткрыть: RegEditХОРОШО
    2. Нажмите на адресную строку → Ctrl+ A(x2) → Вставьте путь ниже →Enter
      HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers
      
    3. Щелкните правой кнопкой мыши ContextMenuHandlersНовыйКлючCopyTo
      1. Щелкните правой кнопкой мыши (Default)Изменить...
      2. Данные о значении: {C2FBB630-2971-11D1-A18C-00C04FD75D13}ХОРОШО

    4. Щелкните правой кнопкой мыши ContextMenuHandlersНовыйКлючMoveTo
      1. Щелкните правой кнопкой мыши (Default)Изменить...
      2. Данные о значении: {C2FBB631-2971-11D1-A18C-00C04FD75D13}ХОРОШО

  • CLI:

    # Copy to:
      Reg Add "HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyTo" /t REG_SZ /d "{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
    
    # Move to:
      Reg Add "HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers\MoveTo" /t REG_SZ /d "{C2FBB631-2971-11D1-A18C-00C04FD75D13}"
    

Связанный контент