O L E G
29-12-2018, 13:16
Доброго времени суток,
Подскажите по скрипту, нужно добавить скрипт в программу, т.е запускаю программу она определяет что Винда 64x и выполняет файл 64 разрядности, если 32х то 32 битный.
Так как буду использовать 2ва файла, один 64 другой 32, hobocopy32.exe - hobocopy64.exe
Спасибо огромное, не хватает этого только момента.
Сам код
@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 DISK',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%
msg * Save to Reserve %sFolderName%a1_Backup
:: Восстановление службы vss
regedit /s vss.reg
TIMEOUT 2
:: Запуск Службы Теневого Копирования\Восстановление на Деф. настройки
net start VSS
TIMEOUT 2
:: Создаем папки
mkdir %sFolderName%a1_Backup\BCD\%date%\
mkdir %sFolderName%a1_Backup\CONFIG\%date%\
mkdir %sFolderName%a1_Backup\NTUSER\%date%\
:: сохраняем параметры загрузки (ms - dos \ кириллица dos)
bcdedit.exe /v > %sFolderName%a1_Backup\BCD\%date%\bootconf.rtf > %sFolderName%a1_Backup\BCD\%date%\BCD_%date%.cfg
:: резервная копия загрузчика
bcdedit.exe /export %sFolderName%a1_Backup\BCD\%date%\BCDfile
::
echo the path to the file %systemdrive%\bootmgr > %sFolderName%a1_Backup\BCD\%date%\bootmgr.log
hobocopy /y %systemdrive%\ %sFolderName%a1_Backup\BCD\%date%\ bootmgr >> %sFolderName%a1_Backup\BCD\%date%\bootmgr.log
echo the path to the file %windir%\System32\drivers\etc\hosts > %sFolderName%a1_Backup\CONFIG\%date%\hosts.log
hobocopy /y %windir%\System32\drivers\etc\ %sFolderName%a1_Backup\CONFIG\%date%\ hosts >> %sFolderName%a1_Backup\CONFIG\%date%\hosts.log
::
echo ###################################################### > %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\SAM >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ SAM >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\DEFAULT >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ DEFAULT >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\SECURITY >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ SECURITY >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\software >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ software >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\system >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ system >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\COMPONENTS >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ COMPONENTS >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\netlogon.ftl >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ netlogon.ftl >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %userprofile%\NTUSER.DAT > %sFolderName%a1_Backup\NTUSER\%date%\NTUSER.log
hobocopy /y %userprofile%\ %sFolderName%a1_Backup\NTUSER\%date%\ NTUSER.DAT >> %sFolderName%a1_Backup\NTUSER\%date%\NTUSER.log
TIMEOUT 1
attrib +r +h %sFolderName%a1_Backup
msg * Completed!!! Reserved to %sFolderName%a1_Backup\
TIMEOUT 1
start %sFolderName%a1_Backup\
) else (
echo Папка не была выбрана.
)
Подскажите по скрипту, нужно добавить скрипт в программу, т.е запускаю программу она определяет что Винда 64x и выполняет файл 64 разрядности, если 32х то 32 битный.
Так как буду использовать 2ва файла, один 64 другой 32, hobocopy32.exe - hobocopy64.exe
Спасибо огромное, не хватает этого только момента.
Сам код
@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 DISK',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%
msg * Save to Reserve %sFolderName%a1_Backup
:: Восстановление службы vss
regedit /s vss.reg
TIMEOUT 2
:: Запуск Службы Теневого Копирования\Восстановление на Деф. настройки
net start VSS
TIMEOUT 2
:: Создаем папки
mkdir %sFolderName%a1_Backup\BCD\%date%\
mkdir %sFolderName%a1_Backup\CONFIG\%date%\
mkdir %sFolderName%a1_Backup\NTUSER\%date%\
:: сохраняем параметры загрузки (ms - dos \ кириллица dos)
bcdedit.exe /v > %sFolderName%a1_Backup\BCD\%date%\bootconf.rtf > %sFolderName%a1_Backup\BCD\%date%\BCD_%date%.cfg
:: резервная копия загрузчика
bcdedit.exe /export %sFolderName%a1_Backup\BCD\%date%\BCDfile
::
echo the path to the file %systemdrive%\bootmgr > %sFolderName%a1_Backup\BCD\%date%\bootmgr.log
hobocopy /y %systemdrive%\ %sFolderName%a1_Backup\BCD\%date%\ bootmgr >> %sFolderName%a1_Backup\BCD\%date%\bootmgr.log
echo the path to the file %windir%\System32\drivers\etc\hosts > %sFolderName%a1_Backup\CONFIG\%date%\hosts.log
hobocopy /y %windir%\System32\drivers\etc\ %sFolderName%a1_Backup\CONFIG\%date%\ hosts >> %sFolderName%a1_Backup\CONFIG\%date%\hosts.log
::
echo ###################################################### > %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\SAM >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ SAM >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\DEFAULT >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ DEFAULT >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\SECURITY >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ SECURITY >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\software >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ software >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\system >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ system >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\COMPONENTS >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ COMPONENTS >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %windir%\system32\config\netlogon.ftl >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ netlogon.ftl >> %sFolderName%a1_Backup\CONFIG\%date%\config.log
echo the path to the file %userprofile%\NTUSER.DAT > %sFolderName%a1_Backup\NTUSER\%date%\NTUSER.log
hobocopy /y %userprofile%\ %sFolderName%a1_Backup\NTUSER\%date%\ NTUSER.DAT >> %sFolderName%a1_Backup\NTUSER\%date%\NTUSER.log
TIMEOUT 1
attrib +r +h %sFolderName%a1_Backup
msg * Completed!!! Reserved to %sFolderName%a1_Backup\
TIMEOUT 1
start %sFolderName%a1_Backup\
) else (
echo Папка не была выбрана.
)