Tengo miles de pares de archivos que necesito comprimidos en archivos. Actualmente, cada par de archivos (* .mp3 & * .cdg) tiene el mismo nombre (aparte de la extensión). Cada uno de los pares de archivos reside en subdirectorios dentro del directorio principal. Quiero dejar cada archivo en el mismo subdirectorio en el que ya estaba el par de archivos. Actualmente estoy usando el siguiente comando cmd, pero crea los archivos en el directorio principal, y luego "no puedo encontrar" ni * .mp3 ni * .cdg.

FOR /r %F IN (*.mp3) DO "C:\Program Files\7-Zip\7Z.exe" a "%~nF.zip" "%~nF.mp3" "%~nF.cdg"

¿Qué necesito modificar para dejar cada archivo en el subdirectorio del archivo original sin crear más de 140 archivos por lotes para cada subdirectorio?

0
QuasiAbstract 1 mar. 2012 a las 18:05

1 respuesta

La mejor respuesta

Debe incluir los modificadores de información de ruta: d = unidad, p = ruta, y para mp3 f = ruta completa

FOR /r %F IN (*.mp3) DO "C:\Program Files\7-Zip\7Z.exe" a "%~dpnF.zip" "%~fF" "%~dpnF.cdg"
1
dbenham 1 mar. 2012 a las 19:09
¡Muchas gracias! Me he estado golpeando la cabeza contra la pared toda la mañana mirando parámetros ... probablemente no sea mejor con dolor de cabeza.
 – 
QuasiAbstract
1 mar. 2012 a las 19:12