¿Windows 7 define variables de entorno para bibliotecas preexistentes? Tengo curiosidad porque a menudo los uso cuando escribo una ruta en los cuadros de diálogo Abrir/Guardar o desde el Run
mensaje. Por ejemplo, para acceder al directorio de configuración de Firefox del usuario actual run
,:
%APPDATA%\Mozilla\Firefox
Es un atajo útil y esperaba encontrar algo similar para las rutas de la biblioteca. Por ejemplo:
%LIBRARIES%\Music\
%MUSIC%\
Entiendo que las bibliotecas agregan una o más carpetas de nivel superior, por lo que podría haber ambigüedad. Microsoft tiene unlistade variables de entorno, pero no se puede acceder a la mayoría a través de la interfaz de usuario de Windows.Esta preguntatambién enlaza a una buena lista, pero no incluye Documents
la carpeta, Music
carpeta, etc. de un usuario.
Respuesta1
Las bibliotecas de Windows son, de hecho, sólo xml
archivos que definen cómo mostrar una colección de carpetas. Se muestran mediante una extensión de shell especial integrada en Windows. Dado que no son carpetas reales, no se puede acceder directamente a los archivos y subcarpetas a través de una ruta.
Con unabiertoventana del explorador, puede escribir en la barra de direcciones:
libraries\music
Esto hacenoParece funcionar desde el File Name
cuadro de diálogo abrir/guardar. Tampoco funciona con el run
mando.
Qué puedes hacer al respecto:
Windows Vista introdujo el "Carpetas conocidas"concepto. Reemplaza la antigua "lista de ID de artículos especiales constantes" (CSIDL) metodología utilizada en XP. Hay unexcelente publicaciónen el Blog de Windows; analiza este cambio y proporciona una descripción general de la *.library-ms
estructura del archivo.
Las carpetas conocidas tienen GUID. Para acceder a ellos a través de la línea de comando, anteponga su URI con knownfolder:
. Haydocenas definidas. Para acceder a la carpeta del usuario actual Music
, por ejemplo, run
el siguiente comando:
knownfolder:{4BD8D571-6D19-48D3-BE97-422220080E43}
Esto lo llevará a la configuración predefinida.por defectocarpeta de música. Entonces, si ha cambiado la carpeta de la biblioteca, lamentablemente esto no funcionará.
La carpeta predeterminada de una biblioteca puede seraccedidoprogramáticamente usandoBiblioteca IShellinterfaz, pero eso está fuera del alcance de mi pregunta original. Parece que el mejor enfoque es:
- Asigne manualmente variables de entorno a su ruta conocida
- O asigne manualmente variables de entorno utilizando su GUID. La ventaja aquí es que lo convierte en una variable del sistema y hace que funcione para todos los usuarios).
Respuesta2
Si desea %music%
señalar su carpeta de música, simplemente agregue una nueva variable ambiental a su sistema.
Si desea %Libraries%
apuntar a sus bibliotecas, cree un acceso directo c:\
, por ejemplo, y luego cree una nueva variable ambiental que apunte a su c:\libraries
acceso directo. (pero entrar directamente en subcarpetas no funcionará, pero puedes crear una nueva variable para las que están en Bibliotecas)
Luego puedes llamarlos a ambos desde run with %music%
o%Libraries%