Я делаю простой инструмент, который будет создавать резервные копии файлов сохранения для некоторых из моих игр. В некоторых играх есть несколько файлов в папке, и я хотел бы скопировать целевую папку в новое место с новым именем, но я не могу заставить его работать правильно. Я могу сделать это с отдельными файлами с помощью COPY и XCOPY , но это не похоже на работу с папками. Вот с чем я работаю:

XCOPY "%USERPROFILE%\EA Games\Dead Space" ".\Save Backup"
XCOPY "%LOCALAPPDATA%\Visceral\Dead Space" ".\Settings Backup"

Я использовал источники, такие как документация по SS64, но ни одна из команд не работает. Я использовал /s и /t так же, как и другие, но они ничего не делают. Как мне скопировать папку в новое место и переименовать ее в новом месте.

2 ответа2

2

Как скопировать папку в новое место и переименовать ее в новом месте?

Я бы попытался включить параметры /E , /I и /Y , например:

XCOPY /E /I /Y "%USERPROFILE%\EA Games\Dead Space" ".\Save Backup"
XCOPY /E /I /Y "%LOCALAPPDATA%\Visceral\Dead Space" ".\Settings Backup"

В заказе (от SS64):

  • /E копирует папки и подпапки, в том числе пустые папки (на случай, если нет файлов сохранения или настроек).

  • /I указывает XCOPY всегда предполагать, что место назначения - это папка (это полезно, когда место назначения не существует).

  • /Y подавляет любое приглашение подтвердить перезапись файла (полезно, если вы перезаписываете существующие файлы / папки).

Вы также можете рассмотреть /C , который продолжит копирование, даже если произойдет ошибка. Поскольку вы указали, что вы пробовали "другие" опции XCOPY , вы можете включить дополнительную информацию, если столкнетесь (или столкнулись) с проблемами, связанными с этими конкретными.

В примечании, как предлагается в комментариях, я проверю фактическое расположение файлов, которые вы хотите скопировать. В настоящее время PC Gaming Wiki для Deadspace перечисляет их как %USERPROFILE%\Documents\Electronic Arts\Dead Space для сохранений и %LOCALAPPDATA%\Electronic Arts\Dead Space\ для настроек. Так:

XCOPY /E /I /Y "%USERPROFILE%\Documents\Electronic Arts\Dead Space" ".\Save Backup"
XCOPY /E /I /Y "%LOCALAPPDATA%\Electronic Arts\Dead Space" ".\Settings Backup"
2

Предполагая, что вы используете Windows Vista или выше, вам следует рассмотреть возможность использования Robocopy вместо XCOPY. Синтаксис немного отличается, но он предназначен для работы с каталогами. Ваш конкретный вариант использования идеально подходит для переключателя /mir. Преимущество этого состоит в том, что вы получаете истинную зеркальную копию оригинального каталога, то есть файлы, которых больше нет в источнике, удаляются в месте назначения. Он также достаточно умен, чтобы пропустить файлы, которые не изменились с момента предыдущего запуска.

Ваш синтаксис будет просто

Robocopy "%LOCALAPPDATA%\Electronic Arts\Dead Space" ".\Settings Backup" /mir
Robocopy "%LOCALAPPDATA%\Visceral\Dead Space" ".\Settings Backup" /mir

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .