0

简而言之:我正在尝试制作一个设置和使用变量的 1 行命令脚本。现在我想出了:

cmd /C "set var=127.0.0.1 & echo %var%"

我希望它输出 127.0.0.1,但它会打印 %var%。

长篇大论:我正在使用 keepass 作为密码管理器,并试图让它自动为我启动一个 RDP 会话。我在 URL 中添加了以下内容:

cmd://cmd /C "cmdkey /generic:TERMSRV/127.0.0.1 /user:{USERNAME} /pass:{PASSWORD} & mstsc.exe /v:127.0.0.1 & cmdkey /delete:TERMSRV/127.0.0.1"

这行得通,但是如果我需要更新 ipaddress,我必须触摸 3 个位置,而不仅仅是 1 个。我尝试将其更改为以下内容,但它不起作用:

cmd://cmd /C "set sServer=127.0.0.1 & cmdkey /generic:TERMSRV/%sServer% /user:{USERNAME} /pass:{PASSWORD} & mstsc.exe /v:%sServer% & cmdkey /delete:TERMSRV/%sServer%"
4

1 回答 1

0

josefZ 评论效果很好。以下命令可以放在keepass中的“URL:”字段中。当您双击该 url 或执行任何其他启动该 url 的操作时,它将自动启动 RPD 并让您登录。

cmd://cmd /C "for /F "tokens=*" %G in ("127.0.0.1") do cmdkey /generic:TERMSRV/%G /user:{USERNAME} /pass:{PASSWORD} & mstsc.exe /v:%G & cmdkey /delete:TERMSRV/%G"

我已经通过 RDP 对 Windows 机器和 Linux 机器进行了测试。

于 2014-12-08T15:11:28.447 回答