Pagina 1 di 1

Domanda nabba (filtrare artworks)

Inviato: 23/01/2016, 0:43
da Smanettone
Domanda molto terra terra: se ho un mame coi giochi da me filtrati, diciamo 4.000 rom, e una cartella con 20.000 cabinets, esiste un programmino in grado di selezionarmi i cabinets in base alle rom e spostarmeli in una cartella?

Mi basterebbe qualcosa di molto semplice <-preved->
grazie

Re: Domanda nabba (filtrare artworks)

Inviato: 23/01/2016, 10:21
da Alibao72
Ciao, se non trovi il programma e se ho ben capito, devi fare una cosa tipo: in base al nome di un file devi ricercare la cartella oppure un altro file e spostarlo in una specifica cartella, giusto?
Fosse così utilizzerei power Shell di MS. Saranno 5 righe di codice a dir tanto..

Inviato dal mio SM-G900F utilizzando Tapatalk

Re: Domanda nabba (filtrare artworks)

Inviato: 23/01/2016, 13:47
da Emu
Con questa riga di shell dos puoi copiare i files che non esistono in una cartella di destinazione prendendoli da una cartella sorgente, in base al nome della rom del MAME.
va eeguita da dentro la cartella delle ROM

C:\MAME\roms>for /f "delims=." %i in ('dir /b /ogn *.zip') do @if not exist c:\destinationfolder\%i.png echo copy c:\sourcefolder\%i.png c:\destinationfolder

Il comando precedente ti mostra soltanto cosa copierà. Quando sei sicuro dei path inseriti togli "echo" e la copia viene effettivamente eseguita.

Emu

Re: Domanda nabba (filtrare artworks)

Inviato: 24/01/2016, 0:39
da Smanettone
Alibao72 ha scritto:Ciao, se non trovi il programma e se ho ben capito, devi fare una cosa tipo: in base al nome di un file devi ricercare la cartella oppure un altro file e spostarlo in una specifica cartella, giusto?
Fosse così utilizzerei power Shell di MS. Saranno 5 righe di codice a dir tanto..
In pratica ho un tot di rom.zip nella loro cartella, e devo mettere nella cartella cabinets lo stesso numero di file cabinets.png corrispondenti.
Grazie del suggerimento ma ho letto che sto Power Shell non e' disinstallabile dal mio so, quindi evito :wink:

Emu ha scritto:Con questa riga di shell dos puoi copiare i files che non esistono in una cartella di destinazione prendendoli da una cartella sorgente, in base al nome della rom del MAME.
va eeguita da dentro la cartella delle ROM

C:\MAME\roms>for /f "delims=." %i in ('dir /b /ogn *.zip') do @if not exist c:\destinationfolder\%i.png echo copy c:\sourcefolder\%i.png c:\destinationfolder

Il comando precedente ti mostra soltanto cosa copierà. Quando sei sicuro dei path inseriti togli "echo" e la copia viene effettivamente eseguita.

Emu
Scusa Emu ma sono un po' zuccone in informatica e non ho capito bene cosa fa questo programma e come farlo funzionare (es. come digito il comando da dentro la cartella rom?? creo un bat?).
Provo a spiegarmi meglio anche io x capirci bene: io in pratica dovrei scremare una parte dei files dalla cartella cabinets originale, spostando o copiando in un'altra i cabinets corrispondenti alle rom mie.
Es.
- in cartella rom ho 4 rom zip
- in cartella cabinets ho 30 file png
Il programma dovrebbe prelevare dalla cartella coi 30 cabinet, i 4 file png con lo stesso nome delle 4 rom a cui corrispondono, e spostarli o copiarli altrove.

ROMS
64thst.zip
aburner.zip
ajax.zip
batman.zip

CABINETS
64thst.png
aero.png
aero2.png
aero3.png
aburner.png
aburner2.png
airg.png
ajax.png
akkanb.png
alien3.png
acrush.png
astorm.png
asyndrome.png
avsp.png
aliens.png
alpha.png
abeast.png
amidar.png
anteater.png
area88.png
arkanoid.png
arkanoid2.png
batrider.png
awarriors
aof.png
aof2.png
aof3.png
ashura.png
asteroids.png
athena.png
baddudes.png
badlands.png
bagman.png.png
Bangbead.png
bankp.png
batman.png
batsugun.png

||

NUOVA CARTELLA CABINETS
64thst.png
aburner.png
ajax.png
batman.png

Re: Domanda nabba (filtrare artworks)

Inviato: 24/01/2016, 14:21
da Emu
Il comando che ti ho scritto fa esattamente quello che vuoi, devi solo cambiare i parametri.
L'ho leggermente modificato per poterlo lanciare da qualsiasi directory.
Per eseguirlo devi aprire Notepad, ci incolli la stringa, correi i percorsi dell'esempio con i tuoi poi apri il "Prompt dei comandi", l'incolli dentro poi lo esegui con Enter.

for /f "delims=." %i in ('dir /b /ogn C:\MAME\roms\*.zip') do @if not exist c:\cartelladestinazione\%i.png echo copy c:\cartellasorgente\%i.png c:\cartelladestinazione

La prima parte in Rosso ti cicla per tutti i files ZIP presenti nella directoy scritta in grassetto. Qui devi scrivere il nome della TUA directory con le rom al posto della parte in grassetto.
La seconda parte in Blu verifica che nella directory di destinazione non ci sia già il file .PNG. Qui devi scrivere il nome della TUA directory di destinazione con le immagini al posto della parte in grassetto.
La terza parte in Verde copia il file dalla cartella sorgente a quella di destinazione. Visto che c'è scritto ECHO non viene eseguito il comando ma viene solo scritto a schermo. Se il comando copia dalla cartella corretta alla cartella corretta togli ECHO.

Esempio:
for /f "delims=." %i in ('dir /b /ogn C:\MAME\roms\*.zip') do @if not exist c:\mame\cabinets\%i.png echo copy c:\nuovicabinet\%i.png c:\MAME\cabinets

ti scriverà a schermo una serie di:
copy c:\nuovicabinet\1942.png c:\mame\cabinets
etc...

controllali ad occhio, se va bene toglie echo e ti effettuerà la copia:

for /f "delims=." %i in ('dir /b /ogn C:\MAME\roms\*.zip') do @if not exist c:\mame\cabinets\%i.png copy c:\nuovicabinet\%i.png c:\MAME\cabinets

Spero che ora si più chiaro :-)

Emu