PDA

View Full Version : Copiare percorsi veramente NTFS


BodyKnight
20-08-2009, 21:41
Sono veramente disperato.

Ho moltissimi file annidati in percorsi con più di 260 caratteri e Windows non li supporta (nonostante le specifiche NTFS dicano che il percorso può essere lungo 32767 caratteri).


Mi serve un programma per la copia dei file che NON adoperi le API di windows e che consenta la copia di file con percorso più lungo di 260 caratteri.

zuper
20-08-2009, 21:51
1) cambiare il nome delle cartelle :)

2) usa il comando subst da dos e mappa su una lettera dei dischi il percorso così da accorciarlo es:

subst w: c:\nome\percorsolunghissimissimisssisssisisisiiiiimo

a quel punto vai in w: ed è come fossi nella cartella di cui sopra....ma usando meno caratteri

BodyKnight
20-08-2009, 22:47
Impossibile. Non posso leggere, copiare, modificare, fare alcunchè.

Le cartelle di livello superiore non possono essere rinominate.


Il compute non è mio e non so come i file sono stati generati; ma l'unica cosa che riesco a fare sotto windows è "vedere" i file nella shell. Stop. Se provo anche solo ad aprirli windows comunica che non esistono.


per di più i file sono UNA VALANGA, centinaia di GB, in centinaia di cartelle. Non posso trattarli singolarmente e se li sposto li perdo perchè non so più dove erano e segnare i percorsi a mano richiederebbe settimane.


Tutto quello che devo fare è copiarli su un disco esterno, non mi interessa poi poterli usare (anche se con Linux e i driver per NTFS li gestisco perfettamente)... eppure non riesco.

zuper
20-08-2009, 22:49
Impossibile. Non posso leggere, copiare, modificare, fare alcunchè.

Le cartelle di livello superiore non possono essere rinominate.


Il compute non è mio e non so come i file sono stati generati; ma l'unica cosa che riesco a fare sotto windows è "vedere" i file nella shell. Stop. Se provo anche solo ad aprirli windows comunica che non esistono.

ma hai provato la subst?

BodyKnight
20-08-2009, 22:56
ma hai provato la subst?

Domani provo. Ma sono scettico.

Per intanto grazie.

xcdegasp
20-08-2009, 23:29
hai provato a zippare e scompattare? nel senso di zippi, lo porti dove devi portarlo e lo scompatti

BodyKnight
21-08-2009, 07:35
hai provato a zippare e scompattare? nel senso di zippi, lo porti dove devi portarlo e lo scompatti



Winzip\Winrar non trova il file.

xcdegasp
21-08-2009, 09:22
potresti fare uno screen del path che vorresti spostare tipo visualizzando l'indirizzo nella barra strumenti di "esplora risorse" e posizionandoti in qualche sottodirectory di quelle oggetto della discussione ?
così capiamo meglio

BodyKnight
21-08-2009, 09:56
Ci vuole un po', non è così facile. Ci sono migliaia di ramificazioni e andare a ripescare i file che non vengono copiati è difficile.

Sto cercando un programmino che avevo trovato che contava i path più lunghi di 260 caratteri contenuti in una cartella, se lo trovo posto un esempio.

BodyKnight
21-08-2009, 10:51
Dunque.


Ho provato con il commando subst. Purtroppo non digerisce gli spazi nel path. Per cui mi sono dovuto fermare ai primi 2 livelli di annidamento, il terzo contiene un nome con lo spazio e il prompt dei comandi mi restituisce l'errore "invalid parameters number".

Comunque. Ho verificato che se riesco ad accorciare di x caratteri il nome della cartella con subst, allora riesco a creare un nuovo file lungo x caratteri nel percorso annidato, che altrimenti non riuscivo a creare (mi dava errore: Impossibile creare nuovo file, percorso specificato non valido).

Il file creato nel percorso del driver generato con subst: riesco a manipolarlo perfettamente; mentre quello nel percorso originario è, come al solito, immanipolabile. Non posso nemmeno selezionarlo, è come una bitmap spiaccicata sullo schermo.

Subst potrebbe essere la mia soluzione.... se solo non fosse che non posso usare path contenente spazi. E allora è completamente inutile. Porca miseria, che due palle la microsoft.

zuper
21-08-2009, 10:52
se fai un

