Il percorso per i file nella directory() è troppo lungo?Ho riscontrato il seguente problema mentre cercavo di accedere ad alcuni file:
A causa di alcune strutture di directory, il percorso della directory desiderata può essere maggiore di 134 caratteri. Se il percorso è lungo 134 caratteri o meno, file in directory() non ha problemi a elencare i file nella directory, ma se è più lungo di 134 caratteri (stessa directory padre) l'elenco è vuoto. Ho già controllato i permessi e tutto è a posto. Inoltre, non riesco a trovare questi file nella directory se uso File->Apri in JMP. C'è un problema di buffer o forse qualcos'altro?
Automazione e scriptingRe: Il percorso per i file nella directory() è troppo lungo?I file sono nascosti? Questo problema si verifica solo con questa cartella specifica? Quale sistema operativo stai utilizzando? Quale versione di JMP stai utilizzando? Quanto sono lunghi i nomi dei file? Sei sicuro che il formato file sia impostato correttamente?

Re: Il percorso per i file nella directory() è troppo lungo?Ok, quando ho provato a trovare i file usando "Apri" in JMP, ho dimenticato di impostare il menu a discesa su "Tutti i file". Ma con lo script non riesco ancora a trovarlo. Sono su Windows e questo accade solo per le cartelle il cui percorso è maggiore di 134 caratteri. Quindi, nella stessa directory ma con una cartella il cui nome è più breve, quindi il percorso completo è inferiore a 134 caratteri, funziona. Sto usando la versione 18pro. Cosa intendi con "il formato del file è impostato correttamente"?
Re: Il percorso per i file nella directory() è troppo lungo?Il menu a discesa è ciò che intendo per formato file, poiché hai detto che Open di JMP non era in grado di vedere i file. Hai provato con parametri diversi con File nella directory File nella directory (percorso, ) , ce n'è anche uno per i file nascosti (almeno secondo l'indice di scripting).
Re: Il percorso per i file nella directory() è troppo lungo?Sì, ho già provato tutte le opzioni ma senza successo. Immagino che questa sia solo una restrizione JMP
Re: Il percorso per i file nella directory() è troppo lungo?Puoi contattare l'assistenza JMP . Non ho avuto questo problema quando ho usato File nella directory.
Scopri di più...
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: Il percorso per i file nella directory() è troppo lungo?Pazzo
Sì, li ho già contattati, mi hanno detto che posso semplicemente copiare la directory in un posto dove il percorso è più breve ed eliminarla in seguito.
Re: Il percorso per i file nella directory() è troppo lungo?Ci dispiace che tu abbia riscontrato questo problema. Puoi dirci quale versione di JMP stai utilizzando?
I percorsi Windows hanno un limite storico di 260 caratteri per il percorso completo . È possibile che le API del sistema operativo che stiamo utilizzando stiano troncando i dati e che l'unica soluzione sia un percorso complessivo più breve, come suggerito. Oppure, potrebbe esserci un bug nei file nella directory.
Conosci la lunghezza del percorso padre completo fino alla cartella problematica? Se tale lunghezza (inclusi i caratteri "unità" e "\") + i 134 caratteri della directory che stai enumerando supera i 260, i nomi verranno troncati dal sistema operativo.
Poiché potreste chiedervi: abbiamo in mente di supportare i nomi di file lunghi in futuro, ma è piuttosto complicato perché i percorsi lunghi sono strutturati in modo diverso rispetto ai percorsi normali. Ad esempio, sono preceduti dal prefisso \\?\. Inoltre, c'è MOLTO codice che gestisce i file e che dovrebbe essere riscritto. Il supporto per i nomi lunghi richiederebbe anche di modificare il registro per abilitarlo sul computer.
Re: Il percorso per i file nella directory() è troppo lungo?In passato ho avuto un problema simile (con altri software) e l'ho risolto mappando il percorso lungo del file su un'unità contrassegnata da una lettera (ad esempio X:) e poi utilizzando quel percorso più breve.
Re: Il percorso per i file nella directory() è troppo lungo?Grazie per la risposta. So che non è una cosa che JMP può facilmente modificare, quindi niente rancore da parte tua. Sto usando JMP 18pro, se può esserti utile. Come ho detto, il metodo attuale consiste nel copiare la cartella in un'altra posizione in cui il percorso sia molto breve, quindi fare ciò che devo fare ed eliminarla in seguito. Il percorso padre che non funziona è di 134 caratteri, ma questo non include il fatto che la cartella si trova in utente->rete->unità; questa parte non è mostrata nel percorso.