Тема: VBScript: получение пути к файлу с длинными именами, имея путь "8+3"
Назначая команду контекстного меню проводника для папки, столкнулся с интересной проблемой: если в реестре прописана команда контекстного меню типа "wscript.exe myscript.vbs %1", то путь к папке (в данном случае "%1") возвращается в стиле "8+3", т.е., например для "C:\Program Files" будет возвращено "C:\Progra~1" и т.п. (несмотря на то, что "%1" заключено в кавычки). Однако, хотелось получить "красивый путь", чтобы его отображать потом, например, в диалоговых сообщениях (если понадобится). Оказалось, что в WSH (VBScript) это можно сделать следующим образом:
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\Progra~1")
FolderPath = objFolder.Self.Path
Переменная "FolderPath" будет содержать на выходе в данном случае "C:\Program Files".
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.