2012-03-01 18 views

risposta

14

c'è il codice che ti serve. salvarlo come file .bat ed eseguirlo:

echo off 
SETLOCAL EnableDelayedExpansion 
set movedFiles=0 
for /R c:\sourceFolder\ %%G in (*) do (
    echo moving... "%%G" 
    move /Y "%%G" c:\destinationFolder\ 
    set /a movedFiles+="1" 
    if !movedFiles! EQU 500 GOTO endOfCopy rem if you moved 500 files 
) 
    :endOfCopy 
    echo Done, %movedFiles% files Where copied successfully 
    pause 
ENDLOCAL 
+0

grazie per la risposta – Villumanati

1

Certo, il comando appropriato è chiamato move. La sintassi è simile al seguente:

MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 

Si potrebbe scrivere qualcosa di simile:

move Z:\directory\*.* c:\newdirectory 

Ma la questione è più appropriato per superutente.

+0

ma come si controlla il numero di file che vengono copiati? – Villumanati

+0

@Villumanati Sembra che non abbia capito bene la tua domanda. Sai quali 500 file vuoi spostare o vuoi limitare il numero a 500? – ipavlic

+0

Questa domanda è contrassegnata da Windows 7 che non supporta il comando 'MOVE'. – cyroxx

8

Vuoi qualcosa di simile.Eg.
move c:\windows\temp\*.* c:\temp

+0

Questa domanda è contrassegnata da Windows 7 che non supporta il comando 'MOVE'. – cyroxx

+2

@cyroxx 'move' è supportato su Windows 7. – ipavlic

0

non c'è un'opzione per il comando dimossa che dice "si muovono i primi 500 file". Se vuoi fare qualcosa del genere avrai bisogno di una sorta di linguaggio di scripting. Batch è il linguaggio di script nativo nella riga di comando di Windows, ma è ingombrante. Powershell è il linguaggio di scripting più nuovo di Microsoft, dovrebbe essere piuttosto potente.

Problemi correlati