Newsgroup: it.comp.os.win.vista
Titolo: copiare/spostare e rinominare dei file (complesso?!)

Tentero' di essere breve.
Pare una sciocchezza, ma effettivamente non ho trovato quello che mi
serve:
Vorrei che il processo *ignori* la copia/spostamento della struttura
delle directory e parte del percorso diventi invece parte del nome del
file.
Esempio:
se in origine il file era in questo percorso:
drive1:\dir1\sd1\sd2\sd3\file.ext
lo vorrei poterlo copiare/spostare da un'altra parte in modo tale che
il nome abbia questo formato: drivedir1sd1sd2sd3file.ext ottenendo:
drive2:\dir2\sd4\sd5\drive1dir1sd1sd2sd3file.ext
Qualcuno si e' mai fatto un batch che lo permetta? Sono passato da
poco a Vista e non so se e' gia' possibile con gli elementi di base di
questo sistema.
In alternativa: conoscete un programma che mi permetta di spostare e
rinominare file in questo modo?
Nota: Ho gia' cercato su google, ma ad un certo punto mi sono arreso,
quasi tutto quello che ho visto si preoccupa di mantenere la struttura
delle directory, o fare un mirror o un backup.

 rinominare file in questo modo?
Intanto il carattere "\" non si può utilizzare in un nome file..
-- 
	Luca Amicone
	ICQ: 14890779
---
"Risoluzione dei problemi relativi a Condivisione connessione Internet 
in Windows XP" 
http://support.microsoft.com/?id=308006

 Intanto il carattere "\" non si può utilizzare in un nome file..
RISPOSTA UTILISSIMA! Grazie! Non lo sapevo e non ce l'avrei mai fatta
senza di te. Infatti nell'esempio ho proprio messo all'interno del
nome del file il carattere "\" quando ho mostrato il risultato che
volevo ottenere. Rileggiti pure il messaggio per controllare.

 RISPOSTA UTILISSIMA!
E va beneeeeee! Ho letto maleeeeee, ma dico sul serio. Ero... rimasto 
senza benzina. Avevo una gomma a terra. Non avevo i soldi per prendere 
il taxi. La tintoria non mi aveva portato il tight. C'era il funerale di 
mia madre! Era crollata la casa! C'è stato un terremoto! Una tremenda 
inondazione! Le cavallette! Non è stata colpa mia! Lo giuro su Dio!
:->
-- 
	Luca Amicone
	ICQ: 14890779
---
"125 suggerimenti per Windows 98" 
http://support.microsoft.com/?id=835834

 directory e parte del percorso diventi invece parte del nome del file.
(Probabilmente lo sai già ma non è quello che vuoi fare o vorresti un 
sistema automatizzato, te lo suggerisco lo stesso)
Si potrebbe fare così:
- dalla barra degli indirizzi di Esplora Risorse copio il percorso che 
voglio integrare nel nome del file;
- clicco sul file per rinominarlo e posiziono il cursore prima del nome del 
file. Qui incollo il percorso copiato;
- ora Windows eliminerà automaticamente i caratteri non ammessi (compreso 
"/"), basterà confermare la rinomina.
Non so se questa soluzione può fare al caso tuo.
Ciao.
-- 
Icneumonide (n. p.) 

 inondazione! Le cavallette! Non è stata colpa mia! Lo giuro su Dio!
Oddio... che film era?! Mi sembrano le scuse alla ragazza in "blues
brothers"?
Ok, comunque la domanda del post originale permane, chi sa come fare
mi risponda... pretty please? [<= aggiungere anche occhioni da
cucciolotto su barba cespugliosa]

 Ok, comunque la domanda del post originale permane
Sicuramente con qualche script si potrebbe fare. Anche semplicemente un 
filtro che togliesse il carattere '\' al nome COMPLETO del file.
Ma non č questo in NG piů adatto per trovare "scripters".
-- 
	Luca Amicone
	ICQ: 14890779
