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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Перевод скрипта архивации с CMD на VBS (http://forum.oszone.net/showthread.php?t=235484)

Serg2010 27-05-2012 21:21 1923553

Перевод скрипта архивации с CMD на VBS
 
Добрый вечер!

Помогите перевести скрипт на язык VBS.
Скрипт по заданному списку архивирует в целевую папку C:\ALL_BASES\Lenta\ базы ... Через семь дней (может меняться) архивы перезатирают сами себя ... Архивируемые папки (базы) заданы в виде списка (был вариант и с отдельным файлом), но с учетом бОльших возможностей языка VBS можно, наверное, оформить его в виде массива ... В скрипте ведется лог, где фильтруются положительные сообщения. В норме он ничего не содержит. Приветствуется некоторое улучшение (предложение) в скрипте.

cls
color 27
@echo off

set ArchDate=%Date:~6,4%%Date:~3,2%%Date:~0,2%
set Log=%~dp0%ArchDate%_LogBackup.txt
set ArchName=C:\ALL_BASES\Lenta\
set Filter=FINDSTR /V /B /I /C:Compressing /C:"7-Zip 4" /C:Scanning /C:"Creating archive" /C:"Everything is Ok" /R /C:$
set Num=0

For /F "Delims=" %%I In (%~dp0Numer.txt) Do Set Num=%%I
rem del %ArchName%*_%Num:~0,1%.7z
if %Num%==7 (set Num=1) else (set /a Num=Num+1)
echo %Num% >%~dp0Numer.txt

rem ---Список копируемых папок ----------------------------------------------------
rem Параметры: 1-что копируется, 2- добавка к имени архива , 3-флаг удаления после архивации, 4-если нужно исключаемые папки из архивирования

:,C:\Users\DOCUMENTS,DOCUMENTS,No,"-x!C:\Users\DOCUMENTS\Dir1 -x!C:\Users\DOCUMENTS\Dir2";
:,C:\1C_BUH\BUH,1C_Buh,No,,;
:,C:\1C_BUH\ZAR,1C_ZAR,No,,;
:,C:\Prog1\Dir1,Name1,No,,;
:,C:\Prog2\Dir2,Name2,No,,;
:,C:\Prog3\Dir3,Name3,No,,;
:,N:\Prog4\Dir4,Name4,No,,;
:,N:\Prog5\Dir5,Name5,No,,;
...
и т.д.

rem ---Цикл обработки списка копируемых папок для подстановки в процедуру---

pushd %~p0
FOR /F "delims=, eol=; tokens=1-5" %%i in (BackupBases.cmd) do if %%i==: Call :PROC %%j %%k %%l %%m
popd

GoTo End

rem ---Процедура копирования папок------------------------------------------

:PROC
cd /d %1
if exist %1\nul (
echo Идет копирование базы %1. Ждите ...
"C:\Program Files\7-zip\7z.exe" a -r %ArchName%%2_%Num% %1\* %~4 |%Filter% >>%Log%
cd ..
if "%3"=="Yes" rmdir %1 /s /q >>%Log%
)
Exit /b

:End

Iska 27-05-2012 23:46 1923669

Цитата:

Цитата Serg2010
был вариант и с отдельным файлом »

Это самый правильный путь.

CyberMuesli 29-05-2012 03:08 1924238

Цитата:

Цитата Serg2010
Помогите перевести скрипт на язык VBS. »

зачем

Serg2010 29-05-2012 21:03 1924702

чтобы продолжить его улучшение и учиться лучшему ...

порой все конструкции батников и их нюансы выводят из себя ... Он хорош для "ломания" головы

CyberMuesli 30-05-2012 02:33 1924798

работает же. зачем трогать

Devils Night 30-05-2012 03:35 1924803

Меня кстати тоже заинтересовал этот вопрос, так как всё таки перевести скрипт архивации из CMD в VBS?

читать дальше »
Цитата:

Цитата CyberMuesli
работает же. зачем трогать »

Все говорят "работает же. зачем трогать", а ты возьми и сделай!
Цитата:

Цитата CyberMuesli
зачем трогать »

Цитата:

Цитата Serg2010
чтобы продолжить его улучшение и учиться лучшему ... »

А может ему в будущем понадобится оболочка, интерфейс или как там ещё называется, а не надоедливая командная строка.

Не в обиду.

ferget 30-05-2012 06:29 1924810


Цитата:

Цитата Devils Night
Все говорят "работает же. зачем трогать", а ты возьми и сделай! »

не думаю что, если CyberMuesli переделает скрипт, то знания Serg2010 в vbs серьезно повысятся

Цитата:

Цитата Devils Night
А может ему в будущем понадобится оболочка, интерфейс или как там ещё называется, а не надоедливая командная строка. »

называется по разному, но с vbs мало связано

Serg2010 31-05-2012 23:32 1925790

Никакого умысла тут нет, просто написал скрипт на смд, понял что говно, ирешил освоить wsh. Для начала свои батники перевести на него. Вот и всё


Время: 03:40.

Время: 03:40.
© OSzone.net 2001-