Мне часто нужно быстро скопировать имя папки в 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"
Что мне здесь не хватает?