Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Выбор диска, самостоятельно, либо с предложение, для сохранения файлов (http://forum.oszone.net/showthread.php?t=337893)

O L E G 25-11-2018 21:48 2842590

Выбор диска, самостоятельно, либо с предложение, для сохранения файлов
 
Доброго времени суток.
Запилял для себя софтинку, для теневого\резервного копирования данных. Таких как system32\config sam system software и тд.
Не которым людям она понравилась и они по просили сделать, так что бы можно было при запуске программы, указать куда будут резервироваться данные.
Вот решил спросить у вас)

Скрытый текст

@echo off
title a1_Backup

:: Пауза 1 секунд
regedit /s vss.reg
TIMEOUT 3

:: Запуск Службы Теневого Копирования
net start VSS
TIMEOUT 3

copy /y bcdedit.exe %windir%\system32\
copy /y HoboCopy.exe %windir%\system32\

mkdir %systemdrive%\a1_Backup\BCD\_%date%\
mkdir %systemdrive%\a1_Backup\CONFIG\_%date%\
mkdir %systemdrive%\a1_Backup\NTUSER\_%date%\

:: сохраняем параметры загрузки (ms - dos \ кириллица dos)
bcdedit.exe /v > %systemdrive%\a1_Backup\BCD\_%date%\bootconf.rtf > %systemdrive%\a1_Backup\BCD\BCD_%date%.cfg

:: резервная копия загрузчика
bcdedit.exe /export %systemdrive%\a1_Backup\BCD\_%date%\BCDfile

:: - Резерв ПрЫгодится !!!
:: hobocopy /recursive /full /y %windir%\system32\config\ %systemdrive%\Backup\%date%\CONFIG\

hobocopy /y %systemdrive%\ %systemdrive%\a1_Backup\BCD\_%date%\ bootmgr > %systemdrive%\a1_Backup\BCD\_%date%\bootmgr.log
echo %systemdrive%\bootmgr >> %systemdrive%\a1_Backup\BCD\_%date%\bootmgr.log

hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ SAM > %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ DEFAULT >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ SECURITY >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ software >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ system >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ COMPONENTS >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ netlogon.ftl >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %userprofile%\ %systemdrive%\a1_Backup\NTUSER\_%date%\ NTUSER.DAT > %systemdrive%\a1_Backup\NTUSER\_%date%\ntuser.log


msg * Completed!!!

O L E G 25-11-2018 22:18 2842596

как вариант, опробую, нашел)
Скрытый текст

@echo off
setlocal

for /f "tokens=2 delims=:" %%i in ('chcp') do (
set sPrevCP=%%i
chcp 1251 >nul
)

for /f "usebackq delims=" %%i in (
`@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
1^|more`
) do set sFolderName=%%i

chcp %sPrevCP% >nul

if defined sFolderName (
echo Выбрана папка: %sFolderName%
) else (
echo Папка не была выбрана.
)
pause

Iska 25-11-2018 22:29 2842600

Цитата:

Цитата O L E G
copy /y bcdedit.exe %windir%\system32\ »

Зачем в процессе backup копировать bcdedit.exe в системный каталог, где уже есть оригинальный bcdedit.exe?

Цитата:

Цитата O L E G
copy /y HoboCopy.exe %windir%\system32\ »

Для чего копировать туда же нечто стороннее?

Цитата:

Цитата O L E G
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ SAM > %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ DEFAULT >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ SECURITY >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ software >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ system >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ COMPONENTS >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
hobocopy /y %windir%\system32\config\ %systemdrive%\a1_Backup\CONFIG\_%date%\ netlogon.ftl >> %systemdrive%\a1_Backup\CONFIG\_%date%\config.log
»

Код:

>"%systemdrive%\a1_Backup\CONFIG\_%date%\config.log" (
    for %%i in (SAM DEFAULT SECURITY software system COMPONENTS netlogon.ftl) do hobocopy.exe /y "%SystemRoot%\system32\config\" "%systemdrive%\a1_Backup\CONFIG\_%date%\" "%%~i"
)


