You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

添加右键菜单选项运行RDP脚本无响应,注册表配置是否有误?

添加右键菜单选项运行RDP脚本无响应,注册表配置是否有误?

兄弟,你的问题主要出在两个关键地方,我给你一步步拆解:

1. 注册表位置的参数不符合你的需求

你把注册表项建在了HKEY_CLASSES_ROOT\directory\background\shell下面,这个位置对应的是文件夹窗口空白处的右键菜单,这里的%1传递的是当前打开的文件夹的路径,而不是你想要的目标RDP服务器地址(比如\\devserver)。也就是说,你点击这个右键选项时,脚本拿到的参数是你当前所在的文件夹路径,根本不是你要连接的服务器地址,这肯定没法正常启动RDP。

如果你的需求是选中网络共享文件夹(比如\devserver)时右键启动RDP,那应该把注册表项移到HKEY_CLASSES_ROOT\Directory\shell\Open RDP Session\command(去掉background部分),这样当你选中一个共享文件夹时,%1就会传递这个共享的路径,刚好匹配你的脚本需求。

如果你的需求是在文件夹空白处右键,手动输入服务器地址来启动RDP,那这个%1参数就没用了,你得修改你的.bat脚本,让它弹出输入框来获取服务器地址(比如用set /p server="请输入RDP服务器地址:"这样的命令)。

2. 脚本的调用方式可能有问题

就算参数是对的,直接在注册表命令里写.bat文件路径,有时候系统会因为执行上下文的问题没法正确运行脚本。你应该用cmd.exe /c来调用你的bat,确保它在命令行环境下执行。

修正后的命令应该写成这样:
cmd.exe /c "C:\scripts\StartRDP.bat "%1""

快速排查小技巧

你可以先在你的StartRDP.bat开头加一行日志命令,比如:
echo 收到的参数:%1 > C:\rdp_test_log.txt
然后点击右键菜单,再去看这个日志文件里的内容,就能清楚知道脚本到底拿到了什么参数,方便你确认问题出在哪。

备注:内容来源于stack exchange,提问作者Jacob Stamm

火山引擎 最新活动