「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>ファイルシステム]]

* 目次 [#k72cc8fb]
#contents

*概要 [#jc9a5185]
GitHubのリポジトリに登録した物件をダウンロードした際、~
取得したZIPファイルが解凍できないなどの問題があったので調査をしてみた。

*要因 [#l017ddff]
以下の2つの要因がある。

**ソフトウェアにパス長の制限がある。 [#r2e25c13]
Windowsの後方互換でパス長の制限があるためパス長の制限があるソフトウェアが現存する。

-NTFSファイルシステムが32K文字までのパスをサポートしている。

-しかし、Windows APIは、後方互換性を重視するため、
--パス最大長がMAX_PATH環境変数で260文字に設定されている。
--パスに " \\?\ "接頭辞を使用すると、260文字を超える文字を使用できる。
--しかし、一部のWin32 APIでは" \\?\ "接頭辞を使用しても制限が解除されない。

>というトコロに原因があるもよう。

-Windows 10 Version 1607以降、MAX_PATHの制限を解除できる。
--レジストリ修正
--若しくは、グループポリシー

**全角文字を理解しないソフトウェアがある。 [#q3a7bdf6]
例えば以下のような例。

-インテル ソフトウェア開発製品 日本語環境でのご注意 | XLsoft エクセルソフト Intel~
https://www.xlsoft.com/jp/products/intel/tech/win_jp_limitation.html
--プログラム中のファイル入出力について、フォルダー名に日本語を含むと正常に動作しない。
--Microsoft* Visual Studio* 上でのデバッグ操作において、~
フォルダー名に日本語がある場合や、ソースコードのファイル名に~
日本語を含むと、ブレークポイントが機能しない
--, etc.

*対策 [#dcf9ba2a]
-上記の双方(パス長、全角文字)とも、ソフトウェアが対応すれば済む。
-例えば、ZIPであれば7-Zip、WinRARがコレラの問題に対応している。

*参考 [#cbb29027]

**文字数制限 [#gb1da2c7]
-260文字のパスの長さ制限がWindowsに存在するのはなぜですか?~
path - limit | CODE Q&A [日本語]~
https://code.i-harness.com/ja/q/1cb101

-Long Paths in .NET, [Kim Hamilton] – BCL Team Blog
--Part 1 of 3~
https://blogs.msdn.microsoft.com/bclteam/2007/02/13/long-paths-in-net-part-1-of-3-kim-hamilton/
--Part 2 of 3: Long Path Workarounds~
https://blogs.msdn.microsoft.com/bclteam/2007/03/26/long-paths-in-net-part-2-of-3-long-path-workarounds-kim-hamilton/
--Part 3 of 3 Redux~
https://blogs.msdn.microsoft.com/bclteam/2008/07/07/long-paths-in-net-part-3-of-3-redux-kim-hamilton/

-Naming Files, Paths, and Namespaces (Windows)~
https://msdn.microsoft.com/en-us/library/aa365247.aspx

-CreateFileW等のwin32apiでMAX_PATH 超のメモ - Qiita~
https://qiita.com/jugemjugemu/items/4db1dfd3d2737d3979df

**現象 [#t379aa74]
-ファイル名の長さと文字コードの問題:~
プログラマー社長のブログ:オルタナティブ・ブログ~
http://blogs.itmedia.co.jp/komata/2012/11/post-85cf.html

-ファイル名・パス名の文字数制限と日本語名には注意が必要です。~
|滋賀県大津市の小さなパソコン教室「ぱそこんる~む123」~
https://ameblo.jp/pcroom123/entry-11545076070.html

***ZIP [#v9c8a224]
-長いファイル名を含むZIPファイルの解凍~
'-とあるZIPファイルを解凍しよ- その他(ソフトウェア) | 教えて!goo~
https://oshiete.goo.ne.jp/qa/1624421.html

-Zipファイルを展開しようとすると~
「変更先へのパスが長すぎます、圧... - Yahoo!知恵袋~
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1347271633

-Windows XP で ZIP 形式のファイルを解凍すると、~
"指定されたファイルが見つかりません" と~
エラー メッセージが表示されてファイルの解凍ができない場合がある~
https://support.microsoft.com/ja-jp/help/978341

-IBM Knowledge Center~
インストール・ファイルの解凍時における~
「ファイル・パスが長すぎます (File path too long)」などのエラー~
https://www.ibm.com/support/knowledgecenter/ja/SSFUEU_7.1.0/com.ibm.swg.ba.cognos.op_installation_guide.7.1.0.doc/c_in_trbls_uncompress_camphor.html

----
Tags: [[:インフラストラクチャ]], [[:Windows]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS