
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
Как использовать цикл 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 до файла Только расширение - .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 только до имени файла и расширения
ИсточникАргументы командной строки (параметры)
дальнейшее чтение
- Индекс AZ командной строки Windows CMD- Отличный справочник по всем вопросам, связанным с командной строкой Windows.