Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Архивирование файлов через один из другой архватор запросом ИМЕНИ создаваемого архива (http://forum.oszone.net/showthread.php?t=298451)

DJIOAN 16-04-2015 10:41 2496484

Архивирование файлов через один из другой архватор запросом ИМЕНИ создаваемого архива
 
Доброго времени суток!
Мне необходимо сделать батник в который будет архивировать файлы и выдавать запрос на ИМЯ этого архива. Я самоучка, собрал один батник но есть некоторые недоработки которые не могу убрать, но скрипт работает !!!!

@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 2496485

помогите пожалуйста

Iska 16-04-2015 10:59 2496488

Цитата:

Цитата DJIOAN
- в окне командной строки после проверки на наличие WinRAR перед надписью "WinRAR not found." и там после пишел "else" не является внутренней или внешней командой »

Вот это:
Код:

)
else (

должно быть в одной строке:
Код:

) else (
Цитата:

Цитата DJIOAN
- при запросе имени архива нельзя вписать к примеру: Программа прибой, а только одно слово »

Можно. Если не забыть обрамить «%name%» кавычками и в:
Код:

"C:\Program Files\7-Zip\7zG.exe" a -tzip -ssw -mx5 "%name%" "D:\1" -y

DJIOAN 16-04-2015 11:04 2496490

Меняю код
)
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 2496497

DJIOAN, найдите ещё тэг «code» среди прочих тегов форума и пользуйтесь им на будущее для оформления кода.

DJIOAN 16-04-2015 11:17 2496498

к стати если обратите внимание на код для архивирования RAR то увидите что я также разработал архивирование в готовый sfx Проверил и работает


Время: 19:15.

Время: 19:15.
© OSzone.net 2001-