2012-03-01 33 views

Respuesta

14

existe el código que necesita. lo guardó como un archivo .bat y lo ejecuta:

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

gracias por la respuesta – Villumanati

1

Claro, el comando apropiado se llama movimiento. La sintaxis es la siguiente:

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

Se podría escribir algo como:

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

Pero la cuestión es más apropiado para superusuario.

+0

pero ¿cómo se controla el número de archivos que se copian? – Villumanati

+0

@Villumanati Parece que no entendí bien tu pregunta. ¿Sabes qué 500 archivos quieres mover, o solo quieres limitar el número a 500? – ipavlic

+0

Esta pregunta está etiquetada como Windows 7 que no admite el comando 'MOVE'. – cyroxx

8

Quieres algo como esto. Eg.
move c:\windows\temp\*.* c:\temp

+0

Esta pregunta está etiquetada como Windows 7 que no admite el comando 'MOVE'. – cyroxx

+2

@cyroxx 'move' es compatible con Windows 7. – ipavlic

0

No es una opción para el comando movimiento que dice "mover los primeros 500 archivos". Si quieres hacer algo así, necesitarás algún tipo de lenguaje de scripting. Batch es el lenguaje de scripting nativo en la línea de comandos de Windows, pero es engorroso. Powershell es el lenguaje de scripting más nuevo de Microsoft, se supone que es bastante poderoso.

Cuestiones relacionadas