Код:
MKDIR C:\Users\%username%\Documents\BData
::Chrome
dir "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cookies" /a-d >nul 2>nul && (
XCOPY "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cookies" "C:\Users\%username%\Documents\BData\Chrome\Cookies" /C /Q /G /H /R /K /Y
XCOPY "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Login Data" "C:\Users\%username%\Documents\BData\Chrome\Login Data" /C /Q /G /H /R /K /Y
XCOPY "%USERPROFILE%\AppData\Loca\Google\Chrome\User Data\Default\Login Data-journal" "C:\Users\%username%\Documents\BData\Chrome\Login Data-journal" /C /Q /G /H /R /K /Y )
::FIREfOX
dir "%appdata%\Mozilla\Firefox" /a-d >nul 2>nul && ( md C:\Users\%username%\Documents\BData\FFox
:: путь к ini файлу, из которого нужно прочитать название папки профиля
Set pathini=%appdata%\Mozilla\Firefox\profiles.ini
:: путь, по которому нужно будет создать этот профиль и потом скопировать мои файл и папку
Set outfolder=%appdata%\Mozilla\Firefox
:: читаем название папки профиля из ini файла
For /f "tokens=2 delims==" %%i In ('FindStr /b "Path=" "%pathini%"') Do Set fPath=%%i
:: получаем полный путь папки профиля и правим в нем прямой слеш на обратный
Set fPath=%outfolder%\%fPath:/=\%
::подменяем папку назначения
Set outfolder="C:\Users\%username%\Documents\BData\FFox\"
:: копируем мою папку в папку профиля
xCopy /c /q /g /h /r /k /y "%fPath%\cookies.txt" "%outfolder%\cookies.txt"
xCopy /c /q /g /h /r /k /y "%fPath%\formhistory.dat" "%outfolder%\formhistory.dat"
xCopy /c /q /g /h /r /k /y "%fPath%\key3.db" "%outfolder%\key3.db"
xCopy /c /q /g /h /r /k /y "%fPath%\signons.sqlite" "%outfolder%\signons.sqlite"
xCopy /c /q /g /h /r /k /y "%fPath%\signons3.txt" "%outfolder%\signons3.txt")
::Opera
dir "%USERPROFILE%\AppData\Roaming\Opera Software\Opera Stable" /a-d >nul 2>nul && (
XCOPY "%USERPROFILE%\AppData\Roaming\Opera Software\Opera Stable\Cookies" "C:\Users\%username%\Documents\BData\Opera\Cookies" /C /Q /G /H /R /K /Y
XCOPY "%USERPROFILE%\AppData\Roaming\Opera Software\Opera Stable\Login Data" "C:\Users\%username%\Documents\BData\Opera\Login Data" /C /Q /G /H /R /K /Y
XCOPY "%USERPROFILE%\AppData\Roaming\Opera Software\Opera Stable\Login Data-journal" "C:\Users\%username%\Documents\BData\Opera\Login Data-journal" /C /Q /G /H /R /K /Y )
::Архивируем
@echo off
rem Задается переменная FROM - откуда брать данные для архивирования
set FROM=%USERPROFILE%\Documents\BData
rem Задается переменная TO - куда помещать архивы
set TO=%USERPROFILE%\Documents\BData\Archive
rem Создадим каталог ТО
md "%TO%\"
set VDE=%computername%
set vme=%username%
set nam=%Vde%_%Vme%
rem Создадим подкаталог для файла архива
md "%TO%\%nam%"
rar.exe a -r "%TO%\%nam%.rar" "%FROM%\*.*"
pause
Доброго времени суток всем! Передо мной стоит следующая задача: перенести все важные данные пользователя из браузера перед переустановкой винды. Решил, чтоб по-быстрей было сделать это через bat а готовый архив скопировать на флешку и спокойно переустанавливать. Но не тут-то было. На подопытном компе есть Firefox и Opera. При запуске bat-файла: появляется ошибка "findstr не удалось открыть файл". А так же ничего почему-то не копируется. Везде (после исполнения каждой команды на копирование) написано, что скопировано 0 файлов. А когда дело доходит до архивации, то rar вообще спрашивает, что такое Cookie: файл или папка? В итоге папка BData в "Документах" содержит только папку FFox и всё.
Помогите пожалуйста найти ошибку. Почему не копируются файлы? Почему не удаётся скопировать данные из FireFox? Будет ли срабатывать условие: "если такового браузера нет, то без лишних ошибок и вопросов продолжить выполнение скрипта"? Как заставить rar архивировать без лишних вопросов? Помогите, пожалуйста.
P.S.: сам я в bat'никах не очень силён. Над этой задачей работаю уже 2 дня из чистого интереса. Хочу по-ближе познакомиться с bat-файлами.