вы не можете добиться этого с помощью процедурного подхода
Мне нужна одна структура Vector, которая будет работать и с комплексными, и с вещественными числами.
union node {
struct complex c;
float f;
double d;
int i;
};
struct vector {
int type; // тут идентификатор реального типа данных лежащих в объединениях ниже
union node x;
union node y;
}
set /p "pid="<pid.id
В переменной окажется содержимое последней строки файла.
Предусмотрите вариант, когда либо файла pid.id нет, либо он пустой (т.е. переменная pid из файла не проинициализировалась). После чтения файла:
if not defined pid set "pid=1"
В этом случае у вас pid всегда будет что-то содержать и echo %pid% не даст ошибки.
Кроме того, есть вариант без ошибочного echo:
echo.%pid%>pid.id
В таком варианте команды ошибки не будет, но если pid не определена, то в файл запишется только "перевод строки".
Вы ошибаетесь. В файл пишется только то что команда выводит на консоль. Оператор
>
это оператор перенаправления вывода. Если вывода нет, то в файл ничего не запишется.