ПРОБЛЕМА
Это может быть просто связано с отсутствием глубокого понимания кодирования пакетных файлов Windows.
Я пытаюсь написать простой однострочный пакетный файл, который будет обрабатывать каждый файл в каталоге, используя pandoc для преобразования всех doc или docx (MS Word) в файлы уценки (.md). Когда я запускаю пакетный файл, я получаю следующую ошибку:
pandoc: C:_ALL\_ALL\accomp\testing-accomp-2017.05\20170505.md: openBinaryFile: не существует (нет такого файла или каталога)
Я получаю одну из этих ошибок для каждого файла в каталоге (около 25 или около того).
Каталог, в котором я запускаю свою команду, выглядит так:
C:\_ALL\!accomp\testing-accomp-2017.05
Как видите, по какой-то причине _ALL
появляется дважды. Путь, который он показывает мне, по какой-то причине неверен, и я не уверен, является ли это проблемой pandoc или проблемой программирования пакетного файла CMD.
МОЙ КОД
Вот код моего командного файла:
@echo OFF
:: [Not sure what this does, but have read that it is necessary]
setlocal enabledelayedexpansion
:: MAIN
FOR /r "." %%i IN (*.doc *.docx) DO pandoc -f rst -t markdown "%%~fi" -o "%%~dpni.md"
:: End with a pause so user can copy any text from screen.
ECHO. Done. Press any key to terminate program
PAUSE>NUL
Теперь я не уверен, что делают все эти строки кода, и, насколько я знаю, они могут быть совершенно ненужными. Тем не менее, основной и самый важный код здесь — тот, который начинается с For ...
, вдохновленный этим постом о переполнении стека:
ЧТО Я УЖЕ ПРОБОВАЛА
По сути, в приведенном выше сообщении есть около четырех вариантов одного и того же ответа, и я пробовал каждый из этих вариантов.