---
"Error: 'C_1252.nls File Missing or Corrupt' During Startup" 
http://support.microsoft.com/?id=830088

 Si potrebbe fare così:
Si, lo sapevo e funziona, ma solo se lo fai manualmente per... ogni...
singolo... file... oppure solo se devi spostare file da quella
cartella E non ti interessa preservare il nome originale del file in
questione. :/
Io devo rivedere un archivio che mi e' stato organizzato per cartelle
invece che per nome di file, per cui mi trovo con una lista del tipo:
aaaa/mm/gg/cognome1/nome1/nomefile1.ext
aaaa/mm/gg/cognome1/nome1/nomefile2.ext
aaaa/mm/gg/cognome1/nome2/nomefile3.ext
aaaa/mm/gg/cognome1/nome2/nomefile4.ext
aaaa/mm/gg/cognome2/nome3/nomefile5.ext
ecc...
Con nomefileX dissimile da nomefileY e ci terrei a mantenerli
dissimili
Non so chi e' il cane che ha archiviato in questo modo, ma vorrei
cambiare ordinamento e faccio prima se invece di passarmi ogni singola
cartella ed ogni singolo file potessi usare il computer per
automatizzare tutto... altrimenti mi pare di essere tornato ai tempi
degli archivi di carta...anzi peggio... a quei tempi per un lavoro
simile sarebbe bastato prendere i fascicoli e reimpilarli in maniera
diversa... si sarebbe fatto prima. O_O

 Ma non è questo in NG più adatto per trovare "scripters".
e quale mi consigli?

 Con nomefileX dissimile da nomefileY e ci terrei a mantenerli dissimili
Ho capito, e tutti i file, dopo la rinomina, dovrebbero risiedere nella 
stessa cartella? Comunque è certo che Vista da solo, con gli strumenti di 
cui dispone, non lo fa. E non ti sarebbe neanche utile la creazione delle 
cartelle di ricerca virtuali, perchè anche se ne creassi una contenente 
tutti i file, potresti ordinarli solo per "Nome Cartella", cioè quella 
originale che contiene il file specifico, e non quella di primo livello (nel 
tuo caso aaaa). Non so se è chiaro.


 tuo caso aaaa). Non so se è chiaro.
Infatti e' proprio per questo che mi serviva spostarli e rinominarli.
Boh... aspetto fino a domani, poi casomai provo un altro newsgroup

 file. Qui incollo il percorso copiato"
ah, ora ho capito cosa intendevi... no io stavo dicendo che "se lavoro
su 1 singola directory" per volta posso selezionare tutti i file e
rinominarli in maniera molto simile a quello che hai detto tu (windows
aggiunge un (X) in fondo ai file), ma cosi' facendo uniformo nomi ed
estensioni, cosa che non voglio, inoltre devo comunque passarmi
ogni.... singola.... directory.... ho fatto adesso un listato e ne
sono 412. O_o

 e quale mi consigli?
Il più idoneo è sicuramente microsoft.public.it.scripting se no c'è 
it-alt.comp.os.win.scripting.
Sulla vitalità però non so dirti nulla. :-|
Good Luck
-- 
	Luca Amicone
	ICQ: 14890779
---
"Come modificare l'intervallo IP del servizio DHCP di Condivisione 
connessione Internet" 
http://support.microsoft.com/?id=230148

 drive2:\dir2\sd4\sd5\drive1dir1sd1sd2sd3file.ext
  Si può fare, ma non so come con windows; per quello che dici tu ho fatto
una prova molto semplice con la bash di linux (creando apposta dei file
vuoti) e se sai la profondità del percorso puoi usare il programma mmv.
  Ti faccio un esempio (spero sia chiaro):
