Mam plik wsadowy, który przechodzi przez zawartość katalogu i kompresuje pliki w katalogu w następujący sposób;
for %%a in (c:\data\*.*) do if "%%~xa" == "" "C:\Program Files\7-Zip\7za.exe" a -tzip -mx9 "%%a.zip" "%%a"
Widząc, że używam 7zip do kompresji pliku, zwraca komunikat „wszystko jest w porządku”, jeśli pomyślnie skompresował plik, a następnie przechodzi do następnego pliku w dowolnym.
To, co chciałbym zrobić, to:
- Przejdź do następnego pliku tylko wtedy, gdy odpowiedź brzmi „wszystko jest w porządku”
- Jeśli odpowiedzią jest coś innego niż „wszystko jest w porządku”, błąd jest rejestrowany
- Ponieważ wystąpił błąd, próbuje ponownie skompresować plik
- Raz, gdy się powiedzie, tzn. „Wszystko jest w porządku”, przechodzi do następnego pliku
- Kroki 3 i 4 występują maksymalnie 3 razy, zanim się poddają i przejdą do następnego pliku.
Jak mogę to osiągnąć?