Как записать в .bat файл команду с русскими символами?
Проблема заключается в том, что ввод в файл происходит некорректно. Я не знаю как решить.
вот, что я писал:
std::wofstream batchFile((path + "\\data\\temp.bat").c_str());
if (batchFile.is_open())
{
batchFile.clear();
batchFile << command << entry_path;
batchFile.close();
int result = _wsystem((path_utf8 + L"\\data\\temp.bat").c_str());
}
где command это путь к вызываемому .exe файлу, а entry_path это путь для аргумента А если чуть более подробно, то .bat почему-то записывается следующее:
"C:\Users\╠шыр ╧╩\Desktop\EasyTool-v5\installer.exe" install "C:\Users\╠шыр ╧╩\Desktop\EasyTool-v5\яръ\file.exe"
ожидаемой командой в .bat файле должно было быть следующее:
"C:\Users\Мила ПК\Desktop\EasyTool-v5\installer.exe" install "C:\Users\Мила ПК\Desktop\EasyTool-v5\пак\file.exe"
Ответы (1 шт):
Автор решения: Герман Борисов
→ Ссылка
Записывать нужно в OEM-кодировке, установленной для данной локализции windows. В Русскоязычной (с ANIS-кодировкой WIN1251) это будет CP866