Podpora :: RAR Support

2019-10-27 12:17:20
Tom
Výpis souborů

Dobrý den,

používám konzolovou verzi RARu a potřeboval bych docílit jednu ze 2 možností:
1. výpis pouze % a ukončení "DONE" bez výpisu souborů
2. klasický výpis jenom výpis souborů v jednom řádku

Zkoušel jsem přepínač -id[c,d,p,q] , ale požadovaného výpisu jsem nedosáhl.
Důvodem je, že RAR je volán jiným SW a dlouhý výpis dělá problém.
Pokud výpis nebude obsahovat "DONE", SW vyhodí chybu.

-----------------------------
-id[c,d,p,q] (není popsán v nápovědě na rar.cz, níže uvedený popisek je z dokumetace k RARu)
Disable messages.

Switch -idc disables the copyright string.

Switch -idd disables “Done” string at the end of operation.

Switch -idp disables the percentage indicator.

Switch -idq turns on the quiet mode, so only error messages and questions are displayed.

It is allowed to use several modifiers at once, so switch -idcdp is correct.

-----------------------------
-idq vypne i "DONE"
Ideálním řešením by bylo pridaním nového přepínače -idf , který by vypnul vypisování souborů, ponechá % a "DONE".

Předem děkuji za odpověď.

2019-10-28 21:03:53
Ľubomír Mlích
Re: Výpis souborů

Dobrý den Tome,

na linuxu se k tomuto účelu obvykle používá proměnná $?

tj. zavolám příkaz tak, že se výstup směruje do dev null a chyby také. Pak zkontroluju hodnotu proměnné $?:

$ rar a /home/lmlich//Plocha/archive.rar /home/lmlich/Plocha/myfiletoarchive.txt 1>/dev/null 2>&1
$ echo $?
10
$

echo $? vrátí hodnotu 10, protože soubor /home/lmlich/Plocha/myfiletoarchive.txt neexistuje. Pokud operace proběhla v pořádku, hodnota proměnné $? je 0

na windows se podobně používá errorlevel respektive v powershellu existují proměnné $? a $LASTEXITCODE viz: https://stackoverflow.com/questions/1035840/what-is-the-equivalent-to-in-wi ndows/1035848

Můžu se zeptat jestli je možné tuto vlastnost do WinRARu přidat, ale předpokládám, že pro vás bude rychlejší využít proměnnou $? nebo errorlevel.

Může být takto? Pomohlo vám to? :-)

Díky.

2019-10-29 18:03:39
Tom
Re: Výpis souborů

Dobrý den,

bohužel SW, který RAR volá, nemá tuhle možnost. Podmínkou je při ukončení komprese vypsat "DONE" (teď to RAR vypíše pouze, pokud se vypisují i soubory), jinak zobrazí chybu a další vyhodnocování podmínek pro spuštění je pozastaveno. Mohu napsat jenom přepínače, které použije pro volání RARu.
U 7z se to dalo pořešit přepínačem -bb0, kdy soubory vypisuje v jednom rádku. RAR používám z důvodu možnosti opravy poškozeného archivu.

2019-10-29 18:27:51
Ľubomír Mlích
Re: Výpis souborů

Používáte to na macu, windows nebo linuxu?

2019-10-29 19:05:21
Tom
Re: Výpis souborů

Windows nebo linux

2019-10-29 19:34:03
Ľubomír Mlích
Re: Výpis souborů

Tak na linuxu když budete mít soubor zararovat.sh s právy pro spuštění:

#!/bin/bash

rar $@ 1>/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
  echo DONE
fi

a spustíte jej jako rar s platným a neplatným souborem, tak to dělá to co chcete, ne?

$ ./zararovat.sh a ~/Plocha/archive.rar ~/Plocha/neexistujici.soubor
$

vs.

$ ./zararovat.sh a ~/Plocha/archive.rar ~/Plocha/existujici.soubor
DONE
$
2019-10-29 19:46:25
Ľubomír Mlích
Re: Výpis souborů

Poslal jsem váš nápad na zlepšení do centrály.

2019-10-29 21:00:44
Tom
Re: Výpis souborů

Po drobných úpravách to zatím funguje.

Zatím děkuji

2019-10-30 18:50:29
Ľubomír Mlích
Re: Výpis souborů

Pokud bude tuto vlastnost požadovat vícero uživatelů, bude se o začlenění do RAR uvožovat. Prozatím se doporučuje použití errorlevel.