■88944 / inTopicNo.3) |
Re[1]: 半角文字のみで構成されているパスについて |
□投稿者/ 魔界の仮面弁士 (1877回)-(2018/10/16(Tue) 18:58:13)
|
2018/10/16(Tue) 19:16:38 編集(投稿者)
■No88942 (サティ さん) に返信 > 「○○機能」フォルダ名の「能」の字が問題でした。 リパースポイントを使えないでしょうか。たとえば、 D:\Downloads\○○機能\ のジャンクションを作成するために MKLINK /J D:\Downloads\○○KINO\ D:\Downloads\○○機能\ のコマンドを実行しておけば、 D:\Downloads\○○機能\ D:\Downloads\○○KINO\ のいずれでも、同じフォルダーを指し示すようになります。 http://www.atmarkit.co.jp/ait/articles/1306/07/news111.html
> 例えば、本来ツールに渡したいファイルを一時ファイルにコピー > (System.IO.Path.GetTempFileName()メソッド等を利用)して、 > 一時ファイルのパスをツールに渡すことにより、 > この問題を回避できたように思いましたが、 > もしかしたら不十分かも知れません。
環境変数 TEMP も含め、アプリ側の実装次第なので難しいところですね。 コピーすることによって、権限周りの問題が生じる可能性もありますし。
■No88943 (PANG2 さん) に返信 > ShortPathNameとか > https://dobon.net/vb/dotnet/file/getshortpath.html
ショートファイル名が付与されない設定になっているドライブを考慮しないとしても、 ShortPathName は、5C 問題(表,予,申,能,一,十,貼,ソ など)には そのままでは効果が無いですね。
ただし下記を用いるなどして、対象パスのショートファイル名を、 "○○機能" から "○○KINO" に書き換えることはできますので、 そこまでして良いのなら、8+3 文字形式でのアクセスも有効かと思います。 https://intellitect.com/changing-short-file-names/
とはいえ、元のショートファイル名を変更すると、 他のアプリケーションへの影響も大きそうなので諸刃の剣。
いずれにしても、相手側のアプリケーション次第ですね。
|
|