I am trying to collect data on all tasks in the windows scheduler.

For this I use

cmd <- sprintf("schtasks /Query /FO CSV /V") x <- system(cmd, intern = TRUE) 

I get the file in a string in an undefined encoding

 x[1] [1] "\"€¬п г§« \",\"€¬п § ¤ зЁ\",\"‚६п б«Ґ¤го饣® § ЇгбЄ \",\"'®бв®пЁҐ\",\"ђҐ¦Ё¬ ўе®¤ ў бЁб⥬г\",\"‚аҐ¬п Їа®и«®Ј® § ЇгбЄ \",\"Џа®и«л© १г«мв в\",\"Ђўв®а\",\"‡ ¤ з ¤«п ўлЇ®«ҐЁп\",\"ђ Ў®з п Ї ЇЄ \",\"ЏаЁ¬Ґз ЁҐ\",\"'®бв®пЁҐ  § 祮© § ¤ зЁ\",\"‚аҐ¬п Їа®бв®п\",\"“Їа ў«ҐЁҐ н«ҐЄва®ЇЁв ЁҐ¬\",\"‡ ЇгбЄ ®в Ё¬ҐЁ\",\"“¤ «Ёвм § ¤ зг, Ґб«Ё ® Ґ ЇҐаҐҐбҐ \",\"Ћбв ®ўЁвм § ¤ зг, Ґб«Ё ® ўлЇ®«пҐвбп X з Ё X ¬Ё\",\"ђ бЇЁб ЁҐ\",\"'ЁЇ а бЇЁб Ёп\",\"‚аҐ¬п  з « \",\"„ в  з « \",\"„ в ®Є®з Ёп\",\"¤.\",\"¬Ґб.\",\"Џ®ўв®апвм: Є ¦¤лҐ\",\"Џ®ўв®апвм: ¤®: ўаҐ¬п\",\"Џ®ўв®апвм: ў вҐзҐЁҐ: ¤«ЁвҐ«м®бвм\",\"Џ®ўв®апвм: ®бв ®ўЁвм, Ґб«Ё ўлЇ®«пҐвбп\"" 

what should be:

 "Имя узла","Имя задачи","Время следующего запуска","Состояние","Режим входа в систему","Время прошлого запуска","Прошлый результат","Автор","Задача для выполнения","Рабочая папка","Примечание","Состояние назначенной задачи","Время простоя","Управление электропитанием","Запуск от имени","Удалить задачу, если она не перенесена","Остановить задачу, если она выполняется X ч и X мин","Расписание","Тип расписания","Время начала","Дата начала","Дата окончания","дн.","мес.","Повторять: каждые","Повторять: до: время","Повторять: в течение: длительность","Повторять: остановить, если выполняется" 

I tried various options for iconv and writing and reading files (write.lines, write.csv, write.csv2 + encoding) in different encoding - nothing helped.

If you save the data in csv and then through notepad ++ convert to utf-8 it works correctly. But I would like to exclude manual conversion to notepad ++

Additional info

 > Encoding(x[1]) [1] "unknown" > sessionInfo() R version 3.2.5 (2016-04-14) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8 x64 (build 9200) locale: [1] LC_COLLATE=Russian_Russia.1251 LC_CTYPE=Russian_Russia.1251 LC_MONETARY=Russian_Russia.1251 [4] LC_NUMERIC=C LC_TIME=Russian_Russia.1251 

    1 answer 1

     x <- iconv(x, from = "CP866", to = "windows-1251") 
    • How do you understand that this is "CP866"? I went through a lot of options, but did not come to this - Batanichek
    • 3
      So, the same line comes from DOS :) - Yury Arrow