将批处理文件映射到热键

将批处理文件映射到热键

在 Windows 资源管理器中,设置显示隐藏的文件、文件夹和驱动器可以在 下启用和禁用Organise > Folder and search options > View

还有其他更快捷的方法来启用/禁用此设置吗?通过命令行的方式是理想的选择,但我愿意接受所有更快捷或更简单的建议。

答案1

这些设置位于注册表中的此项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

要显示隐藏项目,请设置Hidden为 1(要隐藏它们,请设置为 2)。要显示系统/超级隐藏项目,请设置ShowSuperHidden为 1(0 表示隐藏)。由于我们直接摆弄注册表,因此必须重新启动 Explorer。

为了完成所有这些并允许查看所有内容,您可以使用以下批处理命令:

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 1 /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 1 /f
powershell -c gps 'explorer' ^| stop-process

如果你不想使用 PowerShell,这个也可以关闭 Explorer:

taskkill /im explorer.exe /f

如果 Explorer 没有在您的系统上自动重新启动,只需运行explorer即可恢复您的任务栏。

答案2

我决定采用 Ben 提供的键和命令,并编写一个批处理文件,同时打开或关闭HiddenShowSuperHidden值。

使用批处理文件切换隐藏/超级隐藏文件

你可以点击这里下载ToggleHidden.bat,但是如果您希望自己将脚本复制到.bat.cmd文件中,这里是源代码:

@echo off
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Hidden" | Find "0x0"
If %ERRORLEVEL% == 0 goto show
IF %ERRORLEVEL% == 1 goto hide
goto :error

:show
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /f /d 1 > NUL
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowSuperHidden /t REG_DWORD /f /d 1
goto restart

:hide
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /f /d 0 > NUl
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowSuperHidden /t REG_DWORD /f /d 0
goto restart

:error
echo There was an error! Check the script.
pause
goto :eof

:restart
taskkill /f /im explorer.exe
start explorer

脚本的功能分解:它查询值的数据Hidden;如果关闭,则同时打开和关闭ShowSuperHidden。如果已经打开,则同时打开和ShowSuperHidden关闭。我决定以这种方式设计脚本,因为我个人很少需要查看隐藏文件而不查看系统文件,但您可以根据需要更改此行为。1

Hidden启用或禁用这些注册表值后,脚本将终止并重新启动 Windows Explorer 资源管理器进程。如果出于某种原因,命令无法确定的值,query则脚本将中断并在退出前显示错误。

将批处理文件映射到热键

为了满足我的最大便利性标准,我将新创建的ToggleHidden.bat文件放在计算机上的某个位置,然后使用自动热键映射热键组合来运行它。我通过将以下内容添加到现有的 AHK 脚本中来实现这一点:

Ctrl & H::
Run PATH\TO\FILE
Return

我在这里使用了 AutoHotKey,因为我已经将它用于类似的目的,并且发现它是分配热键来运行我的程序的更有用的方法,但如果你不想为了这一步而安装 AHK,你也可以使用这是为程序分配热键的 Windows 原生方法

我现在可以使用热键组合Ctrl+H来隐藏并快速显示或隐藏隐藏/系统文件...并且它可以工作精美地,如果我这样说的话。


1 如果您确实打算采用这种方式,那么值得注意的是,在 Windows 生态系统中,超级隐藏文件/文件夹是隐藏文件/文件夹的子集。

对于这两个注册表值,这意味着您可以启用 值Hidden而不启用ShowSuperHidden,但您不能启用ShowSuperHidden而不启用Hidden;这样做只会显示普通项目,因为 Windows 将超级隐藏项目视为一种隐藏项目,如果隐藏项目是隐藏的,那么超级隐藏项目也是隐藏的。简而言之:如果您打算打开ShowSuperHidden,则需要确保Hidden同时打开它。

答案3

显示隐藏文件夹选项是 Explorer 的一部分。

虽然在命令行中,您可以使用attribdir /ah命令来查看隐藏文件,但您无法从命令行控制隐藏设置,除非您先进行相当长一段时间的修改。本质上,此设置存储在注册表中,您可以从命令行修改注册表。但这样做比在资源管理器上快速更改设置要麻烦得多。

如果您经常要执行此操作,则在注册表中找到设置并将其存储到 .reg 文件中会更快,因为然后您可以双击两个 .reg 文件来启用和禁用它。

不幸的是,我不知道它在注册表中的什么位置。我只知道它在 HKCU 配置单元中,但不知道具体在哪里。

如果您升级到 Windows 10,则可以直接从查看选项卡中找到此设置。

答案4

通过使用免费软件并稍微修改脚本,我现在能够切换隐藏文件恢复我打开的所有资源管理器文件夹窗口。

首先,从这里下载免费软件应用程序:

https://www.sordum.org/9192/restart-explorer-v1-4/

解压并将压缩的 Rexplorer 文件夹移动到目录:

然后对上面的批处理脚本做以下更改:

:restart
start "" "C:\Program Files\Rexplorer\Rexplorer_x64.exe"
exit

这将导致 Rexplorer_x64.exe 应用程序重新启动 explorer.exe 并恢复您打开的任何文件夹,而不是仅仅终止并重新启动 explorer。

相关内容