Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выбор диска, самостоятельно, либо с предложение, для сохранения файлов

Ответить
Настройки темы
CMD/BAT - [решено] Выбор диска, самостоятельно, либо с предложение, для сохранения файлов

Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16


Конфигурация

Профиль | Отправить PM | Цитировать


Доброго времени суток.
Запилял для себя софтинку, для теневого\резервного копирования данных. Таких как 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!!!

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 21:48, 25-11-2018

 

Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


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

@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

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 22:18, 25-11-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата 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"
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:29, 25-11-2018 | #3


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


Цитата 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"
) »
За это спасибо

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 09:30, 26-11-2018 | #4


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


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

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 11:13, 26-11-2018 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:13, 26-11-2018 | #6


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


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




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

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 18:38, 26-11-2018 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
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 Папка не была выбрана.
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:19, 26-11-2018 | #8


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


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

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 20:08, 26-11-2018 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выбор диска, самостоятельно, либо с предложение, для сохранения файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] КАК автоматически прописать для всех браузеров путь для сохранения файлов? nikhop Microsoft Windows 7 12 11-08-2018 00:35
[тестируем] Утилита для сохранения и восстановления ассоциаций файлов Bulba_S Автоматическая установка Windows 2000/XP/2003 53 11-04-2015 18:31
Система - [решено] Не могу создать образ системы - нет выбора диска для сохранения образа Stivensson Microsoft Windows 7 7 22-12-2014 22:30
Интерфейс - Как сменить стандартную папку для сохранения файлов? Breaknoise Microsoft Windows 7 1 27-10-2013 12:31
какой BIOS лучше на мамку ASUS P5B-VM 1004 либо 0901 либо 0504 либо 0405 либо 0307 paljch Материнские платы и память 1 12-11-2009 23:27




 
Переход