O L E G 26-11-2018 09:30 2842646

Цитата:

Цитата Iska
Зачем в процессе backup копировать bcdedit.exe в системный каталог, где уже есть оригинальный bcdedit.exe? »

да уже изменил, просто бывает файл на системе поврежден, думал как резервный. Убрал
Цитата:

Цитата Iska
Для чего копировать туда же нечто стороннее? »

Такая же ситуация. Оставил модуль hobocopy в контейнере с приложением.
Цитата:

Цитата Iska
"%systemdrive%\a1_Backup\CONFIG\_%date%\config.log" (
for %%i in (SAM DEFAULT SECURITY software system COMPONENTS netlogon.ftl) do hobocopy.exe /y "%SystemRoot%\system32\config\" "%systemdrive%\a1_Backup\CONFIG\_%date%\" "%%~i"
) »

За это спасибо

O L E G 26-11-2018 11:13 2842658

Iska,
Уважаемый Iska, подредактируйте код, если При выборе отмена или нажатии на закрытие окна, скрипт не продолжал работать.
а то получается, выбор выскакиевает, диска, но если нажать отмену, он срабатывает дальше.
СПАСИБО!
Скрытый текст

@echo off
setlocal

for /f "tokens=2 delims=:" %%i in ('chcp') do (
set sPrevCP=%%i
chcp 1251 >nul
)

for /f "usebackq delims=" %%i in (
`@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
1^|more`
) do set sFolderName=%%i

chcp %sPrevCP% >nul

if defined sFolderName (
echo Выбрана папка: %sFolderName%
) else (
echo Папка не была выбрана.
)
pause

Iska 26-11-2018 18:13 2842720

O L E G, там нечего редактировать. Покажите Ваш код.

O L E G 26-11-2018 18:38 2842727

Iska,
Скрытый текст

@echo off
setlocal

for /f "tokens=2 delims=:" %%i in ('chcp') do (
set sPrevCP=%%i
chcp 1251 >nul
)

for /f "usebackq delims=" %%i in (
`@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
1^|more`
) do set sFolderName=%%i

chcp %sPrevCP% >nul

if defined sFolderName (
echo Выбрана папка: %sFolderName%
) else (
echo Папка не была выбрана.
)

mkdir %sFolderName%\a1_Backup\BCD\%date%\
mkdir %sFolderName%\a1_Backup\CONFIG\%date%\
mkdir %sFolderName%\a1_Backup\NTUSER\%date%\

hobocopy /y %systemdrive%\ %sFolderName%\a1_Backup\BCD\%date%\ bootmgr >> %sFolderName%\a1_Backup\BCD\%date%\bootmgr.log

hobocopy /y %windir%\system32\config\ %sFolderName%\a1_Backup\CONFIG\%date%\ SAM >> %sFolderName%\a1_Backup\CONFIG\%date%\config.log




То есть, если я к примеру закрываю Окно выбора диска, код работает дальше

Iska 26-11-2018 19:19 2842735

Код:


if defined sFolderName (
    echo Выбрана папка: %sFolderName%
   
    mkdir %sFolderName%\a1_Backup\BCD\%date%\
    mkdir %sFolderName%\a1_Backup\CONFIG\%date%\
    mkdir %sFolderName%\a1_Backup\NTUSER\%date%\
   
    hobocopy /y %systemdrive%\ %sFolderName%\a1_Backup\BCD\%date%\ bootmgr >> %sFolderName%\a1_Backup\BCD\%date%\bootmgr.log
    hobocopy /y %windir%\system32\config\ %sFolderName%\a1_Backup\CONFIG\%date%\ SAM >> %sFolderName%\a1_Backup\CONFIG\%date%\config.log
) else (
    echo Папка не была выбрана.
)


O L E G 26-11-2018 20:08 2842743

Iska,
Еще раз спасибо!
Н - невнимательность, надо было просто код поставить куда надо


Время: 21:03.

Время: 21:03.
© OSzone.net 2001-