質問: Windows 10 x64のPowershell(x64, 非管理者権限)のウィンドウに、ファイルをドラッグ&ドロップしてパスを入力させようとしたところ、ファイル名含まれている記号部分が欠落されてPowerShellのウィンドウに入力されてしまいます。 x86版を使用すると問題無いのですが、このような動作になってしまう理由は何が考えられるのでしょうか。 --- 下記のように、ファイル名が中黒(U+30FB)のファイル`C:\tmp\・.txt`を作成しドラッグ&ドロップしましたが、記号のみが消え`C:\tmp\.txt`が入力されます。 ``` > $PSVersionTable Name Value ---- ----- PSVersion 5.1.18362.145 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.18362.145 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 > New-Item "・.txt" -Type File Directory: C:\tmp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2019/06/04 5:06 0 ・.txt # 作成された "・.txt" をエクスプローラーからドラッグ&ドラッグすると入力される値: > C:\tmp\.txt ``` 問題が起きる記号は、気づいた限りでは * 左右二重矢印(⇔ U+21d4) * 中黒(・ U+30FB) です。 ひらがなや、常用する漢字では問題が起きておらず、同ファイルをコマンドプロンプトにドロップすれば記号が正しく入力されます。 Windows 10のバージョンは1809と1903で再現しました。 Windows 10に搭載されているPowershellだけでなく、PowerShell Core 6.2.1(x64)でも同じ動作でした。 PowerShellの起動方法は、スタートメニューから実行しています。 `$profile` は変更しておらず、起動スクリプトファイルは存在していません。
回答: 自己回答になってしまいますが、 TechNetブログのPowerShell で全角文字を入力すると表示がおかしくなる問題について を発見しました。 試しに、**`Remove-Module PSReadline` を実行したところ、問題は発生しなくなりました。** また、元々問題が起きていなかった**x86版はPSReadLineがインストールされていない**ことを確認しました。 原因はほぼ特定できたと思っていますが、ブログポストでは、 > > また、問題は表示上のみであり、スクリプトの実行には影響はありません。 > > > と記載されていますが、「文字が欠落する」という実動作に影響があること、 > > 次期バージョンにて問題が修正されるよう障害情報には登録をしております。 > > > とあるのに、PowerShell Core 6.2で修正されていない点が、イマイチ納得できていません。