El archivo song.mp3 se encuentra en
C:\x-folders\y-folder\z-folder\song.mp3
¿Cómo puedo almacenar esta ruta en una variable?
C:\x-folders\y-folder\z-folder\
Gracias
El archivo song.mp3 se encuentra en
C:\x-folders\y-folder\z-folder\song.mp3
¿Cómo puedo almacenar esta ruta en una variable?
C:\x-folders\y-folder\z-folder\
Gracias
Respuestas:
Hay algunas maneras de hacer esto desde la línea de comando y pondré dos que se me ocurren a continuación para que pueda consultarlas y probarlas cuando tenga la oportunidad. Incluiré recursos adicionales para estudios adicionales también.
for %a in ("C:\x-folders\y-folder\z-folder\song.mp3") do set var=%~dpa
Entonces %var%será la variable establecida, así que solo haga referencia %var%al valor aplicable.
Si necesita recorrer una carpeta con muchos .mp3archivos, puede usar esta sintaxis
for /f "tokens=*" %a in ('dir /b "C:\SomeFolder\*.mp3"') do set var=%~fa\
Entonces %var%será la variable establecida, así que solo haga referencia %var%al valor aplicable. Puede hacer referencia de !var!esa manera si necesita EnableDelayedExpansion dependiendo de lo que necesita lograr exactamente con el ciclo si esta es la forma en que planea hacer referencia a muchos archivos y su ruta de carpeta residente. Por último, también puede usar dir /s /bpara recorrer el directorio de forma recursiva.
Sustituciones variables (FOR /?)
Además, se ha mejorado la sustitución de referencias variables FOR. Ahora puede usar la siguiente sintaxis opcional:
%~fI - expands %I to a fully qualified path name %~dI - expands %I to a drive letter only %~pI - expands %I to a path only
La expansión retrasada hará que las variables dentro de un archivo por lotes se expandan en el tiempo de ejecución en lugar de en el tiempo de análisis, esta opción se activa con el comando SETLOCAL EnableDelayedExpansion.
Cuando la expansión retrasada está en efecto, las variables se pueden leer de inmediato usando! Variable_name! También puede leer y usar% variable_name% que mostrará el valor inicial (expandido al comienzo de la línea).
FOR /?salida, especialmente para%~dpI.