Published On: 2017-02-09|Last Updated: 2018-06-13|Categories: Windows|Tags: , , , , |

今更こんなことを知ったのですが、Windows でバッチファイルをコンテキストメニューの “管理者として実行” から実行する場合、パスに含められない文字があるようです。

具体的には以下の文字になります。

>>> import unicodedata
>>> unicodedata.name('(')
'LEFT PARENTHESIS'
>>> unicodedata.name(')')
'RIGHT PARENTHESIS'
>>> unicodedata.name('=')
'EQUALS SIGN'
>>> unicodedata.name('&')
'AMPERSAND'
>>> unicodedata.name(',')
'COMMA'
>>> unicodedata.name(';')
'SEMICOLON'
>>> unicodedata.name('^')
'CIRCUMFLEX ACCENT'

調査した環境は Windows 7 x64 ja_JP です。非 ASCII 文字は調査していませんが引っ掛かることはないはず。

探し方が下手なのか、このことに言及しているのはここくらいしか見付けられませんでした。エスケープが上手くいかないような設定になってしまっているようですが、一見した限りではなぜこれらの文字の組み合わせなのか理解できません。

関連