Blog で コマンドの例 を記述するのに、 ファイルやフォルダのパスの表記をどうするか?。
はい。 ¥ です。
コピペすると 駄目になっちゃう様で ... 。
¥ と言っても お金 では ありません。
パスの区切り文字として、日本語環境で使われる ¥ です。
上の ¥ は 全角 で表示しています。
半角 だと \ ですが ¥ に見えずに \ に見えている筈です。
これを 半角の ¥ に見える様に HTML 表記で "¥" を使って来ました。 一部、そのまま \ だったりもしますが ... 。
そうすると、 あら 不思議 !。 ちゃんと、 半角の ¥ に 見えるのですよね。
今迄、 (きっと)、 これで問題は無かった 筈 です。
例えば、
コマンドプロンプトに 貼り付け (ペースト) ても エラーは吐かなかった気がします。
しかし、
Windows 10 も v1703 になり、
コマンドプロンプト (cmd.exe) から パワーシェル (powershell.exe) へ 移行が進んでいます。
この所為かどうかは分かりませんが、
Blog (.html) で 半角の ¥ 表記にした コマンド ライン 、
これを コピペ ( Copy&Paste ) し、実行すると、
エラーを吐く様になったのです。
Blog (.html) では UTF-8 の文字コードで記述され、
区切り記号を Unicode の 165 番 (U+00A5) で書いていた事になります。
これに対して、
パス区切り文字 の \ は Unicode の 92 番 (U+005C) です。
今迄は Windows は この U+00A5 を U+005C に 読み替えてくれていた 筈 でした。
表示のみでなく、実際の処理も U+00A5 を U+005C として扱ってくれていたのですね。
でも、 今の OS は ... 。
何時から、この仕様に変わったのか分からないのですが、 Creators Update が怪しい ... 。.
具体的な例を示しましょう。
Windows 10 version 1703 build 15063.138 の
コマンドプロンプト (cmd.exe) か パワーシェル (powershell.exe) で、
次のコマンドラインをコピペ ( Copy&Paste ) し、実行して見て下さい。
¥= U+00A5
dir C:¥WINDOWS
¥= U+005C
dir C:\WINDOWS
結果はこんな感じ。
コマンドプロンプトは 上の順序で 実行、
パワーシェル は 最初のエラーを吐くものと、それを 実在するドライブに替えたものと、区切り記号を打ち直したもの。
PowerShell の結果を見れば、
¥¥で評価されるか、 ドライブ区切り迄を無視しているか、 どちらかなのかが分かります。
文字コードに 忠実に 処理を行い、 結果、 可笑しな答えが返って来ています。
しかし、日本語環境の表示上では、両者は見分けが着かない! と来たもんだ。 はは ... 。
さて、 どうしよう ... 。
暫定的に、 もし、コピペして その答えが異常だったら、¥を打ち直して 見て下さい ...。
PS: 右欄にも、 「 区切り記号¥について 」 として、掲示スペースを設けました。
やはり、欧米圏出生の Windows は日本語が苦手 ... 。.
0 件のコメント:
コメントを投稿