0

バッチ ファイルへの Windows ショートカットを作成するプロジェクトに取り組んでおり、バッチ スクリプトへのパス名の特殊文字をテストしています。私が困惑した問題の 1 つは、ショートカットが正常に呼び出されたときにパス名が機能することですが、「管理者として実行」を使用すると機能しません。

たとえば、ショートカットへのパス名が「C:\Program Files\myapp )]}@#$_-=+'.{[(\bin\hello.bat」の場合、ショートカットをクリックすると問題なく実行できます。「管理者として実行」を選択しても機能しません。ショートカットのターゲット値には、パス名が二重引用符で囲まれています。

管理者または通常のユーザーとして実行しているコマンド プロンプトから問題なく上記のパス名を呼び出すことができます。

バッチ スクリプト自体が失敗するかどうかを判断するために、バッチ スクリプトの先頭にプロンプ​​トを表示しましたが、失敗しません。run-as を使用すると、スクリプトが起動されないように見えます。

私の推測では、Windows (7) が run-as 操作を実行する方法に何かがあり、パス名の 1 つ (または複数) の特殊文字によってつまずきます。run-as (バッチ スクリプトで [?]) を使用する際の既知の/文書化されたパス名文字の制限はありますか?

更新: いくつかのテストの後、@物事を台無しにするのは「 」文字であることがわかりました。その文字が存在しない状態でテストを実行すると、run-as 操作は成功します。run-as に関して、そのキャラクターの何が特別なのかわかりません。

4

1 に答える 1