2016-05-27 3 views
0

Я использую пакетный файл для быстрой настройки машин, где я работаю с моими предпочтительными настройками (отключая ускорение мыши, устанавливая черный фон, что-то вроде этого). Я хотел бы сделать это отключить «Скрывать расширения для зарегистрированных типов файлов» в Проводнике, и я имею следующую команду для этого:Unhide расширения файлов без выхода из системы

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt /t REG_DWORD /d 0 /f

Однако это вступает в силу только на следующем входе в систему , что раздражает. Есть ли способ немедленно сделать изменение?

Я подумал о нескольких возможных решениях, но я не очень доволен ни одним из них.

  • Нажатие F5 работает и может быть написано с использованием чего-то вроде AutoHotKey, но это работает только в активном окне. Я считаю, что есть способ заставить Explorer обновить все окна, например, что происходит, когда вы меняете ассоциацию файлов, но я не уверен, как это сделать.
  • Я мог бы также убить и перезапустить Explorer, но я не смог бы запустить сценарий, не теряя при этом каждое открытое окно Explorer, и убийство Проводника может привести к потере данных.

Любые предложения?

ответ

0
Set objShell = CreateObject("Shell.Application") 
Set AllWindows = objShell.Windows 
For Each window in AllWindows 
    msgbox window.locationname 
    window.refresh2 3 
Next 

Этот vbscript работает. Он обновляет каждое окно проводника.

Чтобы записать рег в один файл.

Set Sh = WScript.CreateObject("WScript.Shell") 
     Sh.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt ", 0 
+0

Это также работает на рабочем столе? Хотя я бы предпочел не сделать сценарий еще более серьезным беспорядком разрозненных систем, объединенных вместе, бросив VBS в микс, я пойду дальше и пометьте им ответ, если так. – James

Смежные вопросы