我正在开发一个创建批处理文件的 Windows 快捷方式的项目,并且一直在测试批处理脚本路径名中的特殊字符。让我难过的一个问题是,当快捷方式被正常调用时,路径名会起作用,但如果使用“以管理员身份运行”,它就不起作用。
例如,如果快捷方式的路径名是“ C:\Program Files\myapp )]}@#$_-=+'.{[(\bin\hello.bat
”,我点击快捷方式就可以正常运行。当我选择“以管理员身份运行”时,它不起作用。快捷方式目标值确实在路径名周围有双引号。
我可以从命令提示符中毫无问题地调用上述路径名,无论是以管理员身份运行还是以普通用户身份运行。
我在批处理脚本的开头输入了一个提示,以确定批处理脚本本身是否失败,但它没有。当使用 run-as 时,脚本似乎永远不会启动。
我的猜测是 Windows (7) 如何执行 run-as 操作被路径名中的一个(或多个)特殊字符绊倒。使用运行方式(使用批处理脚本[?])是否有任何已知/记录的路径名字符限制?
更新:
经过一些测试,我发现是 ' @
' 字符搞砸了。当我在该字符不存在的情况下运行测试时,run-as 操作成功。不确定该角色 wrt run-as 有什么特别之处。