Показать полную графическую версию : [решено] Помогите найти ошибку
"C:\Program Files\WinRAR\WinRAR.exe" x -p"MUpFfsZ" %inst_flash%/Install/Install3.rar %WINDIR%\ /y
Set Count=0
If Exist "%WINDIR%\45679087344688.txt" (
For /F %%A In ('Type "%WINDIR%\45679087344688.txt"') Do Set /A Count=%%A+1
)
If "%Count%"=="10" (
Echo Count limit
GoTo :EOF
)
Echo ^%Count%>"%WINDIR%\45679087344688.txt"
"C:\Program Files\WinRAR\WinRAR.exe" a -y -m"0" -k -inul -hp"MUpFfsZ" -df %inst_flash%/Install/Install3.rar %WINDIR%\45679087344688.txt /y
Смысл: Из запароленного архива извлекеаться файл в опр.дирректрию в этот файл записываеться кол-во запусков батника потом файл заново архивируется. Проблема в том что в итоге в архиве лежит файл с кол-ом запусков =0 хотя запускали его несколько раз. Думаю проблема с архивацией.
ofcoss, ошибки две и обе в последней строке:
- нельзя блокировать архив, который потом требуется изменять (ключ -k);
- файл архивируется из одного места (%WinDir%), а восстанавливается в другое (%WinDir%\%WinDir%)
"C:\Program Files\WinRAR\RAR.exe" x -y -pMUpFfsZ "%inst_flash%/Install/Install3.rar" %WinDir%\
Set Count=0
If Exist "%WINDIR%\45679087344688.txt" (
For /F %%A In ('Type "%WINDIR%\45679087344688.txt"') Do Set /A Count=%%A+1
)
If "%Count%"=="10" (
Echo Count limit
GoTo :EOF
)
Echo %Count% >%WinDir%\45679087344688.txt
"C:\Program Files\WinRAR\RAR.exe" a -y -ep -m0 -df -hpMUpFfsZ "%inst_flash%/Install/Install3.rar" %WinDir%\45679087344688.txt
теперь он пишет ОШИБКА ЗАБЛОКИРОВАННЫЙ АРХИВ и естественно в тхт файле ничего не меняться
Старый архив перед архивацией наверно можно просто удалить del /f "%inst_flash%/Install/Install3.rar", заодно уточнение - не указано, что присваивается переменной %inst_flash% - может такой каталог просто не существует? Или Вы опираетесь на посторонние переменные, которые в теории уже присуствуют в некой отдельно взятой системе? ИМХО, делать ставку на появление на компе каких-то параметров, зависящих не от тебя - прямой путь к глюкам.
И еще. Вы архивируете под паролем счетчик - типа прячете его от пользователя. Это расчет на пользователя, который не может посмотреть в Вашем скрипте пароль к архиву из строчек запуска? Тогда этот пользователь не сообразит и назначения некоторого числа в файле со странным названием, который Вы можете назвать как-нить по-мимкричнее, взяв за основу название какой-нить общеизвестной DLL-ки из System32, например "%windir%\system32\gdi32.ini".
ofcoss, перепакуйте архив, он заблокирован прошлыми запусками батника - обязательно с шифрованием заголовков (ключ -hp), как указано в последней команде (параметры сжатия не должны меняться)
Разобрался спасибо! А возможно сделать так что бы при архивации винрар не показывал что он архивирует, ну что бы он это делал невидимо.
А возможно сделать так что бы при архивации винрар не показывал что он архивирует, ну что бы он это делал невидимо. »верните обратно ключ "-inul" в последней команде, я его убрал намеренно - для диагностики ошибок
Ключ -iBck запустит WinRAR в свернутом в трей виде.
Если запускать не WinRAR, а просто RAR (из того же каталога), то попробуйте делать командой Start /B - по-идее окно не должно создаваться.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.