Я знаю, что это старая ветка, но так как в Google не было много информации по этой теме .... Я хотел бы добавить немного больше ... В основном это всего лишь описание того, что упомянул harrymc, но, возможно, это поможет тем, кто менее удобен в редактировании реестра ...
Во-первых, на самом деле существует множество методов API, доступных из объекта System, упомянутого выше. Например, вместо ItemName вы также можете выбрать System.FileName (который работал лучше для меня) или System.ItemFolderPathDisplay ...
Во-вторых, синтаксис поиска несколько сложен, но на самом деле дает много возможностей. Вы можете использовать стандартные подстановочные знаки DOS в тесте AppliesTo (например, "?"для ровно 1 символа," * "для 0 или более символов). Вы можете использовать различные операторы для имени ... например, равно, не равно, содержит, начинается с, заканчивается и т.д. Вы можете объединить несколько условий с ключевыми словами "И" или "ИЛИ" (или использовать "НЕ" «).. Кажется, что вы даже можете использовать некоторый синтаксис поиска в стиле SQL, но я не смог заставить их работать через реестр (я мог просто ошибиться в синтаксисе ... не уверен).
3) Хотя я не нашел решения поставленного вопроса, в следующих сценариях реестра показано, как можно отображать или скрывать элементы контекстного меню в зависимости от имени и расположения папки. У меня просто есть всплывающее окно командной строки, но вы можете легко перейти на что-нибудь еще.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\# Ends With '_mydata']
"AppliesTo"="System.FileName:\"*_mydata\""
[HKEY_CLASSES_ROOT\Folder\shell\# Ends With '_mydata'\command]
@="C:\\Windows\\System32\\cmd.exe /k cd /d \"%1\""
[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]']
"AppliesTo"="System.ItemFolderPathDisplay:~< \"C:\\[VIDEOS]\""
[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]'\command]
@="C:\\Windows\\System32\\cmd.exe /k cd /d \"%1\""
[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]' AND ends with '_mydata']
"AppliesTo"="System.FileName:\"*_mydata\" AND System.ItemFolderPathDisplay:~<\"C:\\\""
[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]' AND ends with '_mydata'\command]
@="C:\\Windows\\System32\\cmd.exe /k cd /d \"%1\""