Быстрое копирование через CMD, туда-обратно, возможно ли?
Появилась недавно идея копирование файлов через bat файлы. Так как на работе перед установкой виндовс, мы обычно копируем целиком папку User ( сильно не заморачиваясь ), я написал простейший скрипт, что бы облегчить себе жизнь.
XCOPY %HOMEDRIVE%\Users \\DC\Share\Backup\%COMPUTERNAME% /s /c /y /I
echo - Все успешно скопировано в папку %COMPUTERNAME%
Суть его банальна, запускаем, начинается копирование на некий компьютер (DC) в сети в папку бэкап, в ней создается автоматически папка с именем компьютера, и туда сливаются все каталоги и файлы, кроме системных и скрытых.
Так как только вчера утром начал разбираться с CMD появились следующие вопросы, а как же облегчить жизнь еще)
По этому было решено дописать батник с меню для восстановления файлов, обратно на рабочий стол пользователя, когда будет чистый виндовс для пользователя со всеми программами. Но встал вопрос, как сделать так, что бы батник понимал что копировать обратно ( то есть какую папку, от какого компа), и появилась мысль, что бы выскакивало меню в батники, с папками от компов из папки Backup, а по нажатию номера (желательно) или ввода определенной папки, батник его подхватывал и уже копировал). Надеюсь вы меня поняли) Буду благодарен, если намекнете как это сделать)
@ECHO off
@CHOICE /C:123
IF ERRORLEVEL 3 GOTO three
IF ERRORLEVEL 2 GOTO two
IF ERRORLEVEL 1 GOTO one
GOTO end
:one
ECHO You have pressed "1"!
GOTO end
:two
ECHO You have pressed "2"!
GOTO end
:three
ECHO You have pressed "3"!
:end
@PAUSE
386DX: Суть меню меня не сильно волнует, это я понял, как сделать так, что бы он заходил в ту папку бэкап на сервере, и те папки которые остались под именами компьютера с которых он их копировал, можно было выбрать допустим цифрой. То есть мы делаем бэкам с 2 компьютеров ( 1pc и 2pc ). Мы запускаем батник на восстановления тех папок, батник заходит на папку backup на серваке, видит там две папки от двух пк, то есть 1pc и 2 pc. И как сделать, что бы на этом моменте я выбрал ту папку которая мне нужна. То есть имя бы ее вбил в консоле или лучше выбрал просто цифрой.
монтируете сетевую папку, смотрите содержимое, увидите список папок 1pc и 2pc
Дальше ручками пишите команду что-то вроде "xcopy x:\2pc %HOMEDRIVE%\Users /s /c /y /I"
ЗЫ - у вас пять вопросов в одном - как использовать сетевые папки в cmd, как делать выборное меню в bat, как прочитать содержимое папки и т.д. разделите вопрос на части и ищите - спрашивайте ответ на каждый.
подключаете шару, делайте листинг, дальше выборное меню по нажатию 1-2-3 копируются соответственно папки 1pc 2pc 3pc. Сделать так чтобы копировались папки, имена которых вы заранее не знаете сложно (для меня по крайней мере) нужно использовать циклы for %%
Я бы просто тупо в каждую папку 1pc 2pc 3pc положил файл vozvrat.bat копирующий ее содержимое куда надо и из меню CHOICE его бы запускал, не заморачиваясь циклами, листингами папок и проч