Estoy tratando de crear un archivo por lotes para extraer recursivamente múltiples archivos en múltiples subdirectorios desde un directorio de origen a un directorio de salida mientras mantengo la estructura de la carpeta de archivos. El siguiente ejemplo funciona perfectamente EXCEPTO que necesito extraer solo un tipo de archivo específico de cada archivo (es decir, .txt., .Doc, .pdf, etc.) ¿Qué necesito cambiar para que esto funcione?
@ECHO ON
SET source=C:\Users\user\Desktop\test
FOR /F "TOKENS=*" %%F IN ('DIR /S /B "%source%\*.zip"') DO "C:\Program Files\7-Zip\7z.exe" x "%%~fF" -o"C:\Users\user\Desktop\Working\Custom Textures\*"
FOR /F "TOKENS=*" %%F IN ('DIR /S /B "%source%\*.7z"') DO "C:\Program Files\7-Zip\7z.exe" x "%%~fF" -o"C:\Users\user\Desktop\Working\Custom Textures\*"
FOR /F "TOKENS=*" %%F IN ('DIR /S /B "%source%\*.rar"') DO "C:\Program Files\7-Zip\7z.exe" x "%%~fF" -o"C:\Users\user\Desktop\Working\Custom Textures\*"
PAUSE
Sinceramente aprecio la ayuda de antemano, y cualquier recurso completo sobre scripts por lotes al que pueda dirigirme para futuras referencias también sería muy apreciado, ya que estoy tratando de aprender.
windows-10
batch
batch-file
7-zip
file-extension
MorbidEden
fuente
fuente
#
es no un carácter de comentario válido. En su lugar, o bien utilice elREM
comando, o comience la línea con::
(o simplemente puede eliminar las líneas ofensivas).*.7z
archivos, entonces usted puede comentar (utilizando::
oREM
) o quitar el primero y el terceroFOR
Bucles (lineas 4 y 6).Respuestas:
Puedes usar el
-i
cambiar con 7-Zip para esto. Como ejemplo, la siguiente modificación de su archivo por lotes solo se extraerá.txt
archivos.Aquí hay más información de la documentación :
fuente