tree

da dos funziona?

xcdegasp
22-08-2009, 19:08
fai una comrpess di tipo cpio che dovrebbe mantenere tutta la struttura, poi lo scompatti dove lo volevi mettere..

non so però se hanno fatto il porting su windows cioè se hanno realizzato lo stesso programma per windows..

Energy++
23-08-2009, 09:19
Ho provato con il commando subst. Purtroppo non digerisce gli spazi nel path. Per cui mi sono dovuto fermare ai primi 2 livelli di annidamento, il terzo contiene un nome con lo spazio e il prompt dei comandi mi restituisce l'errore "invalid parameters number".

ma dai devi usare gli apici!

subst w: "c:\nome\percorso lunghissimo\"

zuper
23-08-2009, 10:40
Dunque.


Ho provato con il commando subst. Purtroppo non digerisce gli spazi nel path. Per cui mi sono dovuto fermare ai primi 2 livelli di annidamento, il terzo contiene un nome con lo spazio e il prompt dei comandi mi restituisce l'errore "invalid parameters number".

Comunque. Ho verificato che se riesco ad accorciare di x caratteri il nome della cartella con subst, allora riesco a creare un nuovo file lungo x caratteri nel percorso annidato, che altrimenti non riuscivo a creare (mi dava errore: Impossibile creare nuovo file, percorso specificato non valido).

Il file creato nel percorso del driver generato con subst: riesco a manipolarlo perfettamente; mentre quello nel percorso originario è, come al solito, immanipolabile. Non posso nemmeno selezionarlo, è come una bitmap spiaccicata sullo schermo.

Subst potrebbe essere la mia soluzione.... se solo non fosse che non posso usare path contenente spazi. E allora è completamente inutile. Porca miseria, che due palle la microsoft.

mi ero perso questa risposta...avevi postato mentre postavo io

ma vedo che ti hanno appena dato la risposta :) gli apici!!

alla faccia del tuo scetticismo ;)

BodyKnight
23-08-2009, 14:03
Sì, grazie a tutti. Comunque c'era arrivato anche io dopo.

Purtroppo però mi è inutile, sono troppi i file e in troppe diverse cartelle. E' irrealizzabile fare alcunchè con subst.

Ho deciso che farò tutto con una distro su livecd di linux. Devo solo capire quale è la migliore per non distruggermi il filesystem. Tra l'altro ho perso l'accesso diretto al computer e devo fare la copia tramite interposta persona.


Rimane la grande delusione per windows e le sue fregnacce.

Energy++
23-08-2009, 17:41
per recuperare i dati (solo per quello...) mi sono trovato bene con ubuntu live, quindi mi sento di consigliarla


PS. ma che versione di windows ti ha creato tutti questi problemi?

zuper
23-08-2009, 21:17
Rimane la grande delusione per windows e le sue fregnacce.

un path di 260 caratteri è una fregnaccia di chi lo fa...nn di windows!

BodyKnight
23-08-2009, 22:18
per recuperare i dati (solo per quello...) mi sono trovato bene con ubuntu live, quindi mi sento di consigliarla


PS. ma che versione di windows ti ha creato tutti questi problemi?

XP e vista. Pare che abbiano fatto coscientemente questa scelta, per impedire labirinti troppo lunghi di fileserver.

E' assurdo.

Dovrò necessariamente copiare i dati scrivendoli con ubuntu su un disco esterno ntfs, spero che funzioni, ma se mi incasina il FS non è comunque un dramma. Piuttosto, come faccio a verificare poi che il disco su cui è avvenuta la copia sia a posto e i dati leggibili?

BodyKnight
23-08-2009, 22:27
un path di 260 caratteri è una fregnaccia di chi lo fa...nn di windows!

Mi spiace, ma non è vero. Immagina il progetto di costruzione di una portaerei, di un ospedale, di un grattacielo, ecc.... Tra migliaia di lotti, sottolotti, impianti, e componenti, con già un ristrettissimo annidamento, hai fatto fuori una valnga di caratteri; e diversamente non puoi fare, perchè le cose complesse richiedono progetti complessi e la loro gestione non può essere sempificata più di tanto, a meno di non capirci più fuori assolutamente niente quando tra 10 anni a qualcuno servirà tutto il materiale informatico per andare a recuperare il diagramma di chissà che cosa.

