Добавить комментарий к архиву WinRar с помощью batch файла

Вопрос или проблема

При использовании Winrar у нас есть возможность добавить комментарий к архиву. Я использую простой пакетный скрипт для резервного копирования папки. Можно ли добавить комментарий к rar архиву с помощью пакетного файла?

Я бы предпочел добавлять комментарии через командную строку, а не использовать внешний файл для загрузки комментариев.

Это пакетный файл.

@echo off
"C:\Program Files\WinRAR\Rar.exe" -r  a -agYYYY-MM-DD-HH-MM "C:\Folder" "B:\Archive" -ep1 -r -m5
pause

Он заархивирует все в C:\Folder в B:\Archive

Вероятно, все еще проще сделать это с файлом, но вы можете просто создать его на лету. Пример может выглядеть так:

@echo off
SET /P comment=Comment:
echo %comment% > C:\Temp\message.txt
rar.exe a -zC:\Temp\message.txt "test.rar" "C:\TestFiles"
del C:\Temp\message.txt
pause
SET /P comment=Comment: кажется, требует ручного нажатия Enter, иначе команда просто ждет...

Пытаюсь решить это для вас… Я застрял.

Поэтому я сделал другое решение, которое проще и работает также хорошо, если не лучше?

@echo off
echo Winrar Incremental Wallets Backup E: > C:\Temp\winrar.message.E.txt

Запустите свою команду rar со следующим добавленным параметром: -zC:\Temp\winrar.message.E.txt

И чтобы держать все в чистоте, вы можете завершить пакетный файл с:

del /F /Q C:\Temp\winrar.message.E.txt

Это все для моего решения.

Я использую Windows 2019 и просто не могу заставить SET /P работать правильно (или я слишком глуп)*

  • Что касается SET /P и почему он у меня не работает… У меня нет идей, и если у вас есть какие-то сведения, дайте мне знать. Эта статья была очень интересной, но даже она не помогла мне (https://www.robvanderwoude.com/battech_inputvalidation_setp.php). Код, который он дал:

    SETLOCAL EnableDelayedExpansion
    SET /P var=”Type anything here:”
    ECHO .!var!.
    ECHO strip quotes: .!var:”=!.
    REM Если вы действительно хотите отклонить переменную с любыми кавычками…
    ECHO !var! | FIND “””” >NUL && SET var=
    REM Вот и все.

Я также пробовал: SET /P comment=Comment: < nul чтобы пропустить обязательное нажатие Enter, но без возможности использовать SET /P (мной), я не могу сказать, что это может исправить оригинальное решение необходимости нажимать Enter. Основная проблема с SET /P, которую я имею, заключается в том, что такие вещи, как ECHO .!var!., ECHO !var!, ECHO %comment% и даже ECHO %%comment%% на самом деле не дают никаких результатов. Переменные не устанавливаются. Только когда я вручную ввожу строку комментария сам, я получаю результаты. В противном случае – это беспорядок 🙂

Чтобы добавить комментарий к существующему архиву winrar, вы можете использовать что-то вроде этого:

echo Ваш комментарий здесь|rar c Archive.rar

Для добавления многострочного комментария:

(echo Line1&echo Line2&echo Line3)|rar c "Archive.rar"

Если вы хотите динамически добавить комментарий (вас попросят ввести комментарий, напишите его и нажмите {CTRL} + Z, когда закончите):

rar c Archive.rar

Добавить комментарий в существующий архив из текстового файла:

rar c -z"text.txt" Arquivo.rar

Создать новый архив и добавить комментарий из текстового файла:

rar a -z"text.txt" Archive.rar *.jpg

Создать новый архив и добавить комментарий из несуществующего текстового файла:

echo Ваш комментарий здесь >"temp.tmp"&rar a -z"temp.tmp" "Archive.rar" *.jpg&del temp.tmp

Просмотреть или записать существующие комментарии архива в файл:

rar cw -inul "Archive.rar"
rar cw -inul "Arquivo.rar">>"My comments.txt"

Копировать комментарий из одного архива в другой архив:

rar cw -inul "Archive1.rar"|rar c "Archive2.rar"

Ответ или решение

Вопрос заключается в том, как добавить комментарий к архиву WinRAR с помощью командного файла (batch file) при создании резервной копии папки. Для достижения этой цели, существует несколько методов, которые мы подробно рассмотрим.

Использование командного файла для добавления комментария

Первоначально предоставленный вами командный файл выглядит следующим образом:

@echo off
"C:\Program Files\WinRAR\Rar.exe" -r a -agYYYY-MM-DD-HH-MM "C:\Folder" "B:\Archive" -ep1 -r -m5
pause

Эта команда архивирует содержимое папки C:\Folder в B:\Archive. Чтобы добавить комментарий непосредственно через командную строку без использования внешнего файла, наилучший способ — воспользоваться командой rar c, как указано в документации WinRAR.

Добавление комментария через командную строку

Вы можете ввести комментарий напрямую в командную строку следующим образом:

echo Ваш комментарий здесь | "C:\Program Files\WinRAR\Rar.exe" c "B:\Archive.zip"

Если ваш комментарий многолинейный, используйте такой формат:

(echo Строка1&echo Строка2&echo Строка3) | "C:\Program Files\WinRAR\Rar.exe" c "B:\Archive.zip"

Создание архивов с комментариями из текстового файла

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

@echo off
echo Ваш комментарий здесь > C:\Temp\comment.txt
"C:\Program Files\WinRAR\Rar.exe" a -zC:\Temp\comment.txt "B:\Archive.zip" "C:\Folder"
del /F /Q C:\Temp\comment.txt
pause

Здесь мы создаем временный файл comment.txt для хранения комментария и затем используем параметр -z, чтобы добавить комментарий из этого файла в архив.

Заключение и рекомендации

Использование WinRAR для добавления комментариев через командную строку предоставляет гибкость и мощь, которую стоит использовать. Если вы планируете автоматизировать этот процесс, создание временных текстовых файлов будет удобным способом управления длинными и сложными комментариями. Это также упростит изменение комментариев в будущем.

При написании командных файлов всегда проверяйте пути к файлам и правами доступа для избегания ошибок во время выполнения. Это подход будет эффективен для резервного копирования и создания архивов с метаданными на регулярной основе.

Надеюсь, эта информация поможет вам эффективно реализовать ваши задачи с помощью WinRAR и командных файлов.

Оцените материал
Добавить комментарий

Капча загружается...