【问题标题】:Unhide file extensions without logging out在不注销的情况下取消隐藏文件扩展名
【发布时间】:2016-09-25 20:32:21
【问题描述】:

我使用批处理文件来快速配置我使用首选设置(禁用鼠标加速、设置黑色背景等)的机器。我想让它关闭资源管理器中的“隐藏已知文件类型的扩展名”选项,为此我有以下命令:

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

但是,这只会在下次登录时生效,这很烦人。有没有办法让更改立即生效?

我已经想到了一些可能的解决方案,但我对其中任何一个都不是特别满意。

  • 按 F5 可以工作,并且可以使用 AutoHotKey 之类的脚本编写脚本,但这仅适用于活动窗口。我相信有一种方法可以让资源管理器刷新所有窗口,例如更改文件关联时会发生什么,但我不确定如何。
  • 我也可以终止并重新启动 Explorer,但如果不丢失所有打开的 Explorer 窗口,我将无法运行脚本,并且终止 Explorer 可能会导致数据丢失。

有什么建议吗?

【问题讨论】:

    标签: batch-file explorer


    【解决方案1】:
    Set objShell = CreateObject("Shell.Application")
    Set AllWindows = objShell.Windows
    For Each window in AllWindows
        msgbox window.locationname
        window.refresh2 3
    Next
    

    这个 vbscript 有效。它刷新每个资源管理器窗口。

    将reg写入同一个文件。

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

    【讨论】:

    • 这也适用于桌面视图吗?虽然我不想让脚本成为一个更大的混乱,通过将 VBS 混入其中来拼凑不同的系统,但如果是这样,我会继续并将其标记为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多