A menudo necesito copiar rápidamente el nombre de una carpeta en Windows 7, por lo que intento crear un equivalente al Copy as path
elemento que aparece en los menús contextuales extendidos (es decir, cuando hago Shift+ Right Click) que copiará solo el nombre de la carpeta seleccionada en la carpeta. portapapeles.
He creado la clave de Registro en:
HKEY_CLASSES_ROOT\Directory\shell\Copy folder name\command
...donde están todas mis adiciones similares al menú contextual para carpetas, y se puede ver aquí:
Sin embargo, hasta ahora no he podido lograr que el código que debe ejecutar la clave funcione como debería. me he encontradoesta solución para tomar la carpeta actual de un directorio, yeste para canalizar el nombre del directorio al portapapelesy júntelos para obtener lo siguiente:
for %* in (.) do set FolderName=%~nx* && echo %FolderName%| clip
Este código funciona exactamente como se esperaba en la línea de comando.
Anteponiendo cmd /c
esto, que es necesario para ejecutar una instancia de CMD desde el Registro, aparece lo siguiente:
cmd /c for %* in (.) do set FolderName=%~nx* && echo %FolderName%| clip
Sin embargo, colocar esto en los datos del valor del Default
valor de cadena en la \Copy folder name\command
clave y luego hacer clic derecho en una carpeta y hacer clic enCopiar nombre de carpetano funciona.
Envolverlo entre comillas tampoco hace nada:
cmd /c "for %* in (.) do set FolderName=%~nx* && echo %FolderName%| clip"
¿Que me estoy perdiendo aqui?