Я думал, что это были то же самое, за исключением того, что в пакетном файле вы вводите команды, и он будет действовать как функция, которая выполняет все команды, написанные в файле.Запись командного файла отличается от команды ввода в командной строке?
Так что, если я ставлю эту команду:
for %i in (*.jpg) do tesseract %i %i.txt
где тессеракт это программа, которая преобразует JPG файлы в текстовые файлы, он отлично работает. (tesseract input.jpg output.txt
)
Но если я напишу ту же самую строку в пакетном файле, это не сработает, сказав: «На этот раз я был неожиданным».
@echo off
for %i in (*.jpg) do tesseract %i %i.txt
Кто-нибудь знает, что происходит не так?
Для тех, кто интересно, это делает это потому, что один знак процента читается как ничего, так что «% я» будет гласить "я". Это приведет к тому, что «я не ожидал в это время». сообщение об ошибке. Однако знак двойного процента интерпретируется как единый. Чтобы доказать это, вы можете поместить 'echo% %%' в пакетный файл и посмотреть результаты. –