Я получил свою партию, и она прекрасно работает!

Еще одна вещь, которую я хотел бы добавить к этому. У некоторых из моих клиентов есть папки в корне C. Как я могу сделать пакетный файл Потяните целые папки, которые они добавляют туда, туда, где они мне нужны, не беря папки типа "Программы", "Драйверы" и т.д.

Сценарий: у клиента есть 3 папки с именами "Личная 1", "Личная 2" и "Личная 3", но есть и другие системные папки с именами "Драйверы", "Программные файлы", "Значки", "WINNT" и т.д. , Есть ли способ, которым я могу просто выбрать "Личный 1", "Личный 2" и "Личный 3", не создавая совершенно новую строку для каждой папки? Это было бы бессмысленно. Спасибо!

My Batch File
set /p targetuser="Enter target username: "
xcopy /s/z F:\"Documents and Settings"\%targetuser%\Desktop D:\"Documents and 
Settings"\%username%\Desktop

xcopy /s/z F:\"Documents and Settings"\%targetuser%\Favorites D:\"Documents and Settings"\%username%\Favorites

xcopy /s/z F:\"Documents and Settings"\%targetuser%\"My Documents" D:\"Documents and Settings"\%username%\"My Documents"

xcopy /s/z F:\"Documents and Settings"\%targetuser%\Recent D:\"Documents and Settings"\%username%\Recent
xcopy /s/z F:\"Documents and Settings"\%targetuser%\NetHood D:\"Documents and Settings"\%username%\NetHood

xcopy /s/z F:\"Documents and Settings"\%targetuser%\PrintHood D:\"Documents and Settings"\%username%\PrintHood

xcopy /s/z F:\"Documents and Settings"\%targetuser%\Templates D:\"Documents and Settings"\%username%\Templates

xcopy /s/z F:\"Documents and Settings"\%targetuser%\"Start Menu" D:\"Documents and Settings"\%username%\"Start Menu"

xcopy /s/z F:\"Documents and Settings"\%targetuser%\"Local Settings"\"Application Data"\Microsoft\Outlook D:\"Documents and Settings"\%username%\"Local Settings"\"Application Data"\Microsoft\Outlook

pause

Дополнительная информация: Мой командный файл в основном работает со стандартными папками. У некоторых клиентов есть нестандартные папки C Drive, как на этой фотографии.

Как я могу заставить пакетный файл принимать все папки "data", "fun" и "go" без добавления строки в пакет? "xcopy /s /z C:\Data D:\" Это займет много времени.


Есть ли файлы, которые я могу сказать пакетный файл не тянуть? как "программные файлы" или winnt. Извините, я новичок в создании командных файлов. Извините, если вы не полностью понимаете.

1 ответ1

3

Используйте RoboCopy! Смотрите robocopy /? за помощью.

@echo off
set /p "targetuser=Enter target username: "

:: Your xcopy statements here.  These too can be converted into using robocopy.

:: This will copy from C: into D: including subdirectories, ignoring all files and ignoring the specified folders.
robocopy "C:\" "D:\" /s /mt /xf *.* /xd "C:\Program Files" "C:\Drivers" "C:\WinNT" "C:\Icons"
pause

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