Есть bat-файл в котором архивируется папка.
Все работает, но архив сохраняется с путями (все папки более высокого уровня).
Мне хотелось, чтобы сохранялось только содержимое целевой папки без лишнего.

Выделить код

Код:

"c:\Program Files\WinRAR\Rar.exe" a -r -ed -m5 "%way3%\ДЕНЬ_01 %data% (%time%).rar" "%way2%"

Архив выглядит так:
lTFrOqc.png
А нужно только содержимое папки "profile"

Похоже нужно добавить ключ -ep1
Сохраняется последняя папка целиком

Архивирование профиля Firefox в Windows

Выделить код

Код:

set profileArchPath=c:\1111testArch
set archName=profile_name
set profilePath=c:\Users\user\AppData\Roaming\Mozilla\Firefox\Profiles\
set profileName=jdssv8b1.default-1476179753709
set sevenZPath=c:\"Program Files"\7-Zip\7z.exe

C:
cd %profilePath%
%sevenZPath% a %profileArchPath%\%archName%.7z %profileName%

set "archName="
set "profileArchPath="
set "profilePath="
set "sevenZPath="
set "profileName="

13-10-2016 15:13:40
Вот так делается архив через 7zip

13-10-2016 15:13:55
profileArchPath - путь к архиву
profile_name - имя архива профиля
profilePath - путь к каталогу в котором профиль
profileName - имя профиля, который надо сохранить
sevenZPath - путь к архиватору 7Zip
Пробелы в путях надо брать в кавычки ""

13-10-2016 15:17:29
Что вы понимаете под "высоким уровнем" каталога?

Я такой код использую для Кибер фокса

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

Выделить код

Код:

chcp 1251
set way=ПУТЬ К ПРОФИЛЮ
set way2=%Temp%\profile
set way3=ПУТЬ К СОХРАНЯЕМЫМ АРХИВАМ

set time=%time:~0,2%-%time:~3,2%
set day=%DATE:~0,2%
set month=%DATE:~3,2%
set year=%DATE:~6,4%
set data=%day%.%month%.%year%

if not exist %way3% md %way3%
if exist "%way3%\ДЕНЬ_* %data% *.rar" goto redys
if not exist "%way%\*.json" goto theend
if not exist "%way%\*.sqlite" goto theend

if exist %way3%\ДЕНЬ_07*.rar del %way3%\ДЕНЬ_07*.rar
if exist %way3%\ДЕНЬ_06*.rar ren %way3%\ДЕНЬ_06*.rar ДЕНЬ_07*.rar
if exist %way3%\ДЕНЬ_05*.rar ren %way3%\ДЕНЬ_05*.rar ДЕНЬ_06*.rar
if exist %way3%\ДЕНЬ_04*.rar ren %way3%\ДЕНЬ_04*.rar ДЕНЬ_05*.rar
if exist %way3%\ДЕНЬ_03*.rar ren %way3%\ДЕНЬ_03*.rar ДЕНЬ_04*.rar
if exist %way3%\ДЕНЬ_02*.rar ren %way3%\ДЕНЬ_02*.rar ДЕНЬ_03*.rar
if exist %way3%\ДЕНЬ_01*.rar ren %way3%\ДЕНЬ_01*.rar ДЕНЬ_02*.rar

xcopy "%way%" "%way2%" /b/c/e/g/h/i/k/r/y
"d:\EXE-Files\Total Commander\Plugins\arc\Rar.exe" a -r -ep1 -ed -m5 "%way3%\ДЕНЬ_01 %data% (%time%).rar" "%way2%"
pushd "%way2%" && rd /s /q . > nul 2>&1
EXIT

:theend
msg * /time:10 Сохранение профиля CyberFox НЕ ВЫПОЛНЕНО. Неверный путь.
EXIT

:redys
msg * /time:10 Копия профиля CyberFox уже создавалась сегодня.
EXIT


Сохраняются архивы за последние 7 дней.
Если конвертировать в ехе, то нужно добавить msg.exe для отображения сообщений.
Зато  программа выполняется невидимой

Ultima2m
Использовать rar - странно, 7z лучше всем. Если хотите универсальности, то тогда обычный zip.

За конвертирование даты в формат без спец символов спасибо, мне лень было искать как это делается.

time вроде бы системная переменная? Не знаю как точно она ищется командной оболочкой, но я бы не советовал её перезаписывать. То есть измените имя вашей time на например: saveTime, тоже касается остальных. И удалять переменные вконце скрипта

Мой скрипт с датой в имени профиля

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

Выделить код

Код:

set saveTime=%time:~0,2%-%time:~3,2%-%time:~6,2%
set saveDay=%DATE:~0,2%
set saveMonth=%DATE:~3,2%
set saveYear=%DATE:~6,4%
set saveData=%saveDay%.%saveMonth%.%saveYear%

set profileArchPath=c:\1111testArch
set archName=ffProf_data%saveData%_time%saveTime%
set profilePath=c:\Users\user\AppData\Roaming\Mozilla\Firefox\Profiles\
set profileName=jdssv8b1.default-1476179753709
set sevenZPath=c:\"Program Files"\7-Zip\7z.exe

C:
cd %profilePath%
%sevenZPath% a %profileArchPath%\%archName%.7z %profileName%

set "archName="
set "profileArchPath="
set "profilePath="
set "sevenZPath="
set "profileName="

set "saveTime="
set "saveDay="
set "saveMonth="
set "saveYear="
set "saveData="

Dorian пишет

Использовать rar - странно,

Что RAR, что 7z у меня в Total Commander лежат.
В этом смысле мне без разницы какой архиватор лишь бы не устанавливать новый.
Но RAR работает быстрее и упаковывает лучше.
При обычном сжатии в моем случае RAR сжимает до 21мб, а 7z - 27мб
За переименование переменных спасибо. Хоть все и работало, но лучше перебдеть. :D

Ultima2m пишет

Но RAR работает быстрее и упаковывает лучше.

Реальность с вами не согласна. Если интересно поищите на эту тему. :)

я на самом деле тоже поддерживаю, RAR действительно лучше поверьте

Ну что вы попробовали добавить ключ -ep1, я просто так делал