1
 usage: pdftotext [options] <PDF-file> [<text-file>]

Я использую pdftotext (xpft, использование выше), чтобы преобразовать все PDF-файлы в каталоге (и подкаталогах) в текстовые файлы. Не имеет значения, сохранена ли структура или нет, я просто хочу записать файлы в другой каталог.

У меня есть cmd cd, уже указывающий на каталог (скажем "C:\input").

Так что, если путь к данному входному файлу

 C:\input\filename.pdf

И я хочу вывести на

 C:\output\filename.txt

Моя команда:

 for /r %i in (*.pdf) do pdftotext "%i" -raw "C:\output\%i"

Почти работает, но пытается вывести на

 C:\input\C:\output\filename

что, очевидно, вызывает ошибку.

Как мне это решить?

1 ответ1

2

Как использовать цикл for и выводить в другой каталог

Используйте следующую команду:

for /r %i in (*.pdf) do pdftotext -raw "%i" "C:\output\%~ni.txt"
  • %~ni Расширяет %i до имени файла (т.е. удаляет букву диска, путь и расширение .pdf )

  • %~ni.txt также добавляет новое расширение .txt


Расширенный синтаксис

Когда аргумент используется для указания имени файла, может применяться следующий расширенный синтаксис:

мы используем переменную% 1 (но это работает для любого параметра)

  • % ~ f1 Разверните% 1 до полного имени пути - C:\utils\MyFile.txt

  • % ~ d1 Развернуть% 1 только до буквы диска - C:

  • % ~ p1 Развернуть% 1 только до пути, например, \utils\, включая завершающий символ \, который будет интерпретирован как управляющий символ некоторыми командами.

  • % ~ n1 Разверните% 1 до имени файла без расширения файла C:\utils\MyFile или, если присутствует только путь (без обратной косой черты) - последняя папка в этом пути.

  • % ~ x1 Развернуть% 1 только до файла eXtension - .txt

  • % ~ s1 Измените значения f, n, s и x для ссылки на короткое имя 8.3 (если оно существует).

  • % ~ 1 Расширить% 1, удалив все окружающие кавычки (")

  • % ~ a1 Показать атрибуты файла% 1

  • % ~ t1 Показать дату / время% 1

  • % ~ z1 Показать размер файла% 1

  • % ~ $ PATH:1 Найдите переменную среды PATH и разверните% 1 до полного имени первого найденного соответствия.

Модификаторы выше могут быть объединены:

  • % ~ dp1 Развернуть% 1 только до буквы диска и пути

  • % ~ sp1 Расширить% 1 до пути, сокращенного до 8,3 символа

  • % ~ nx2 Развернуть% 2 только до имени файла и расширения

Аргументы исходной командной строки (параметры)


дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .