当前位置: 首页 > article >正文

安全地自动重新启动 Windows 资源管理器Bat脚本

安全地自动重新启动 Windows 资源管理器脚本

可以直接运行的 Windows 批处理脚本,用于安全地自动重新启动 Windows 资源管理器。该脚本会在杀死资源管理器之前检查是否有其他进程正在使用资源管理器相关的文件。

Bat脚本

@echo off
title 资源管理器安全重启工具
color 0A

:: 检查是否以管理员权限运行
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo 此脚本需要以管理员权限运行,请右键单击此脚本并选择“以管理员身份运行”。
    pause
    exit /b
)

echo 正在检查是否有其他进程占用资源管理器...

:: 检查是否有其他进程正在使用 explorer.exe
for /f "tokens=2 delims=," %%a in ('openfiles /query /fo csv /nh ^| findstr /i "explorer.exe" 2^>nul') do (
    echo 发现有其他进程正在使用资源管理器,无法安全重启。
    pause
    exit /b
)

echo 没有发现其他进程占用资源管理器,准备重启...

:: 终止资源管理器进程
echo 正在终止资源管理器进程...
taskkill /f /im explorer.exe
if %errorLevel% neq 0 (
    echo 终止资源管理器进程时出现错误,错误代码: %errorLevel%
    pause
    exit /b
)

:: 等待一段时间确保进程已终止
echo 正在等待资源管理器进程完全终止...
ping -n 3 127.0.0.1 >nul

:: 检查资源管理器进程是否已终止
tasklist /fi "imagename eq explorer.exe" | find /i "explorer.exe" >nul
if %errorLevel% equ 0 (
    echo 资源管理器进程未能成功终止,无法继续重启操作。
    pause
    exit /b
)

:: 重新启动资源管理器
echo 重新启动资源管理器...
start explorer.exe
if %errorLevel% neq 0 (
    echo 启动资源管理器时出现错误,错误代码: %errorLevel%
    pause
    exit /b
)

echo 资源管理器已成功重启。
echo 按任意键关闭此窗口...
pause >nul

脚本说明

  1. 检查占用情况:借助openfiles命令来查看是否有其他进程正在使用explorer.exe。要是发现有进程占用,脚本会输出提示信息并终止运行。
  2. 终止资源管理器:若没有发现占用情况,就利用taskkill命令终止资源管理器进程。
  3. 等待进程终止:使用ping命令暂停脚本执行 3 秒,从而保证资源管理器进程已彻底终止。
  4. 重新启动资源管理器:通过start命令重新启动资源管理器。
  5. 输出结果:脚本会输出操作结果,并暂停以让你查看信息。

使用方法

  1. 把上述代码复制到一个文本文件里。
  2. 将文件扩展名改为.bat,例如restart_explorer.bat
  3. 右键点击该文件,选择 “以管理员身份运行”。

这样就能够安全地重新启动 Windows 资源管理器了。

解决乱码问题:

把脚本文件的编码格式改成与命令提示符兼容的编码,一般是 ANSI 编码。具体步骤如下:

  1. 用记事本打开 .bat 文件。
  2. 选择 “文件” -> “另存为”。
  3. 在 “保存类型” 下拉框中选择 “所有文件”,在 “编码” 下拉框中选择 “ANSI”。
  4. 点击 “保存”,覆盖原文件。

设置默认管理员执行该脚本

  1. 创建快捷方式:在桌面上,右键点击批处理脚本文件,选择 “创建快捷方式”。此时桌面上会生成一个指向该脚本的快捷方式图标。
  2. 设置快捷方式属性:右键点击新创建的快捷方式图标,选择 “属性”。
  3. 勾选 “以管理员身份运行”:在弹出的 “属性” 窗口中,切换到 “快捷方式” 选项卡,点击 “高级” 按钮。在弹出的 “高级属性” 窗口中,勾选 “以管理员身份运行”,然后依次点击 “确定” 保存设置。

之后,只要双击这个快捷方式,脚本就会以管理员身份运行。


http://www.kler.cn/a/591781.html

相关文章:

  • css3有哪些新属性
  • 计算机网络-综合布线系统
  • trae和Spring Boot Java 项目 ruoyi框架
  • STM32---FreeRTOS软件定时器
  • 关于非线性优化小记
  • 半导体制造行业的现状 内检LIMS系统在半导体制造的应用
  • Spring Cloud 中的服务注册与发现: Eureka详解
  • mybatis集合映射association与collection
  • WebForms HTML:深入理解与高效应用
  • RS-232与TTL、CMOS的区别
  • 软件工程:数据字典
  • Spring Bean 生命周期深度解析:原理、场景与优化策略
  • Java List 接口的核心 API
  • 【区块链+乡村振兴】国经安农信链服务平台 | FISCO BCOS 应用案例
  • HarmonyOS三层架构实战
  • 算法刷题记录——LeetCode篇(6) [第501~600题](持续更新)
  • 前端安全之DOMPurify基础使用
  • pytorch小记(十三):pytorch中`nn.ModuleList` 详解
  • 【华为OD-E卷 - 单词接龙 100分(python、java、c++、js、c)】
  • linux系统 Ubuntu22.04安装Nvidia驱动,解决4060系列显卡重启黑屏方法