
usage: pdftotext [options] <PDF-file> [<text-file>]
Estoy usando pdftotext (xpft, uso anterior) para convertir todos los archivos PDF en un directorio (y subdirectorios) en archivos de texto. No importa si la estructura se conserva o no, solo quiero escribir los archivos en un directorio diferente.
Ya tengo cmd cd apuntando al directorio ("C:\input", digamos).
Entonces, si la ruta de un archivo de entrada determinado es
C:\input\filename.pdf
Y quiero enviar a
C:\output\filename.txt
Mi comando:
for /r %i in (*.pdf) do pdftotext "%i" -raw "C:\output\%i"
Casi funciona, pero intenta generar salida a
C:\input\C:\output\filename
lo que obviamente causa un error.
¿Cómo puedo solucionar esto?
Respuesta1
¿Cómo uso un bucle for y envío a un directorio diferente?
Utilice el siguiente comando:
for /r %i in (*.pdf) do pdftotext -raw "%i" "C:\output\%~ni.txt"
%~ni
Se expande%i
solo a un nombre de archivo (es decir, elimina la letra de unidad, la ruta y.pdf
la extensión)%~ni.txt
también añade una nueva extensión,.txt
Sintaxis extendida
Cuando se utiliza un argumento para proporcionar un nombre de archivo, se puede aplicar la siguiente sintaxis extendida:
estamos usando la variable %1 (pero esto funciona para cualquier parámetro)
%~f1 Expanda %1 a un nombre de ruta completo: C:\utils\MyFile.txt
%~d1 Expanda %1 solo a una letra de unidad - C:
%~p1 Expanda %1 solo a una ruta, por ejemplo, \utils\, esto incluye un \ final que algunos comandos interpretarán como un carácter de escape.
%~n1 Expanda %1 a un nombre de archivo sin extensión de archivo C:\utils\MyFile o, si solo hay una ruta (sin barra invertida al final), la última carpeta en esa ruta.
%~x1 Expande %1 a una extensión de archivo únicamente: .txt
%~s1 Cambie el significado de f, n, s y x para hacer referencia al nombre corto 8.3 (si existe).
%~1 Expande %1 eliminando las comillas circundantes (")
%~a1 Mostrar los atributos del archivo de %1
%~t1 Mostrar la fecha/hora de %1
%~z1 Muestra el tamaño del archivo de %1
%~$PATH:1 Busque la variable de entorno PATH y expanda %1 hasta el nombre completo de la primera coincidencia encontrada.
Los modificadores anteriores se pueden combinar:
%~dp1 Expanda %1 a una letra de unidad y ruta únicamente
%~sp1 Expande %1 a una ruta reducida a 8,3 caracteres
%~nx2 Expanda %2 a un nombre de archivo y extensión únicamente
FuenteArgumentos de la línea de comando (parámetros)
Otras lecturas
- Un índice AZ de la línea de comando CMD de Windows- Una excelente referencia para todo lo relacionado con la línea cmd de Windows.