Mi spiace, ma 260 caratteri sono una limitazione veramente frustrante.

zuper
24-08-2009, 09:00
Mi spiace, ma non è vero. Immagina il progetto di costruzione di una portaerei, di un ospedale, di un grattacielo, ecc.... Tra migliaia di lotti, sottolotti, impianti, e componenti, con già un ristrettissimo annidamento, hai fatto fuori una valnga di caratteri; e diversamente non puoi fare, perchè le cose complesse richiedono progetti complessi e la loro gestione non può essere sempificata più di tanto, a meno di non capirci più fuori assolutamente niente quando tra 10 anni a qualcuno servirà tutto il materiale informatico per andare a recuperare il diagramma di chissà che cosa.

Mi spiace, ma 260 caratteri sono una limitazione veramente frustrante.

boh...io non sono d'accordo...260 caratteri vuol dire avere un'alberatura di 10 cartelle con 26 caratteri l'una (vabbè 9 + il file)

ecco secondo me è esagerato....già avere 10 sottocartelle è assurdo...ma di 26 caratteri l'una....NAAAAAAAAAA

mi piacerebbe davvero vedere un tree di uno dei tuoi percorsi....

EDIT:
aggiungo che se sono conscio di certi limiti la mia idea è di cercare di RISPETTARLI anche e soprattutto perchè come giustamente dici tu potrei aver bisogno di una cosa tra 10 anni...per cui esempio stupido evito di inserire SPAZI all'interno di files...oppure caratteri strani che non siano l'underscore...se tra 10 anni usassimo solo shell unix ti voglio vedere a fargli digerire i nomi con gli spazi...

insomma ci sono delle regole e possono essere giuste o sbagliate, condivisibili o no (e io CONDIVIDO un limite intelligente per il numero di caratteri in un percorso) MA è sempre meglio cercare di attenersi il + possibile :)

xcdegasp
24-08-2009, 10:37
Mi spiace, ma non è vero. Immagina il progetto di costruzione di una portaerei, di un ospedale, di un grattacielo, ecc.... Tra migliaia di lotti, sottolotti, impianti, e componenti, con già un ristrettissimo annidamento, hai fatto fuori una valnga di caratteri; e diversamente non puoi fare, perchè le cose complesse richiedono progetti complessi e la loro gestione non può essere sempificata più di tanto, a meno di non capirci più fuori assolutamente niente quando tra 10 anni a qualcuno servirà tutto il materiale informatico per andare a recuperare il diagramma di chissà che cosa.

Mi spiace, ma 260 caratteri sono una limitazione veramente frustrante.

si ma le directory non hanno lo scopo di spiegare i contenuti dei files, piuttosto categorizzano il che significa che gli si deve dare un nome (anche composto) che simbolicamente identifica il contenuto.

esempio la directory "bin" in unix identifica una cartella nella quale vengono depositati i binari dei programmi installati, altre cartelle come "users" in Vista assume il ruolo di cartella contenente i profili delle utenze censite nel pc, e così via..

una portaerei, edificio, parcheggio, quasiasi cosa può essere smembrata in grandi aree, le quali possono a loro volta essere smembrate in sotto aree, le quali in altre microaree evia così ma basterà dare dei nomi simbolici che poi saranno traducubili con un leggimi.txt a monte del percorso per capire cosa ci sia dentro del resto si parla di settori come settore D1 o D2 o D3, poi settore giallo, rosso, verde, ecc..

ci vuole solo un po' di fantasia e di logica per non avere percorsi inutili da 260caratteri ciasc'uno, anche se fossero normative le raggrupperesti per annata, mese e poi per macro area ed eventualmente microarea ma non faresti un poema scritto per ogni directory!

BodyKnight
24-08-2009, 11:51
si ma le directory non hanno lo scopo di spiegare i contenuti dei files, piuttosto categorizzano il che significa che gli si deve dare un nome (anche composto) che simbolicamente identifica il contenuto.

esempio la directory "bin" in unix identifica una cartella nella quale vengono depositati i binari dei programmi installati, altre cartelle come "users" in Vista assume il ruolo di cartella contenente i profili delle utenze censite nel pc, e così via..

