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