Tengo un esquema de carpeta como (versión altamente simplificada):
New Files
>Tools
>Scripts
Tested Files
>Tools
>Scripts
... y me gustaría tener un acceso directo en cada carpeta desde las carpetas secundarias "Nuevos archivos" a la carpeta secundaria "Archivos probados". Pero esta carpeta se puede mover de vez en cuando, lo que rompería dichos accesos directos.
¿Hay alguna manera de hacer un acceso directo relativo a cada carpeta? Recuerdo haber hecho esto en HTML donde podría establecer una ruta, algo así .../Files
como volver a un padre y luego a una nueva carpeta, pero no estoy seguro de si esto es algo compatible con los accesos directos de Windows.
PD: El caso de los accesos directos relativos similares, cuando el destino es un archivo, se trata en https://stackoverflow.com/questions/1169556/making-a-windows-shortcut-start-relative-to-where-the- carpeta-es . En el presente caso, el objetivo es una carpeta.
../Files
con dos puntos? No estoy ejecutando Windows, pero creo que puede funcionar.Respuestas:
Puede usar esta utilidad: Relativo .
Básicamente crea un acceso directo a "explorer.exe" con el parámetro de su ruta relativa con un clic derecho (de la misma manera que crea un acceso directo normal).
Por supuesto que puedes hacer esto manualmente.
En su ejemplo, crearía un acceso directo en "Nuevos archivos \ Herramientas" para
%windir%\explorer.exe "..\..\Tested Files\Tools"
Puede usar el menú contextual habitual "Nuevo / Crear acceso directo" de Windows para esto y escribir el comando anterior en el cuadro "Escriba la ubicación del elemento".
fuente
%windir%\explorer.exe
antes de la ruta relativa al hacer un acceso directo estándar. Entonces, si hace esto manualmente, no necesitará Relativo en absoluto. (Solo necesita recordar el comando antes de su ruta relativa)%windir%
vacío.Una posible solución es usar un archivo por lotes de una línea en lugar de un atajo para abrir lo que quiera abrir. El archivo por lotes le permitirá usar rutas relativas dentro de sí mismo y tendrá un directorio de trabajo de cualquier carpeta en la que se coloque el archivo por lotes.
Otra opción es iniciar su acceso directo
cmd.exe
con lo que esté iniciando y luego pasar lo que sea que esté iniciando como argumento paracmd.exe
%COMSPEC%
es una variable de entorno que apunta al símbolo del sistema de manera predeterminada ./C
hace que la consola se cierre después de ejecutar el comando.fuente
Este truco funciona:
% COMSPEC% / C comienza "su nombre de exe sin ruta"
ejemplo
% COMSPEC% / C start winmine.exe
fuente
%COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito"
Start In: [dejar en blanco]Estoy usando una solución similar en una plantilla que ejecuta mi entorno de desarrollo web (abrir el directorio del proyecto, abrir el navegador, ejecutar WAMP, ejecutar SCSS ...)
Puedo pasar argumentos a mi script de murciélago y etc., esto es genial. Asegúrate de poner
/c
argumento despuéscmd.exe
fuente
Puedes usar mklink . Le permite crear enlaces simbólicos, enlaces duros y enlaces de directorio.
Si no hay acceso elevado, puede usar / j
Para moverse por toda la estructura, debe usar el comando xcopy . Por ejemplo, si toda la estructura está debajo del contenedor :
ingresando el comando
creará la siguiente estructura:
El modificador / b copiará los enlaces simbólicos en lugar de convertirlos en carpetas.
fuente
Un acceso directo puede registrar su ubicación en una variable y llamar a un comando usando la variable. Por ejemplo, cree el acceso directo "Abuelo" con destino:
Cree el archivo por lotes "C: \ Here.bat" con la línea única:
Ahora, cualquiera que sea la carpeta en la que se encuentre Grandparent, al hacer clic en ella, se abre el padre de su carpeta principal. Incluso funciona con Grandparent en un directorio raíz.
Su archivo por lotes podría haber utilizado% AQUÍ% al iniciar algo distinto de explorer.exe. O en lugar de Here.bat después de && en el objetivo de acceso directo, puede llamar a un programa que utilice% HERE%.
En mi sistema, Grandparent parece funcionar con & o &&.
fuente
&&
solo realiza la siguiente llamada si la llamada anterior no devolvió un error, aunque&
no le importa. En este caso, no debería haber diferencia.Si deja el
'Start In'
cuadro vacío en las propiedades del acceso directo, los enlaces serán relativos al directorio de trabajo actual.Ver también https://stackoverflow.com/a/17951772/40961
fuente
Puede crear una variable de entorno que contenga la ruta de acceso (relativa) a la carpeta de destino o una carpeta sobre ella en la estructura del sistema de archivos.
Ejemplo:
Variable ambiental:
% Dropbox% = "C: \ Users \ User 1 \ Dropbox"
Objetivo de acceso directo:
"% Dropbox% \ Install \ Utilities \ File.exe"
Puede usar el comando SETX de DOS para crear variables de entorno.
fuente