0

我正在开发一个创建批处理文件的 Windows 快捷方式的项目,并且一直在测试批处理脚本路径名中的特殊字符。让我难过的一个问题是,当快捷方式被正常调用时,路径名会起作用,但如果使用“以管理员身份运行”,它就不起作用。

例如,如果快捷方式的路径名是“ C:\Program Files\myapp )]}@#$_-=+'.{[(\bin\hello.bat”,我点击快捷方式就可以正常运行。当我选择“以管理员身份运行”时,它不起作用。快捷方式目标值确实在路径名周围有双引号。

我可以从命令提示符中毫无问题地调用上述路径名,无论是以管理员身份运行还是以普通用户身份运行。

我在批处理脚本的开头输入了一个提示,以确定批处理脚本本身是否失败,但它没有。当使用 run-as 时,脚本似乎永远不会启动。

我的猜测是 Windows (7) 如何执行 run-as 操作被路径名中的一个(或多个)特殊字符绊倒。使用运行方式(使用批处理脚本[?])是否有任何已知/记录的路径名字符限制?

更新: 经过一些测试,我发现是 ' @' 字符搞砸了。当我在该字符不存在的情况下运行测试时,run-as 操作成功。不确定该角色 wrt run-as 有什么特别之处。

4

1 回答 1

0

在我的 Windows 10 上,如果 .cmd 文件的名称包含@^&,则该文件无法以管理员身份运行。如果 .cmd 文件的父文件夹名称包含@^或 & ,则即使文件名不包含 @ 或 ^ 或&,该文件也无法管理员身份运行。 具有讽刺意味的是,如果 .cmd 文件的名称是:㊣〇●♥★✺㊥❤️ 该文件可以以管理员身份运行。





于 2019-10-06T10:31:51.267 回答