Копирование папки в командной строке

Я пытаюсь скопировать папку из одного каталога в другой в CMD в Windows 7.

Я нашел команды для копирования отдельных файлов:

copy test.txt "C:\NewLocation"

Который отлично работает. Однако попробуйте что-то вроде этого:

copy "C:\Test" "C:\NewLocation"

не работает. Он хочет взять содержимое каталога и переместить его. Есть ли способ скопировать ПАПКУ и переместить ее вместо всего содержимого каталога?

Спасибо.


person Kyle Wright    schedule 31.07.2013    source источник


Ответы (3)


Используйте xcopy вместо копирования:

xcopy "C:\Test" "C:\NewLocation" /s /e

источник

person phiresky    schedule 31.07.2013
comment
Хорошо, это работает. Однако я не знаю, как выбрать конкретный каталог? Если бы я хотел скопировать папку в моем C:, похоже, это скопировало бы КАЖДУЮ папку, да? Источник (первый ввод) указывает не на каталог, который мне нужно скопировать, а на родительский каталог каталога, который мне нужно скопировать. - person Kyle Wright; 31.07.2013
comment
Не совсем уверен, что вы имеете в виду, но если вам нужно содержимое C:\Test, вы можете использовать C:\Test\* - person phiresky; 31.07.2013
comment
Если бы Test содержал две папки 1 и 2, я не понимаю, как я мог бы скопировать 1 без копирования 2. Если только я не упустил здесь что-то основное. Если бы я набрал ваш пример, он скопировал бы 1 и 2. - person Kyle Wright; 01.08.2013
comment
ну почему компьютер должен знать, какой из них копировать? как насчет xcopy C:\Test\1 C:\NewLocation /s /e - person phiresky; 01.08.2013
comment
Да вот что не работает. Копирует содержимое 1, а не саму папку. - person Kyle Wright; 01.08.2013
comment
Ладно, теперь я наконец понял, что именно ты имеешь в виду. сначала сделайте mkdir C:\NewLocation\1, затем xcopy C:\Test\1 C:\NewLocation\1 /s /e - person phiresky; 01.08.2013
comment
Это дает мне тот же результат. Я не вижу, что отличается в этом примере, это то же самое, за исключением того, что вы создаете каталог, в который собираетесь его переместить...? В вашем примере здесь создается C:\NewLocation\1, затем копируется содержимое C:\Test\1 в C:\NewLocation\1. Я бы хотел, чтобы конечный результат существовал: C:\NewLocation\1\1, потому что я помещаю папку C:\Test\1 в C:\NewLocation\1. - person Kyle Wright; 01.08.2013
comment
@KyleWright, подожди... зачем тебе помещать это в \1\1? это не имеет никакого смысла, эта команда помещает команды в новую папку, что вы изначально и хотели - person phiresky; 01.08.2013
comment
Я хотел скопировать существующую папку и поместить ее в существующую папку. Я пытаюсь понять, как копировать папки, а не содержимое. - person Kyle Wright; 01.08.2013
comment
Ну, я думаю, что это невозможно в Windows. Но в чем разница между копированием папки и созданием новой папки, а затем копированием в нее содержимого? - person phiresky; 01.08.2013

Вы не можете «копировать» папки, но можете «перемещать» их:

move c:\test c:\newlocation
person Marc B    schedule 31.07.2013

Вы можете использовать xcopy:

xcopy /S C:\Test C:\NewLocation
person Joey    schedule 31.07.2013