Windows 系统文件资源管理器的命令行参数(如何降权打开程序,如何选择文件)

编程知识 更新时间:2023-04-07 16:56:24

大多数用户还是习惯使用 Windows 自带的文件资源管理器来管理文件,于是我们可以利用它的命令行参数来帮助我们做一些与之相关的交互。

本文会以实际的例子来说明如何使用 explorer.exe 的命令行参数。


本文内容

    • 打开文件
    • 启动程序
    • 打开某个文件夹
    • 选择某个文件
    • 其他命令行参数
    • 一些特殊文件夹的命令

打开文件

在命令行中输入 explorer D:\Services\blog.walterlv\test.txt 即可打开 test.txt 文件。不过,这个时候是间接使用文件资源管理器打开的文件,效果跟我们直接在文件资源管理器中双击打开这个文件的效果是一样的。

启动程序

实际上利用文件资源管理器启动程序和前面的打开文件是同一种命令,不过我特别拿出来说,是因为使用这种方式来启动程序还有一种特别的功效:

  • 可以降权执行

使用方法:

explorer D:\Services\blog.walterlv.com\Walterlv.Blog.Home.exe

如果你当前进程是管理员权限,那么可以通过 explorer 间接启动将新启动的进程降低到与 explorer 同级别的权限。

不过,有几点需要注意的:

  1. 如果用来降权,那么只会降到与文件资源管理器同级别的权限
    • 而文件资源管理器是什么权限在 Windows 7 上和 Windows 8/8.1/10 上不同
    • Windows 8/8.1/10 无论开关 UAC 都是普通用户权限,除非你特别使用任务管理器(Task Manager)以管理员权限启动文件资源管理器
    • Windows 7 在开启 UAC 的情况下,文件资源管理器是以普通用户权限运行的
    • Windows 7 在关闭 UAC 的情况下,文件资源管理器是以管理员权限运行的
  2. 不允许给间接启动的程序携带命令行参数
    • 如果你试图传入额外的参数,那么最终不会执行这个程序,只会打开一个根你的程序毫无关系的文件管理器的新窗口而已
  3. explorer 必须是已经启动的状态(大多数时候都是这样)

关于利用文件资源管理器降权执行程序的内容,可以阅读我的另一篇博客:

  • 在 Windows 系统上降低 UAC 权限运行程序(从管理员权限降权到普通用户权限) - walterlv

关于 UAC 权限相关的内容,可以阅读我的另一篇博客:

  • Windows 中的 UAC 用户账户控制 - walterlv
  • Windows 的 UAC 设置中的通知等级实际上只有两个档而已 - walterlv

如果你使用 .NET 程序来完成启动程序的话,可能需要关注 UseShellExecute。不过利用 explorer 间接启动就无所谓了,无脑设置为 false 就好,因为它自己就相当于 Shell。

  • C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思? - walterlv

打开某个文件夹

explorer D:\Services\blog.walterlv.com

选择某个文件

在与其他工具集成的时候,如果有需求要打开某个文件夹,并自动滚动到希望看到的文件选中它,那么这个命令非常有用:

explorer /select,"D:\Services\blog.walterlv\Walterlv.Blog.Home.exe"

这可以在打开文件资源管理器的同时,选中 Walterlv.Blog.Home.exe 文件,并将它滚动到可视区域。

其他命令行参数

在以上这些命令的基础上,可以添加一些可选参数用来控制如何执行这些命令。

  • /separate
    • 让文件资源管理器在一个新的进程中打开

一些特殊文件夹的命令

打开当前工作路径的根目录:

> explorer \

打开“文档”文件夹:

> explorer \\
# 或者
explorer /

打开“计算机”文件夹:

# 注意,此命令在 CMD 中可以直接执行,在 PowerShell 中需要加上引号,即 ","
explorer ,

参考资料

  • How to run Windows Explorer as a different user (so I can do admin work) – Florin Lazar – Consistency Checkpoint
  • How to launch Windows Explorer with the privileges of a different domain user? - Super User

我的博客会首发于 https://blog.walterlv/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

更多推荐

Windows 系统文件资源管理器的命令行参数(如何降权打开程序,如何选择文件)

本文发布于:2023-04-07 16:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/2ee4e3800c901843f94030ea2af42725.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   命令行   资源管理器   如何选择   参数

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 54091文章数
  • 14阅读数
  • 0评论数