2012-03-01 3 views

ответ

14

есть код, в котором вы нуждаетесь. сохранил его как .bat-файл и запустил его:

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

спасибо за ответ – Villumanati

1

Несомненно, соответствующая команда называется move. Синтаксис выглядит следующим образом:

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

Вы бы написать что-то вроде:

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

Но вопрос больше подходит для суперпользователя.

+0

но как вы контролируете количество копируемых файлов? – Villumanati

+0

@Villumanati Похоже, я не понял ваш вопрос правильно. Вы знаете, какие 500 файлов вы хотите переместить, или просто хотите ограничить число до 500? – ipavlic

+0

Этот вопрос отмечен Windows 7, который не поддерживает команду 'MOVE'. – cyroxx

8

Вы хотите что-то вроде этого.Eg.
move c:\windows\temp\*.* c:\temp

+0

Этот вопрос отмечен Windows 7, который не поддерживает команду 'MOVE'. – cyroxx

+2

@cyroxx 'move' поддерживается в Windows 7. – ipavlic

0

Существует не вариант для перемещения команды, которая говорит «переместить первые 500 файлов». Если вы хотите сделать что-то подобное, вам понадобится какой-то скриптовый язык. Batch - родной язык сценариев в командной строке Windows, но он громоздкий. Powershell - это новейший язык программирования Microsoft, он должен быть довольно мощным.

Смежные вопросы