少なくとも質問者さんがこの質問文中に張り付けた文字列によると、上のものと下のものでは Test-Path
と C:\Users\user\Desktop\test*
の間の空白の文字に違いがあります。下のものにはUTF-8の文字が混ざっているようです。
文字列を16進数ダンプしてみると、
(1)上のものの場合:
0000000 54 65 73 74 2d 50 61 74 68 20 43 3a 5c 55 73 65
0000020 72 73 5c 75 73 65 72 5c 44 65 73 6b 74 6f 70 5c
0000040 74 65 73 74 5c 2a 0a
(2)下のものの場合:
0000000 54 65 73 74 2d 50 61 74 68 20 e2 80 aa e2 80 aa
0000020 43 3a 5c 55 73 65 72 73 5c 75 73 65 72 5c 44 65
0000040 73 6b 74 6f 70 5c 74 65 73 74 5c 2a 0a
0000055
となります。一部取り出して説明するとして、"th C:"をUTF-8で表現すると、上は"74 68 20 43 3a"、下のものは "74 68 20 e2 80 aa e2 80 aa 43 3a" です。スペース(20)の次に"e2 80 aa"のシーケンスが2つあります。これはUTF-8 の「LEFT-TO-RIGHT EMBEDDING」だそうです。
UTF-8 encoding table and Unicode characters
この為、下のものはPowerShellのコマンドとして不正になっているのでしょう。実際、私のWindows 10(PowerShell 5.1.18362.145)環境でもNG(False)となりました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/24 18:56
2019/10/24 18:58