Я написал небольшой пакетный сценарий для синтаксического анализа моего файла html в файл cpp -Header, чтобы я мог скомпилировать его в ESP8266 (PROGMEM). Сценарий действительно прост:
@echo off
set /P filename=Enter File name (w/o .html extension):
if exist "..\website\%filename%.html" (
echo|set /p dummyvar=%filename%>beforetemp.txt
type before.txt beforetemp.txt before2.txt "..\website\%filename%.html" after.txt > "..\server\%filename%html.h"
) else (
echo FILE at website\%filename%.html DOES NOT EXISTS!
pause
)
exit 0
Все работало нормально, прежде чем я добавил часть, где я могу ввести имя файла, который хочу скопировать.
Все готовые файлы должны выглядеть вот так:
#include <arduino.h>
const char indexhtml[] PROGMEM = R"====(
<html>
...
</html>
)====";
Но когда я запускаю скрипт, он вставляет пробел в конец beforetemp.txt и, следовательно, портит имя переменной в моем индексе html. h файл. Материал с before.txt beforetemp.txt before2.txt становится
#include <arduino.h>
const char index html[] PROGMEM = R"====(
вместо
#include <arduino.h>
const char indexhtml[] PROGMEM = R"====(
Вопрос: как я могу напечатать содержимое% filename% между before.txt и before2.txt в моем новом файле?
Вот используемые файлы:
before.txt
#include <arduino.h>
const char
before2.txt
html[] PROGMEM = R"====(
after.txt
)====";