You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino Uno插入PC时自动启动cmd.exe并执行dir /s的技术问询

Arduino Uno插入电脑自动启动CMD并运行dir /s的实现方法

首先明确:你在Arduino代码里调用system("cmd")没用,因为Arduino的代码是运行在单片机本身的,不是电脑系统上。AVR架构的Arduino没有类似Windows的操作系统环境,system()是PC端C语言的系统调用函数,在单片机里根本不支持,自然不会有任何效果。

要实现插入Arduino时自动触发电脑端的CMD命令,得从电脑端做文章,以下是两种可行方案:

方案一:用Python脚本监听串口连接

写一个Python脚本,持续检测电脑的串口列表,当Arduino对应的COM口出现时,自动启动CMD并执行dir /s命令。

示例代码:

import serial.tools.list_ports
import subprocess
import time

# 记录初始串口列表
initial_ports = [port.device for port in serial.tools.list_ports.comports()]

while True:
    current_ports = [port.device for port in serial.tools.list_ports.comports()]
    # 检查是否有新串口加入
    new_ports = list(set(current_ports) - set(initial_ports))
    if new_ports:
        # 假设Arduino的串口是新加入的那个
        print(f"检测到新设备:{new_ports[0]}")
        # 启动CMD并运行dir /s,pause让窗口保持不关闭
        subprocess.Popen(["cmd.exe", "/c", "dir /s && pause"])
        # 更新初始列表,避免重复触发
        initial_ports = current_ports
    time.sleep(1)

使用说明:

  • 先安装依赖库:pip install pyserial
  • 将脚本设置为开机自启,电脑启动后会自动监听,插入Arduino时触发命令。

方案二:Windows任务计划程序(无需编程)

利用Windows自带的任务计划,监听设备连接事件触发CMD命令:

  1. 打开「任务计划程序」,点击「创建任务」
  2. 「常规」标签:给任务命名,勾选「不管用户是否登录都要运行」
  3. 「触发器」标签:点击「新建」,选择「事件」,设置:
    • 日志:选择「系统」
    • 来源:选择「PlugPlayManager」
    • 事件ID:选择「2003」(设备连接事件)
    • 点击「筛选器」→「新建筛选器」,选择「事件数据」,输入Arduino Uno的硬件ID(可在设备管理器中查看),避免其他设备误触发
  4. 「操作」标签:点击「新建」,选择「启动程序」,程序或脚本填cmd.exe,添加参数/c dir /s && pause
  5. 保存任务后,插入Arduino时就会自动触发CMD执行命令。

内容的提问来源于stack exchange,提问作者Coding with Ayush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:07:27