快捷方式路径名和“以管理员身份运行”中对特殊字符的已知限制吗?

问题描述 投票:1回答:1

我正在一个项目中,该项目创建Windows批处理文件的快捷方式,并且已经在批处理脚本的路径名中测试了特殊字符。让我感到困扰的一个问题是,在正常调用快捷方式时,路径名将起作用,但是如果使用“以管理员身份运行”,则它将不起作用。

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

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

我在批处理脚本的开头放了一个提示,以确定批处理脚本本身是否失败,但不会失败。当使用运行方式时,似乎脚本从未启动。

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

UPDATE:经过一些测试,我发现是由[@]字符引起的。当我运行不带该字符的测试时,运行方式操作成功。不确定该字符有什么特殊之处。

windows special-characters runas desktop-shortcut
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.