Я пытаюсь записать файл во временную папку, но он не выполняется должным образом. Когда я позже перейду в код для вызова этого, он ссылается на правильное местоположение, но говорит, что его не существует. Любые идеи относительно того, что я делаю неправильно?Как записать во временную папку
ofstream fout("%TEMP%\\test.bat");
fout << "cd C:\\Users\\jrowler\\Documents" << endl;
//Some more fout commands to write to bat
fout.close();
wchar_t cmdline[] = L"cmd.exe /C %TEMP%\\test.bat";
if (!CreateProcess(NULL, cmdline, NULL, NULL, false, CREATE_UNICODE_ENVIRONMENT,
(LPVOID)env.c_str(), NULL, &si, &pi))
{
std::cout << GetLastError();
abort();
}
Все работает, если я не пытаюсь использовать папку TEMP. Если бы я хотел поставить его на рабочий стол, он отлично работает. Любые идеи, почему переменная среды работает неправильно при создании, но при попытке создать процесс она дает мне ошибку, которая ссылается на правильное местоположение, заданное переменной окружения.
'fstream' ничего не знает о расширении переменных среды Windows. Вы захотите захватить переменную и сделать это сами. https://msdn.microsoft.com/en-us/library/windows/desktop/ms683188(v=vs.85).aspx –
Есть ли что-нибудь еще, что я могу предоставить, чтобы ответить на этот вопрос? – Jeff
нет, это было потрясающе! извините за задержку принятия! –