una portaerei, edificio, parcheggio, quasiasi cosa può essere smembrata in grandi aree, le quali possono a loro volta essere smembrate in sotto aree, le quali in altre microaree evia così ma basterà dare dei nomi simbolici che poi saranno traducubili con un leggimi.txt a monte del percorso per capire cosa ci sia dentro del resto si parla di settori come settore D1 o D2 o D3, poi settore giallo, rosso, verde, ecc..

ci vuole solo un po' di fantasia e di logica per non avere percorsi inutili da 260caratteri ciasc'uno, anche se fossero normative le raggrupperesti per annata, mese e poi per macro area ed eventualmente microarea ma non faresti un poema scritto per ogni directory!


Quale è il senso di dare nomi simbolici invece di nomi estesi? Sicuramente non risparmi in livelli di annidamento, perchè che una cartella venga nominata con 1 carattere o con 100, sempre una cartella è; però, se si chiama con 1 carattere ti serve in più un prontuario per decifrarlo.

Ti faccio notare che nemmeno la microsoft usa codici, simboli o allegorie.

C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\

Il percorso è decisamente esplicito in quanto a nomi (li scrive anche con gli spazzi).

In più, il nome delle cartelle serve esattamente a "spiegare il contenuto dei file", tant'è che la cartella \user\ di windows, elenca, tra le sue sottocartelle, musica, video, immagini, preferit, ecc... Aggiungiamo al tutto che lo "spiegare il contenuto dei file" non è necessariamente svolto identificando il tipo di file, ma il contenuto può, a seconda dei casi, essere spiegato con l'argomento dell'informazione contenuta nel file, l'utilizzo che del file se ne fa, l'utente che lo può gestire, ecc... e che solitamente, in uno stesso filesystem, tutte queste logiche per la titolazione convivono e devono essere a loro volta organizzate al meglio.

Insomma, io vivo molto male con questi limiti impostimi da windows. Purtroppo non devo gestire le foto di famiglia, ma cose molto complesse e lo faccio con una certa difficoltà.

zuper
24-08-2009, 13:35
Insomma, io vivo molto male con questi limiti impostimi da windows. Purtroppo non devo gestire le foto di famiglia, ma cose molto complesse e lo faccio con una certa difficoltà.

appunto perchè devi gestire cose complesse devi trovare il modo di semplificarle :)

a leggere il percorso che hai postato prima ci vogliono quanto...10 secondi?

se devo perdere 5 secondi a leggere il nome di ogni cartella...nel tempo che ci metto a trovare quello che mi serve divento vecchio!!

se vivi male questi limiti sbagli tu....windows ha i suoi unix ne ha altri e così via...

Energy++
24-08-2009, 18:58
concordo in parte con gli altri utenti che hanno postato sopratutto con chi dice che non è solo un problema di windows, infatti anche gli altri file ssystem hanno queste "limitazioni".

Ad esempio mi sembra che anche ext3 abbia il limite di 255 byte

john_revelator
24-08-2009, 22:06
Sto cercando un programmino che avevo trovato che contava i path più lunghi di 260 caratteri contenuti in una cartella, se lo trovo posto un esempio.

http://www.shivaranjan.com/2008/09/18/find-out-files-and-folder-with-long-path-names-in-windows/
Definisci tu il numero di caratteri minimi che devi ricercare


Altro software di nicchia ma davvero utilissimo è logparser.

http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

Per trovare ad esempio tutti i file il cui percorso ha un numero di caratteri maggiore di 255, tramite riga di comando, è sufficiente scrivere.

logparser "select path from c:\*.* where strlen(path)>255" -i:FS -recurse:-1

Anche tramite powershell puoi agevolmente ricavare tale informazione

gci c: -rec | ? {-not $_.psiscontainer -and $_.fullname.length -gt 255}

BodyKnight
24-08-2009, 22:31
concordo in parte con gli altri utenti che hanno postato sopratutto con chi dice che non è solo un problema di windows, infatti anche gli altri file ssystem hanno queste "limitazioni".

Ad esempio mi sembra che anche ext3 abbia il limite di 255 byte


Non è un fatto di filesystem, visto che lo standard ntfs prevede 32767 caratteri nel percorso assoluto e non so quanti in quello relativo (255?).

E' una scelta delle api di windows.