,----[  ]
| $ ls -R
| .:
| a
| 
| ./a:
| b
| 
| ./a/b:
| c
| 
| ./a/b/c:
| $ mmv '*/*/*/*' '#1#2#3#4'
| $ ls
| a  abcfile1  abcfile2  abcfile3  abcfile4
| $ ls -R
| .:
| a  abcfile1  abcfile2  abcfile3  abcfile4
| 
| ./a:
| b
| 
| ./a/b:
| c
| 
| ./a/b/c:
`----
  In pratica ho spostato i vari file nella directory principale
rinominandoli con il nome delle directory precedenti, con poco
smanettamento (man mmv :) ti dice tutto e di più) puoi anche spostarli in
altre directory o cambiare minuscole in maiuscole (insomma sbizzarrirti).
  Se la profondità delle directory non ti è nota a priori puoi scrivere uno
script che automatizzi tutto o procedere a piccoli passi, in ogni caso hai
ridotto la complessità del problema iniziale.
  P.S.: con linux perderesti l'informazione relativa a drive:, ma credo che
questo problema sia di facile risoluzione.
  P.P.S.: Prima di lanciarti a capofitto copia i dati ed opera sulla copia,
così eventuali errori non saranno da imprecazione.
-- 
Non pretendo che comprendiate il significato di quello che ho scritto senza
averlo riletto un certo numero di volte. Personalmente, vi riterrei degli
stupidi se lo faceste. Io l'ho letto sei volte ed ancora non l'ho capito.

 ridotto la complessità del problema iniziale.
Intanto mi hai dato un'idea di come fare... sotto windows e' molto
simile, ma devo riuscire a ritrovare la documentazione per i batch...
ormai 'ste interfaccine grafiche mi hanno arrugginito pesantemente. :p

 ormai 'ste interfaccine grafiche mi hanno arrugginito pesantemente. :p
  Non so quanti file siano, ma già se son più di 10 rinominarli via
interfaccia grafica è una palla.


 interfaccia grafica è una palla.
Devo rivedermi 412 archivi divisi in altrettanti alberi di directory,
da li' poi sono divisi per anni, poi per mesi, poi per giorni, poi per
cognomi ed infine per nomi, ed a quel punto finalmente posso leggermi
le biometrie varie... che vorrei prendere e riorganizzare in modo
diverso per avere un colpo d'occhio migliore in modo tale che come
inizio a scrivere arrivo subito al file che m'interessa e non dover
utilizzare costantemente le ricerche, che sinceramente sono una delle
cose peggio fatte di vista: ti tolgono tutta la visione d'insieme e ti
costringono a focalizzarti sul dettaglio che vai cercando. Purtroppo
il tizio che ci lavorava prima di me era maniaco delle ricerche, non
voleva assolutamente vedere piu' di quello che era singolaremente
necessario; quindi il suo archivio e' un disastro di ripetizioni e
ridondanze, che potro' spulciarmi con calma e comodo solo dopo aver
riorganizzato i file in maniera piu' semplice e meno convoluta... e
possibilmente con un programma che posso farmi da me per passare dal
suo modo di organizzare l'archivio al mio ... ed anche viceversa nel
caso sia proprio necessario (spero di no (o)___(o) )
Non ho provato nemmeno a fare la proprieta' della cartella principale
per vedere la profondita' od il numero delle ramificazioni (in teoria
dovrebbero essere 6 al massimo, ma non so) o il totale dei file. A
quel punto gli occhi mi si erano gia' annebbiati ed avevo iniziato a
chiedere qui.
Per fortuna questa e' una settimana morta ed il brutto comincia dal
15. Ora mi sto ripassando come si faceva l'analisi ed il passaggio
delle stringhe con i for e gli if e l'impostazione delle variabili nei
batch, erano anni che non lo facevo... mannaggia...
Il problema e' che effettivamente quello che mi serviva in questo caso
e' una evenienza decisamente poco comune e quindi non ho trovato
nemmeno programmi che m'aiutassero. Nessuno ha mai pensato di fare una
variabile col nome del percorso o qualcosa di simile da aggiungere
all'inizio di un nome per un file. Al massimo ti passano il percorso.
Quindi semplicemente finisci col copiare il file su se stesso. :/
Mah... va beh, almeno la shell di base fa sempre comodo ripassarsela
quindi ho trovato una scusa... ^_^;;

 nemmeno programmi che m'aiutassero.
  Di rinominare file si ha sempre necessità, certo tu hai un quantitativo un
po' fuori dal comune.
  P.S.: ho fatto una piccola ricerca, e pare che installando cygwin si possa
ottenere un ambiente simil-linux con windows, ed ho anche trovato mmv già
compilato.


 compilato.
Uhm... intanto finisco di vedere come va qui, che pare mi manchi poco.

 wrote:
oh... ho terminato. Ecco qui come ho risolto, magari potra' servire a
qualcun altro in futuro su questo NG... decisamente quel "mmv *\*\*\*
\* #1#2#3#4#5" suggerito da francesco suona piu' invitante... ma
questo ha l'unico vantaggio di non dover usare linux sotto windows
(ok, due: non dovete conoscere prima la profondita' dell'albero di
directory da cui muovere tutto :p)
C:\test>type C:\test\move1.bat
@echo off
:start
echo starting environment . . .
	setlocal
	set _basepath=%cd%
	set _basedrive=%cd:~0,2%
	set _basedir=%cd:~2%
	set _basename=%_basedir:\=_%
:main
echo moving files . . .
rem faccio una analisi ricorsiva (/r) di tutti i file (*) di cui salvo
il nome in %%a e passo il percorso di ciascun file (%%~pa) alla
seconda parte del programma
	for /r %%a in (*) do call move2.bat %%~pa
:end
echo cleaning up . . .
	endlocal
echo program terminated . . . BYE!
C:\test>type C:\test\move2.bat
:start
rem la seconda parte del programma usa le stesse variabili locali
della prima
:main
	cd %_basedrive%%1
	if %CD%==%_basepath% goto end
	echo moving files from %cd% to %_basepath%
rem tolgo il riferimento al drive, se lo rivoglio devo sostituire
%cd:~3% con %cd%
	set _currentdir=%cd:~3%
	set _currentname=%_currentdir:\=_%
	for %%a in (*) do move %%~fa %_basepath%\%_currentname%_%%~na%%~xa
:end
	cd %_basepath%
In pratica mette tutti i file in tutte le sottodirectory nella
directory da cui partono move1 e move2. Attenzione a non farli partire
per sbaglio dove non volete file rinominati :p

 wrote:
La prova sul campo ha dimostrato che funziona tutto... finche' non ci
sono spazi all'interno del percorso... =^_^=; Ci pensero' domani a
come risolvere il problema degli spazi. Ho sonno x_x
Per adesso ho risolto spostando tutti gli archivi in una cartella
temporanea (le sottocartelle ed i file non avevano spazi) ed eseguendo
il programma da li'. Da li' ha funzionato alla grande.

 probabilmente usero' un "_").
  Oppure salvare le info di conversione in un txt, anche qui il programma ad
hoc sarebbe utile.


 hoc sarebbe utile.
Volendo anche, ma come avevo detto quelle informazioni sono utili e mi
servono, solo che sono in un formato che trovo scomodo.

 come risolvere il problema degli spazi. Ho sonno x_x
Prova a racchiudere il percorso tra virgolette inglesi, inoltre è
fondamentale tradurre gli output di echo in italiano... ;-))
-- 
Bob
http://www.webalice.it/argonex/
 

 fondamentale tradurre gli output di echo in italiano... ;-))
Perche fondamentale?! Tanto Vista ce l'ho in inglese... i rem li ho
messi in italiano perche l'ho postato su questo ng e non tutti sanno
leggere, ma tanto il programma e' in inglese ed avrei visto output in
inglese. Mi sarei trovato un misto di italiano ed inglese che non mi
sarebbe piaciuto.

 dall'automatizzare.
  Resto dell'idea che con un buon automatismo non si ha bisogno di correre
dietro l'ultima novità, anche perché se cambi spesso software poi rischi di
spaesare il cliente.
