Directory() 内のファイルのパスは long ですか?いくつかのファイルにアクセスしようとしたときに、次の問題が発生しました。
ディレクトリ構造によっては、目的のディレクトリへのパスが134文字を超える場合があります。パスが134文字以下の場合、file in directory() はディレクトリ内のファイルを問題なく一覧表示しますが、134文字を超える場合(親ディレクトリが同じ場合)、一覧は空になります。権限は既に確認済みで、問題はありません。JMPの「ファイル」->「開く」を使用しても、これらのファイルがディレクトリ内に見つかりません。バッファの問題でしょうか、それとも他に何か原因があるのでしょうか?
自動化とスクリプトRe: Directory() 内のファイルのパスを long にするには?ファイルは隠しファイルですか?特定のフォルダでのみ発生しますか?お使いのオペレーティングシステムは?JMPのバージョンは?ファイル名の長さは?ファイル形式は正しく設定されていますか?

Re: Directory() 内のファイルのパスを long にするには?JMPで「開く」を使ってファイルを探そうとしたのですが、ドロップダウンを「すべてのファイル」に設定するのを忘れていました。それでもスクリプトを使っても見つかりません。Windowsを使っていますが、パスが134文字を超えるフォルダでのみ問題が発生します。同じディレクトリ内で、フォルダ名が短く、完全なパスが134文字未満のフォルダでは正常に動作します。バージョン18proを使用しています。「ファイル形式が正しく設定されている」とはどういう意味ですか?
Re: Directory() 内のファイルのパスを long にするには?ドロップダウンはファイル形式を指しています。JMPの「開く」ではファイルが表示されなかったとのことです。Files In Directory Files In Directory(path, )隠しファイル用のものもあります (少なくともスクリプト インデックスによれば)。
Re: Directory() 内のファイルのパスを long にするには?はい、すでにすべてのオプションを試しましたが、成功しませんでした。これはJMPの制限だと思います。
Re: Directory() 内のファイルのパスを long にするには?JMPのサポートに問い合わせることもできます。ディレクトリ内のファイルを使用したときには、このような問題は発生しませんでした。
もっと見る...
Names Default To Here(1);
path = "$DOWNLOADS\New folder\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\";
Show(Length(path), Files In Directory(path));
Re: Directory() 内のファイルのパスを long にするには?クレイジー:Dはい、すでに連絡しました。ディレクトリをパスが短い場所にコピーして、後で削除すればいいと言われました。
Re: Directory() 内のファイルのパスを long にするには?問題が発生して申し訳ございません。ご利用のJMPのバージョンを教えていただけますか?
Windowsのパスは、歴史的にフルパスが260文字までという制限があります。使用しているOS APIが一部を切り捨てている可能性があり、提案されているようにパス全体を短くするしか解決策がない可能性があります。あるいは、Files In Directoryにバグがある可能性もあります。
問題のあるフォルダまでの親パス全体の長さはご存知ですか?その長さ(ドライブと\文字を含む)と、列挙しているディレクトリの134文字を足した合計が260文字を超えると、OSによって名前が切り捨てられます。
ご存知かと思いますが、将来的に長いファイル名をサポートしたいという要望はありますが、長いパスは通常のパスとは異なる構造になっているため、非常に複雑です。例えば、長いパスには \\?\ という接頭辞が付きます。また、ファイルを扱うコードが大量にあり、書き換えが必要になります。長いファイル名をサポートするには、マシンのレジストリを編集して有効にする必要もあります。
Re: Directory() 内のファイルのパスを long にするには?過去に(他のソフトウェアで)同様の問題に遭遇したことがあり、長いファイル パスを文字付きドライブ(例: X:)にマッピングし、その短いパスを使用することで解決しました。
Re: Directory() 内のファイルのパスを long にするには?ご返信ありがとうございます。JMPで簡単に変更できるものではないことは承知していますので、ご心配なさらずに。もしお役に立てれば幸いですが、私はJMP 18proを使用しています。先ほども申し上げたように、現在の方法は、フォルダをパスが非常に短い別の場所にコピーし、必要な操作を行ってから削除するというものです。うまくいかない親パスは134文字ですが、フォルダがユーザーパス、ネットワークパス、ドライブパスにあるという事実は考慮されていません。この部分はパスに表示されません。