55511


Windows 10 x64のPowershell(x64,
非管理者権限)のウィンドウに、ファイルをドラッグ＆ドロップしてパスを入力させようとしたところ、ファイル名含まれている記号部分が欠落されてPowerShellのウィンドウに入力されてしまいます。

x86版を使用すると問題無いのですが、このような動作になってしまう理由は何が考えられるのでしょうか。

* * *

下記のように、ファイル名が中黒(U+30FB)のファイル`C:\tmp\・.txt`を作成しドラッグ&ドロップしましたが、記号のみが消え`C:\tmp\.txt`が入力されます。

[code]

    > $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
    
[/code]

問題が起きる記号は、気づいた限りでは

  * 左右二重矢印(⇔ U+21d4)
  * 中黒(・ U+30FB)

です。

ひらがなや、常用する漢字では問題が起きておらず、同ファイルをコマンドプロンプトにドロップすれば記号が正しく入力されます。

Windows 10のバージョンは1809と1903で再現しました。

Windows 10に搭載されているPowershellだけでなく、PowerShell Core 6.2.1(x64)でも同じ動作でした。

PowerShellの起動方法は、スタートメニューから実行しています。

`$profile` は変更しておらず、起動スクリプトファイルは存在していません。


CC BY-SA 4.0
2019-06-03T22:03:40.923
55494
2019-06-04T11:54:25.583
2019-06-04T11:54:25.583
3060
9113
question
windows powershell
PowerShell(x64)のウィンドウに、ファイル名に記号を含むファイルをドラッグ＆ドロップすると文字が欠落してしまう


自己回答になってしまいますが、  
TechNetブログの[PowerShell
で全角文字を入力すると表示がおかしくなる問題について](https://blogs.technet.microsoft.com/askcorejp/2018/11/14/powershell-%e3%81%a7%e5%85%a8%e8%a7%92%e6%96%87%e5%ad%97%e3%82%92%e5%85%a5%e5%8a%9b%e3%81%99%e3%82%8b%e3%81%a8%e8%a1%a8%e7%a4%ba%e3%81%8c%e3%81%8a%e3%81%8b%e3%81%97%e3%81%8f%e3%81%aa%e3%82%8b%e5%95%8f/)
を発見しました。

試しに、 **`Remove-Module PSReadline` を実行したところ、問題は発生しなくなりました。**  
また、元々問題が起きていなかった **x86版はPSReadLineがインストールされていない** ことを確認しました。

原因はほぼ特定できたと思っていますが、ブログポストでは、

> また、問題は表示上のみであり、スクリプトの実行には影響はありません。

と記載されていますが、「文字が欠落する」という実動作に影響があること、

> 次期バージョンにて問題が修正されるよう障害情報には登録をしております。

とあるのに、PowerShell Core 6.2で修正されていない点が、イマイチ納得できていません。


CC BY-SA 4.0
2019-06-04T11:46:07.873
55511
2019-06-04T11:46:07.873
9113
55494
answer