PDA

Показать полную графическую версию : [решено] Архивирование файлов через один из другой архватор запросом ИМЕНИ создаваемого архива


DJIOAN
16-04-2015, 10:41
Доброго времени суток!
Мне необходимо сделать батник в который будет архивировать файлы и выдавать запрос на ИМЯ этого архива. Я самоучка, собрал один батник но есть некоторые недоработки которые не могу убрать, но скрипт работает !!!!

@echo off
cls
chcp 866 > nul
title Info ot S[o]zdatel-=HQ=-
echo.
echo.
echo Пользователь: %USERNAME%
echo.----------------------------------
echo Операционная система: %OS%
echo.----------------------------------
echo Дата: %DATE%
echo.----------------------------------
echo.Время*: %TIME%
echo.----------------------------------
echo.


if exist "%PROGRAMFILES%\WinRAR\winrar.exe" (
"c:\Progra~1\WinRAR\WinRAR.exe" a -s -m5 -IBCK -y %name% "E:\1"
ping -w 600 192.0.0.1 >nul
)
else (
echo.
echo "WinRAR not found."
ping -w 600 192.0.0.1 >nul
) else (
echo.
echo "Archiving failed."
ping -w 400 192.0.0.1 >nul
) else (
:create
set /p name=echo ENTER NAME FOR ARCHIVE:
if "%SaveName%"=="" ( set SaveName=%name%)
if "%name%"=="" ( set name=%SaveName%)
if "%name%"=="" ( goto create)
)
else (
"C:\Program Files\7-Zip\7zG.exe" a -tzip -ssw -mx5 %name% "D:\1" -y
)
echo.
pause

а минусы которые не могу убрать:
- в окне командной строки после проверки на наличие WinRAR перед надписью "WinRAR not found." и там после пишел "else" не является внутренней или внешней командой
- при запросе имени архива нельзя вписать к примеру: Программа прибой, а только одно слово

DJIOAN
16-04-2015, 10:42
помогите пожалуйста

Iska
16-04-2015, 10:59
- в окне командной строки после проверки на наличие WinRAR перед надписью "WinRAR not found." и там после пишел "else" не является внутренней или внешней командой »
Вот это:)
else (
должно быть в одной строке:
) else (

- при запросе имени архива нельзя вписать к примеру: Программа прибой, а только одно слово »
Можно. Если не забыть обрамить «%name%» кавычками и в:
"C:\Program Files\7-Zip\7zG.exe" a -tzip -ssw -mx5 "%name%" "D:\1" -y

DJIOAN
16-04-2015, 11:04
Меняю код
)
else (

на ) else (
и заключаю в ковычки имя архива то окно командной строки запускается и закрывается в долю секунды

то есть даже пауза не дает просмотреть ошибку а лог всео архива у меня не получается сделать

я нашел решение ошибки нехватало нескольких ")" знаков

вот готовый

@echo off
cls
chcp 866 > nul
title Info ot S[o]zdatel-=HQ=-
echo.
echo.
echo Пользователь: %USERNAME%
echo.----------------------------------
echo Операционная система: %OS%
echo.----------------------------------
echo Дата: %DATE%
echo.----------------------------------
echo.Время*: %TIME%
echo.----------------------------------
echo.


if exist "%PROGRAMFILES%\WinRAR\winrar.exe" (
"c:\Progra~1\WinRAR\WinRAR.exe" a -s -m5 -v1m -v200m -sfxMini_5.SFX -iicon"%~dp0arc.ico" -z"%~dp0COMMENT.txt" -IBCK -y echo "%name%" "E:\1"
ping -w 600 192.0.0.1 >nul
)
) else (
echo.
echo "WinRAR not found."
ping -w 600 192.0.0.1 >nul
) else (
echo.
echo "Archiving failed."
ping -w 400 192.0.0.1 >nul
) else (
:create
set /p name=ENTER NAME FOR ARCHIVE:
if "%SaveName%"=="" ( set SaveName=%name%)
if "%name%"=="" ( set name=%SaveName%)
if "%name%"=="" ( goto create)
) else (
"C:\Program Files\7-Zip\7zG.exe" a -tzip -ssw -mx5 "%name%" "D:\1" -y
)
echo.
pause

Iska
16-04-2015, 11:17
DJIOAN, найдите ещё тэг «code» среди прочих тегов форума (http://forum.oszone.net/misc.php?do=bbcode) и пользуйтесь им на будущее для оформления кода.

DJIOAN
16-04-2015, 11:17
к стати если обратите внимание на код для архивирования RAR то увидите что я также разработал архивирование в готовый sfx Проверил и работает




© OSzone.net 2001-2012