Batch per copiare automaticamente foto di una SD in una cartella del PC.

Pubblicità
ho trovato: https://support.microsoft.com/en-us/kb/65994

spiega che é possibile usando a funzione IF EXIST
Codice:
 @[URL="http://www.tomshw.it/forum/members/echo-5197.html"]echo[/URL] off
IF EXIST C:\Users\NUL (
    echo "path found!"
    CD \Users\
) ELSE (
    echo "path not found..."
)
il piccolo batch qua sopra verifica l´esistenza della cartella con path C:\Users\. Si aggiunge NUL come spiegato nel link sopra.
puoi usare questo codice per la verifica di tutte i path che si possono creare.
un ciclo esterno che ti cicla tutte le lettere da D a Z e un if dentro al ciclo che ti permette di verificare se esiste il path
una cosa del genere
Codice:
 @[URL="http://www.tomshw.it/forum/members/echo-5197.html"]echo[/URL] off
:infinite
    for %%a in ( D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) DO (
        IF EXIST %%a:\NUL ( 
            //fai cose
    )
goto infinite

- - - Updated - - -

ti riporto anche una interessante discussione presa da StackOverflow, la prima risposta, dopo EDIT mi sembra faccia al caso tuo!
Detect USB and copy *.* to USB drive using batch script - Stack Overflow
Yes! Grazie mille, sta sera provo a farlo funzionare :)
 
ho trovato: https://support.microsoft.com/en-us/kb/65994

spiega che é possibile usando a funzione IF EXIST
Codice:
 @[URL="http://www.tomshw.it/forum/members/echo-5197.html"]echo[/URL] off
IF EXIST C:\Users\NUL (
    echo "path found!"
    CD \Users\
) ELSE (
    echo "path not found..."
)
il piccolo batch qua sopra verifica l´esistenza della cartella con path C:\Users\. Si aggiunge NUL come spiegato nel link sopra.
puoi usare questo codice per la verifica di tutte i path che si possono creare.
un ciclo esterno che ti cicla tutte le lettere da D a Z e un if dentro al ciclo che ti permette di verificare se esiste il path
una cosa del genere
Codice:
 @[URL="http://www.tomshw.it/forum/members/echo-5197.html"]echo[/URL] off
:infinite
    for %%a in ( D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) DO (
        IF EXIST %%a:\NUL ( 
            //fai cose
    )
goto infinite

- - - Updated - - -

ti riporto anche una interessante discussione presa da StackOverflow, la prima risposta, dopo EDIT mi sembra faccia al caso tuo!
Detect USB and copy *.* to USB drive using batch script - Stack Overflow


Ciao, oggi ho avuto un po di tempo per provare, ma c'è un problema: tutte le volte che riparte il ciclo che controlla i drive inseriti, non esclude la chiavetta appena controllata, quindi mi continuerebbe a riscrivere le immagini nella cartella all'infinito finché non disinserisco la chiavetta... Per ora ho scritto:

@echo off
:infinite @echo off
for %%d in (E: G: H: I:) do (
if exist %%d\nul (
echo USB at drive %%d connected
pause
)
)
goto infinite

Che è praticamente il codice dell'esempio di stackoverflow.

E' un bel problema, perchè se non scollego la chiavetta, continua a copiarmi le immagini in loop, mentre se trovo il modo di togliere quella lettera del drive dal prossimo controllo, se reinserisco la stessa chiavetta, lo script non funziona più...
 
Ciao, oggi ho avuto un po di tempo per provare, ma c'è un problema: tutte le volte che riparte il ciclo che controlla i drive inseriti, non esclude la chiavetta appena controllata, quindi mi continuerebbe a riscrivere le immagini nella cartella all'infinito finché non disinserisco la chiavetta... Per ora ho scritto:

@echo off
:infinite @echo off
for %%d in (E: G: H: I:) do (
if exist %%d\nul (
echo USB at drive %%d connected
pause
)
)
goto infinite

Che è praticamente il codice dell'esempio di stackoverflow.

E' un bel problema, perchè se non scollego la chiavetta, continua a copiarmi le immagini in loop, mentre se trovo il modo di togliere quella lettera del drive dal prossimo controllo, se reinserisco la stessa chiavetta, lo script non funziona più...

controlla se gia esiste l´immagine. nel qualcaso esci dal ciclo di copia....non forzare subito un nuovo controllo.
puoi mettere uno sleep prima di goto infinite
 
controlla se gia esiste l´immagine. nel qualcaso esci dal ciclo di copia....non forzare subito un nuovo controllo.
puoi mettere uno sleep prima di goto infinite
Ok, grazie per l'aiuto! Ora devo tornare a lavorare, appena ho un attimo di tempo provo e faccio sapere come va.

- - - Updated - - -

@Giacky91 No! Che pall*, c'è un'altro problema! Funziona con le chiavette e le SD, ma se collego direttamente lo smartphone, non me lo rileva perchè viene visualizzato con il nome del dispositivo e non come mass storage (quindi, nonostante si comporti come un normale drive, non ha una lettera!)

A questo mi sa che non ci sia una facile soluzione

:cry:
 
Pubblicità
Pubblicità
Indietro
Top