2015-11-16 6 views
2

Я не так хорошо в VBScript на всех, но благодаря Google я был в состоянии собрать скрипт, который способен открыть путь к файлу в explorer.exeVBScript открыть папку в окне проводника же

Я хотел бы откройте конкретный путь в том же окне, что и новый. Можно ли VBScript сделать это?

Вот мой код:

Dim SH, FolderToOpen 
Set SH = WScript.CreateObject("WScript.Shell") 
FolderToOpen = "C:\path\to\my\folder" 
SH.Run FolderToOpen 
Set SH = Nothing 

Спасибо за ваши советы.

ответ

2

Вот хак подход с использованием SendKeys, который будет работать, если открытый экземпляр explorer.exe имеет фокус:

Set WshShell = WScript.CreateObject("WScript.Shell") 
target = "C:/programs" 
WshShell.SendKeys "%d" 
WshShell.SendKeys target 
WshShell.SendKeys "{ENTER}" 

Это будет работать, если вам, например, иметь вышеуказанный код (с намеченной целью) в скрипте в одной папке. Нажмите на значок сценария, и он отправит вас в целевую папку.

[On Edit] Объяснение того, как это работает: если вы используете проводник Windows и введите Alt+d (это то, что имитирует SendKeys "%d"), тогда фокус смещается в адресную строку. В течение многих лет я использовал этот трюк, чтобы открыть командную строку в текущей папке (Alt - d, затем введите cmd, затем нажмите Enter, и приглашение откроется с открытой папкой в ​​качестве рабочего каталога). Когда я увидел этот вопрос, я задался вопросом, будет ли в основном тот же трюк (но автоматизирован с VBScript) работать в целях навигации и был приятно удивлен, когда он работал по назначению в первый раз. Alt-d - полезная комбинация клавиш, чтобы иметь в виду.

+1

удивительным, работает как шарм! Большое спасибо за Вашу помощь. – easy4mer

3

Попробуйте это:

Set WshShell = CreateObject("WScript.Shell") 

WshShell.Run Target