A me dà particolarmente fastidio la storia che windows nt rispetta lo standard filesystem NTFS.... e invece non è vero.

BodyKnight
24-08-2009, 22:32
http://www.shivaranjan.com/2008/09/18/find-out-files-and-folder-with-long-path-names-in-windows/
Definisci tu il numero di caratteri minimi che devi ricercare


Altro software di nicchia ma davvero utilissimo è logparser.

http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

Per trovare ad esempio tutti i file il cui percorso ha un numero di caratteri maggiore di 255, tramite riga di comando, è sufficiente scrivere.

logparser "select path from c:\*.* where strlen(path)>255" -i:FS -recurse:-1

Anche tramite powershell puoi agevolmente ricavare tale informazione

gci c: -rec | ? {-not $_.psiscontainer -and $_.fullname.length -gt 255}


grazie

xcdegasp
25-08-2009, 09:38
Quale è il senso di dare nomi simbolici invece di nomi estesi? Sicuramente non risparmi in livelli di annidamento, perchè che una cartella venga nominata con 1 carattere o con 100, sempre una cartella è; però, se si chiama con 1 carattere ti serve in più un prontuario per decifrarlo.

Ti faccio notare che nemmeno la microsoft usa codici, simboli o allegorie.

C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\

Il percorso è decisamente esplicito in quanto a nomi (li scrive anche con gli spazzi).

In più, il nome delle cartelle serve esattamente a "spiegare il contenuto dei file", tant'è che la cartella \user\ di windows, elenca, tra le sue sottocartelle, musica, video, immagini, preferit, ecc... Aggiungiamo al tutto che lo "spiegare il contenuto dei file" non è necessariamente svolto identificando il tipo di file, ma il contenuto può, a seconda dei casi, essere spiegato con l'argomento dell'informazione contenuta nel file, l'utilizzo che del file se ne fa, l'utente che lo può gestire, ecc... e che solitamente, in uno stesso filesystem, tutte queste logiche per la titolazione convivono e devono essere a loro volta organizzate al meglio.

Insomma, io vivo molto male con questi limiti impostimi da windows. Purtroppo non devo gestire le foto di famiglia, ma cose molto complesse e lo faccio con una certa difficoltà.
anche il path che porti come esempio fa uso di nomi simbolici infatti non è in questo formato:

c:\programmi che hai installato\ditta microsoft vincitrice dell'appalto 1-4-348 del anno 2009 mese settembre con dott XXXXX YYYYY mediatore\suite per creare documenti fogli di calcolo e presentazioni e diagrammi di flusso\esempi di modelli preconfezionati e tutorial per il neofota praticante al monitor\


come vedi nel tuo path hai nomi che sono traducibili perchè convenzionali e quindi risultano oggettivamente comprensibili se hai già l'infarinatura e difficilmente in quel contresto avrai directory con 260 caratteri!
inoltre quello che hai messo come esempio è proprio quello che ti stavo dicendo di ottenere cioè path significativi composti da parole simboliche.. esmepio di parola simbolica? wc che utto il globo traduce in gabinetto ma in realtà wc non significa proprio nulla..

il mio esempio è quanto più vicino alla situazione reale che lamente per impoissibilità di copia!

zuper
25-08-2009, 11:09
anche il path che porti come esempio fa uso di nomi simbolici infatti non è in questo formato:

c:\programmi che hai installato\ditta microsoft vincitrice dell'appalto 1-4-348 del anno 2009 mese settembre con dott XXXXX YYYYY mediatore\suite per creare documenti fogli di calcolo e presentazioni e diagrammi di flusso\esempi di modelli preconfezionati e tutorial per il neofota praticante al monitor\


come vedi nel tuo path hai nomi che sono traducibili perchè convenzionali e quindi risultano oggettivamente comprensibili se hai già l'infarinatura e difficilmente in quel contresto avrai directory con 260 caratteri!
inoltre quello che hai messo come esempio è proprio quello che ti stavo dicendo di ottenere cioè path significativi composti da parole simboliche.. esmepio di parola simbolica? wc che utto il globo traduce in gabinetto ma in realtà wc non significa proprio nulla..

il mio esempio è quanto più vicino alla situazione reale che lamente per impoissibilità di copia!

wc da che mondo e mondo significa WATER CLOSET :)