Adicionar comentário ao arquivo WinRar com arquivo em lote

Adicionar comentário ao arquivo WinRar com arquivo em lote

Ao usar o Winrar, temos a capacidade de adicionar um comentário a um arquivo. Estou usando um script em lote simples para fazer backup de uma pasta. Existe uma maneira de adicionar um comentário ao arquivo rar com o arquivo em lote?

De preferência, gostaria de adicionar os comentários através da janela do prompt de comando, em vez de usar um arquivo externo para carregar os comentários.

Este é o arquivo em lote.

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

Ele irá arquivar tudo em C:\Folder em B:\Archive

Responder1

Provavelmente ainda é o mais fácil fazer isso com um arquivo, mas você pode gerá-lo instantaneamente. Um exemplo poderia ser assim:

@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

Responder2

SET /P comment=Comment: seems to need a manual Enter-press, otherwise the command just waits...

Tentando resolver isso para todos vocês... fiquei preso.

Então fiz outra solução que é mais fácil e funciona tão bem, se não melhor?

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

Execute seu comando rar com a seguinte opção adicionada:-zC:\Temp\winrar.message.E.txt

E para mantê-lo limpo, você pode finalizar o arquivo em lote com:

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

Isso foi tudo para minha solução.

Estou no Windows 2019 e simplesmente não consigo fazer o SET /P funcionar corretamente (ou sou muito burro)*

  • Quando se trata de SET /P e por que ele falha para mim... não tenho ideia e se você souber de alguma coisa me avise. Este artigo foi muito interessante, mas nem isso funcionou para mim (https://www.robvanderwoude.com/battech_inputvalidation_setp.php). Código que ele deu:

    SETLOCAL EnableDelayedExpansion SET /P var="Digite qualquer coisa aqui:" ECHO .!var!. Aspas ECHO: .!var:"=!. REM Se você realmente deseja rejeitar a variável com qualquer aspa... ECHO !var! | FIND """" >NUL && SET var= REM É isso.

Também tentei: SET /P comment=Comment: < nulpular o Enter obrigatório, mas sem ter como usar SET /P (por mim), não posso dizer que isso poderia resolver a solução original de ter que pressionar Enter. O principal problema com SET /PI é que coisas como ECHO .!var!., e até mesmo não deram nenhum resultado. As variáveis ​​não estão definidas. Somente quando eu mesmo digito manualmente a string de comentário, posso obter resultados. Caso contrário, é uma bagunça :)ECHO !var!ECHO %comment%ECHO %%comment%%

informação relacionada