Вывести список подкаталогов папки в APPDATA с помощью Windows JScript

Я пытаюсь отредактировать файл JSON, который находится внутри папки в AppData\Roaming,

Путь к файлу AppData\Roaming\Myapp\RANDOM_CRAP\settings.json

RANDOM_CRAP это просто случайное имя папки, которое отличается для каждой машины. Чтобы открыть этот файл для записи, я сначала попытался получить его путь к файлу, например так:

function getAppData() {
   var oShell = new ActiveXObject("WScript.Shell");
   var strValue = oShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\\AppData");
   return strValue;
}

Проблема в том, что значение, хранящееся в этом разделе реестра %USERPROFILE%\AppData\Roaming который, кажется, не открывается с:

var folder = fso.GetFolder(getAppData());

(Бросает Path not found ошибка)
Могу ли я добраться до пути APPDATA другим способом?

1 ответ

Добраться до пути AppData легко с помощью метода ExpandEnvironmentStrings.

Время веселиться:

var WshShell = WScript.CreateObject("WScript.Shell");
WScript.Echo("WinDir is " + WshShell.ExpandEnvironmentStrings("%AppData%"));

Удачи.

Другие вопросы по тегам