2

Мне часто нужно быстро скопировать имя папки в Windows 7, и поэтому я пытаюсь создать эквивалент элемента « Copy as path который появляется в расширенных контекстных меню (т. Е. При выполнении Shift+щелчок правой кнопкой мыши), который будет копировать только имя выбранной папки в буфер обмена.

Я создал ключ реестра в:

HKEY_CLASSES_ROOT\Directory\shell\Copy folder name\command

... где все мои похожие добавления контекстного меню для папок, и это можно увидеть здесь:

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

for %* in (.) do set FolderName=%~nx* && echo %FolderName%| clip

Этот код работает точно так, как ожидается в командной строке.

Добавление к нему cmd /c , которое необходимо для запуска экземпляра CMD из реестра, дает следующее:

cmd /c for %* in (.) do set FolderName=%~nx* && echo %FolderName%| clip

Однако поместить его в данные значения строкового значения по Default в командном ключе \Copy folder name\command , а затем щелкнуть правой кнопкой мыши папку и щелкнуть по кнопке Copy copy name не удастся.

Заключение в кавычки также ничего не делает:

cmd /c "for %* in (.) do set FolderName=%~nx* && echo %FolderName%| clip"

Что мне здесь не хватает?

0