proglib
Version:
Многофункциональная библиотека
356 lines (303 loc) • 20.8 kB
JavaScript
'use struct';
const HomeDrive = process.env.HOMEDRIVE;
const UserName = process.env.USERNAME;
const SpecialFolder = {
/** Логический рабочий стол, а не физическое местоположение файлов системы. */
Desktop: {
id: 0,
description: "Логический рабочий стол, а не физическое местоположение файлов системы.",
path: HomeDrive + "\\Users\\" + UserName + "\\Desktop"
},
/** Каталог, содержащий группы программ пользователя. */
Programs: {
id: 2,
description: "Каталог, содержащий группы программ пользователя.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs"
},
/** Каталог, служащий общим репозиторием для документов. */
Personal: {
id: 5,
description: "Каталог, служащий общим репозиторием для документов.",
path: HomeDrive + "\\Users\\" + UserName + "\\Documents"
},
/** Папка Мои документы. */
MyDocuments: {
id: 5,
description: "Папка Мои документы.",
path: HomeDrive + "\\Users\\" + UserName + "\\Documents"
},
/** Каталог, служащий общим репозиторием для избранных элементов пользователя. */
Favorites: {
id: 6,
description: "Каталог, служащий общим репозиторием для избранных элементов пользователя.",
path: HomeDrive + "\\Users\\" + UserName + "\\Favorites"
},
/** Каталог, соответствующий группе программ пользователя «Автозагрузка». */
Startup: {
id: 7,
description: "Каталог, соответствующий группе программ пользователя «Автозагрузка».",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
},
/** Каталог, содержащий недавно использовавшиеся документы. */
Recent: {
id: 8,
description: "Каталог, содержащий недавно использовавшиеся документы.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Recent"
},
/** Каталог, содержащий пункты меню «Отправить». */
SendTo: {
id: 9,
description: "Каталог, содержащий пункты меню «Отправить».",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\SendTo"
},
/** Каталог, содержащий пункты меню «Пуск». */
StartMenu: {
id: 11,
description: "Каталог, содержащий пункты меню «Пуск».",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu"
},
/** Папка Моя музыка. */
MyMusi: {
id: 13,
description: "Папка Моя музыка.",
path: HomeDrive + "\\Users\\" + UserName + "\\Music"
},
/** Каталог файловой системы, служащий репозиторием файлов видеозаписей, принадлежащих пользователю. */
MyVideos: {
id: 14,
description: "Каталог файловой системы, служащий репозиторием файлов видеозаписей, принадлежащих пользователю.",
path: HomeDrive + "\\Users\\" + UserName + "\\Videos"
},
/** Каталог, используемый для физического хранения файловых объектов рабочего стола. */
DesktopDirectory: {
id: 16,
description: "Каталог, используемый для физического хранения файловых объектов рабочего стола.",
path: HomeDrive + "\\Users\\" + UserName + "\\Desktop"
},
/** Папка Мой компьютер. */
MyComputer: {
id: 17,
description: "Папка Мой компьютер.",
path: undefined
},
/** Каталог файловой системы, содержащий объекты ссылок, которые могут существовать в виртуальной папке Сетевое окружение. */
NetworkShortcuts: {
id: 19,
description: "Каталог файловой системы, содержащий объекты ссылок, которые могут существовать в виртуальной папке Сетевое окружение.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Network Shortcuts"
},
/** Виртуальная папка, содержащая шрифты. */
Fonts: {
id: 20,
description: "Виртуальная папка, содержащая шрифты.",
path: HomeDrive + "\\WINDOWS\\Fonts"
},
/** Каталог, служащий общим репозиторием для шаблонов документов. */
Templates: {
id: 21,
description: "Каталог, служащий общим репозиторием для шаблонов документов.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Templates"
},
/** Каталог файловой системы, содержащий программы и папки, отображающиеся в меню Пуск для всех пользователей. Эта особая папка действительна только для систем Windows NT. */
CommonStartMenu: {
id: 22,
description: "Каталог файловой системы, содержащий программы и папки, отображающиеся в меню Пуск для всех пользователей.",
path: HomeDrive + "\\ProgramData\\Microsoft\\Windows\\Start Menu"
},
/** Папка для компонентов, совместно используемых несколькими приложениями. Эта особая папка действительна только для систем Windows NT, Windows 2000 и Windows XP. */
CommonPrograms: {
id: 23,
description: "Папка для компонентов, совместно используемых несколькими приложениями.",
path: HomeDrive + "\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs"
},
/** Каталог файловой системы, содержащий программы и папки, отображающиеся в папке Автозагрузка для всех пользователей. Эта особая папка действительна только для систем Windows NT. */
CommonStartup: {
id: 24,
description: "Каталог файловой системы, содержащий программы и папки, отображающиеся в папке Автозагрузка для всех пользователей.",
path: HomeDrive + "\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
},
/** Каталог файловой системы, содержащий файлы и папки, отображающиеся на рабочих столах всех пользователей. Эта особая папка действительна только для систем Windows NT. */
CommonDesktopDirectory: {
id: 25,
description: "Каталог файловой системы, содержащий файлы и папки, отображающиеся на рабочих столах всех пользователей.",
path: HomeDrive + "\\Users\\Public\\Desktop"
},
/** Каталог, выполняющий функции общего репозитория для данных приложения текущего перемещающегося пользователя. */
ApplicationData: {
id: 26,
description: "Каталог, выполняющий функции общего репозитория для данных приложения текущего перемещающегося пользователя.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming"
},
/** Каталог файловой системы, содержащий объекты ссылок, которые могут существовать в виртуальной папке Принтеры. */
PrinterShortcuts: {
id: 27,
description: "Каталог файловой системы, содержащий объекты ссылок, которые могут существовать в виртуальной папке Принтеры.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Printer Shortcuts"
},
/** Каталог, служащий общим репозиторием данных приложения, используемых текущим пользователем, который не перемещается. */
LocalApplicationData: {
id: 28,
description: "Каталог, служащий общим репозиторием данных приложения, используемых текущим пользователем, который не перемещается.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Local"
},
/** Каталог, служащий общим репозиторием временных файлов Интернета. */
InternetCache: {
id: 32,
description: "Каталог, служащий общим репозиторием временных файлов Интернета.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Local\\Microsoft\\Windows\\INetCache"
},
/** Каталог, служащий общим репозиторием файлов cookie Интернета. */
Cookies: {
id: 33,
description: "Каталог, служащий общим репозиторием файлов cookie Интернета.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Local\\Microsoft\\Windows\\INetCookies"
},
/** Каталог, служащий общим репозиторием элементов журнала Интернета. */
History: {
id: 34,
description: "Каталог, служащий общим репозиторием элементов журнала Интернета.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Local\\Microsoft\\Windows\\History"
},
/** Каталог, выполняющий функции общего репозитория для данных приложения, используемого всеми пользователями. */
CommonApplicationData: {
id: 35,
description: "Каталог, выполняющий функции общего репозитория для данных приложения, используемого всеми пользователями.",
path: HomeDrive + "\\ProgramData"
},
/** Каталог Windows или SYSROOT.Это соответствует переменным среды %windir% и %SYSTEMROOT%. */
Windows: {
id: 36,
description: "Каталог Windows или SYSROOT.",
path: HomeDrive + "\\WINDOWS"
},
/** Каталог System. */
System: {
id: 37,
description: "Каталог System.",
path: HomeDrive + "\\WINDOWS\\system32"
},
/** Каталог файлов программ. */
ProgramFiles: {
id: 38,
description: "Каталог файлов программ.",
path: HomeDrive + "\\Program Files (x86)"
},
/** Папка Мои рисунки. */
MyPictures: {
id: 39,
description: "Папка Мои рисунки.",
path: HomeDrive + "\\Users\\" + UserName + "\\Pictures"
},
/** Папка профиля пользователя.Приложения не должны создавать файлы или папки на этом уровне. */
UserProfile: {
id: 40,
description: "Папка профиля пользователя.",
path: HomeDrive + "\\Users\\" + UserName + undefined
},
/** Папка System ОС Windows. */
SystemX86: {
id: 41,
description: "Папка System ОС Windows.",
path: HomeDrive + "\\WINDOWS\\SysWOW64"
},
/** Папка Program Files. */
ProgramFilesX86: {
id: 42,
description: "Папка Program Files.",
path: HomeDrive + "\\Program Files (x86)"
},
/** Каталог для компонентов, общих для приложений. */
CommonProgramFiles: {
id: 43,
description: "Каталог для компонентов, общих для приложений.",
path: HomeDrive + "\\Program Files (x86)\\Common Files"
},
/** Папка Program Files. */
CommonProgramFilesX86: {
id: 44,
description: "Папка Program Files.",
path: HomeDrive + "\\Program Files (x86)\\Common Files"
},
/** Каталог файловой системы, содержащий шаблоны, доступные всем пользователям. Эта особая папка действительна только для систем Windows NT. */
CommonTemplates: {
id: 45,
description: "Каталог файловой системы, содержащий шаблоны, доступные всем пользователям.",
path: HomeDrive + "\\ProgramData\\Microsoft\\Windows\\Templates"
},
/** Каталог файловой системы, содержащий документы, общие для всех пользователей. Эта особая папка действительна для систем Windows NT, Windows 95 и Windows 98 с установленной библиотекой Shfolder.dll. */
CommonDocuments: {
id: 46,
description: "Каталог файловой системы, содержащий документы, общие для всех пользователей.",
path: HomeDrive + "\\Users\\Public\\Documents"
},
/** Каталог файловой системы, содержащий инструменты администрирования для всех пользователей компьютера. */
CommonAdminTools: {
id: 47,
description: "Каталог файловой системы, содержащий инструменты администрирования для всех пользователей компьютера.",
path: HomeDrive + "\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Administrative Tools"
},
/** Каталог файловой системы, используемый для хранения инструментов администрирования для отдельного пользователя.Консоль управления (MMC) сохраняет настроенные консоли в этом каталоге, и он будет перемещаться вслед за пользователем. */
AdminTools: {
id: 48,
description: "Каталог файловой системы, используемый для хранения инструментов администрирования для отдельного пользователя.Консоль управления (MMC) сохраняет настроенные консоли в этом каталоге, и он будет перемещаться вслед за пользователем.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Administrative Tools"
},
/** Каталог файловой системы, служащий репозиторием музыкальных файлов, общих для всех пользователей. */
CommonMusis: {
id: 53,
description: "Каталог файловой системы, служащий репозиторием музыкальных файлов, общих для всех пользователей.",
path: HomeDrive + "\\Users\\Public\\Music"
},
/** Каталог файловой системы, служащий репозиторием файлов изображений, общих для всех пользователей. */
CommonPictures: {
id: 54,
description: "Каталог файловой системы, служащий репозиторием файлов изображений, общих для всех пользователей.",
path: HomeDrive + "\\Users\\Public\\Pictures"
},
/** Каталог файловой системы, служащий репозиторием файлов видеозаписей, общих для всех пользователей. */
CommonVideos: {
id: 55,
description: "Каталог файловой системы, служащий репозиторием файлов видеозаписей, общих для всех пользователей.",
path: HomeDrive + "\\Users\\Public\\Videos"
},
/** Каталог файловой системы, содержащий данные ресурсов. */
Resources: {
id: 56,
description: "Каталог файловой системы, содержащий данные ресурсов.",
path: HomeDrive + "\\WINDOWS\\resources"
},
/** Каталог файловой системы, содержащий локализованные данные ресурсов. */
LocalizedResources: {
id: 57,
description: "Каталог файловой системы, содержащий локализованные данные ресурсов.",
path: undefined
},
/** Это значение распознается ОС Windows Vista для обратной совместимости, но сама эта особая папка больше не используется. */
CommonOemLinks: {
id: 58,
description: "Это значение распознается ОС Windows Vista для обратной совместимости.",
path: undefined
},
/** Каталог файловой системы, выполняющий функции области промежуточного хранения для файлов, ожидающих записи на компакт-диск. */
CDBurning: {
id: 59,
description: "Каталог файловой системы, выполняющий функции области промежуточного хранения для файлов, ожидающих записи на компакт-диск.",
path: HomeDrive + "\\Users\\" + UserName + "\\AppData\\Local\\Microsoft\\Windows\\Burn\\Burn"
},
Search: function(SpecialFolder) {
for (let i of Object.keys(this)) {
if (SpecialFolder.toLowerCase() == i.toLowerCase())
return this[i].path;
}
return undefined;
},
SearchById: function(SpecialFolder) {
for (let i of Object.keys(this)) {
if (SpecialFolder == this[i].id) {
return this[i].path;
}
}
return undefined;
}
};
module.exports = SpecialFolder;