Torna indietro   Hardware Upgrade Forum > Software > Programmi e Utility

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-02-2009, 14:54   #1
tranfa
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 473
Creare directories e spostare files in automatico

Ciao a tutti,

avete in mente un modo automatizzato (via sware specifico, o cmd DOS) per:
- leggere i nomi di files (avi) da una directory;
- creare delle sottodirectories della stessa directory con il nome di ciascuno dei files (senza l'estensione);
- spostare ciascuno dei files nella sua sottodirectory di competenza?

Cioè, una cosa che sarebbe un lavorone a mano, ma facile facile con un algoritmo.....

Ciao e grazie in anticipo..!
tranfa è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 15:14   #2
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
In pratica avendo ad esempio

pippo.avi
poldo.avi
pluto.avi

vorresti creare tre cartelle

pippo
poldo
pluto

e in ciascuna spostare il file corrispondente. E' giusto?
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 15:36   #3
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Io ti consiglio di usare la powershell della microsoft.
La puoi scaricare da qui

http://www.microsoft.com/windowsserv.../download.mspx

nel caso non lo abbia già, per poterla installare è necessario avere il framework .net 2.0

http://www.microsoft.com/downloads/d...d-aab15c5e04f5

Una volta installata la powershell, la avvii digitando da esegui powershell.
A questo punto, come faresti col classico prompt dei comandi, raggiungi la cartella che contiene i tuoi file avi ed esegui in successione questi quattro comandi:

Codice:
gci *.avi | % {[io.Path]::GetFileNameWithoutExtension($_)} | % {new-Item -type directory $_}
Il comando presente qui sopra recupera l'elenco di tutti i file avi, ne estrae i nomi privi di estensione e per ciascuno crea la cartella corrispondente.

I due comandi sottostanti sono molto semplici.
Il primo assegna alla variabile $files l'elenco dei file avi e il secondo assegna alla variabile $folders l'elenco di tutte le cartelle (quelle appena create)

$files = gci *.avi
$folders =Get-ChildItem | ? {$_.psiscontainer}

Codice:
foreach ($file in $files) {foreach($folder in $folders) {if([io.Path]::GetFileNameWithoutExtension($file.Name) -eq $folder) {move-item -literalpath $file.fullname -destination $folder}}}
L'ultimo comando infine cicla i file e le cartelle e quando il nome del file privo di estensione coincide con quello della cartella, lo sposta al suo interno.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 18:25   #4
tranfa
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 473
Grande, grazie mille....!!

Stassera provo.....e ti so dire.
tranfa è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 20:35   #5
tranfa
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 473
Grazie John, per due cose: mi hai risolto il problema, e mi hai fatto conoscere la PowerShell...!

Se passi da Milano, fai un fischio, che avrei piacere di bere una birra insieme !
tranfa è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 21:41   #6
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Quote:
Originariamente inviato da tranfa Guarda i messaggi
Grazie John, per due cose: mi hai risolto il problema, e mi hai fatto conoscere la PowerShell...!

Se passi da Milano, fai un fischio, che avrei piacere di bere una birra insieme !
Grazie per l'invito. Noi sardi una birretta non ce la neghiamo mai.

P.S. Se inizi a usare la powershell non ne potrai più fare a meno.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v