Прошу помощи в написании VBS-скрипта
Формулировка задачи:
Здравствуйте! Очень прошу помощи в написании скрипта! Имеется .BATник для выполнения некоторых операций с файлами, нужно написать тоже самое только в .VBS. Всем кто поможет заранее большое спасибо!
My_Batnik.BAT
@ECHO OFF
Start C:\My_Folder\My_Proga_1.exe /h /s >nul
set Timer1=300
ping -n %Timer1% 127.0.0.1 >nul
:Loop
set Timer2=2
ping -n %Timer2% 127.0.0.1 >nul
if not exist "*.mp3" goto Go
for /r %%i in (*.mp3) do ( "Rar.exe" m[f] -ep -inul -hp12345 -m5 -y "MP3_Files.rar" "%%i" )
:Go
if not exist "MP3_Files.rar" goto Loop
if exist "MP3_Files.rar" (
for %%i in ("MP3_Files.rar") do (
if %%~zi gtr 524288 (Start /wait My_Proga_2.exe)
) )
goto Loop
Предполагаю что начало должно выглядеть так:
My_Skript.VBS
on error resume next
WScript.Sleep (300000) 'Запуск первого таймера 300 сек
Set S = CreateObject("Wscript.Shell")
S.run "C:\My_Folder\My_Proga_1.exe /h /s",0 'Запуск первого файла
DO 'Запуск цикла
Тут?????
LOOP 'Окончание цикла
Как дальше не знаю, и в Google найти ничего не могу. Помогите плиз!!!!
My_Batnik.BAT
@ECHO OFF
Start C:\My_Folder\My_Proga_1.exe /h /s >nul
set Timer1=300
ping -n %Timer1% 127.0.0.1 >nul
:Loop
set Timer2=2
ping -n %Timer2% 127.0.0.1 >nul
if not exist "*.mp3" goto Go
for /r %%i in (*.mp3) do ( "Rar.exe" m[f] -ep -inul -hp12345 -m5 -y "MP3_Files.rar" "%%i" )
:Go
if not exist "MP3_Files.rar" goto Loop
if exist "MP3_Files.rar" (
for %%i in ("MP3_Files.rar") do (
if %%~zi gtr 524288 (Start /wait My_Proga_2.exe)
) )
goto Loop
Предполагаю что начало должно выглядеть так:
My_Skript.VBS
on error resume next
WScript.Sleep (300000) 'Запуск первого таймера 300 сек
Set S = CreateObject("Wscript.Shell")
S.run "C:\My_Folder\My_Proga_1.exe /h /s",0 'Запуск первого файла
DO 'Запуск цикла
Тут?????
LOOP 'Окончание цикла
Как дальше не знаю, и в Google найти ничего не могу. Помогите плиз!!!!
Решение задачи: «Прошу помощи в написании VBS-скрипта»
textual
Листинг программы
<font color="blue">option</font> <font color="blue">explicit</font> <font color="#00AA00">' строка запуска для My_Proga_1.exe</font> <font color="blue">const</font> sProga1Run=<font color="teal">""</font><font color="teal">"C:\My_Folder\My_Proga_1.exe"</font><font color="teal">" /h /s"</font> <font color="#00AA00">' строка запуска для My_Proga_2.exe</font> <font color="blue">const</font> sProga2Run=<font color="teal">"My_Proga_2.exe"</font> <font color="#00AA00">' максимальный размер архива</font> <font color="blue">const</font> iMaxArkhSize= <font color="darkblue"><b>524288</b></font> <font color="blue">dim</font> idelay, boolExists <font color="blue">dim</font> objFSO, objWSHShell, objFolder, objFile <font color="blue">dim</font> sWorkingDir, sArkhPath, sRarRun <font color="#00AA00">' величина паузы в цикле</font> idelay= <font color="darkblue"><b>2000</b></font> <font color="#00AA00">' папка из которой запущен скрипт</font> sWorkingDir= replace(wscript.ScriptFullName, <font color="teal">"\"</font> & wsctipt.ScriptName, <font color="teal">""</font>) <font color="#00AA00">' полный путь к архиву</font> sArkhPath= sWorkingDir & <font color="teal">"\MP3_Files.rar"</font> <font color="#00AA00">' строка запуска для rar.exe</font> sRarRun=<font color="teal">"rar.exe m[f] -ep -inul -hp12345 -m5 -y "</font><font color="teal">""</font> & sArkhPath & <font color="teal">""</font><font color="teal">" *.mp3"</font> <font color="#00AA00">' объект: Scripting.FileSysytemObject</font> <font color="blue">set</font> objFSO= CreateObject(<font color="teal">"Scripting.FileSysytemObject"</font>) <font color="#00AA00">' объект: WScript.Shell</font> <font color="blue">set</font> objWSHShell= CreateObject(<font color="teal">"WScript.Shell"</font>) <font color="#00AA00">' объект: папка из которой запуцщен скрипт</font> <font color="blue">set</font> objFolder = setFSO.GetFolder(sWorkingDir) <font color="#00AA00">' запуск My_Proga_1.exe без ожидания завершения и пауза в 5 минут</font> objWSHShell.Run sProga1Run,<font color="darkblue"><b>1</b></font>,false wscript.sleep <font color="darkblue"><b>300000</b></font> <font color="blue">do</font> <font color="#00AA00">' ?есть *.mp3</font> <font color="#00AA00">' да: запаковать </font> <font color="#00AA00">' флаг наличия .mp3 фалов</font> boolExists= false <font color="#00AA00">' для каждого файла в папке objFolder: если имя файла оканчивается на <font color="teal">".mp3"</font></font> <font color="#00AA00">' установить флаг boolExists, выйти из цикла for each</font> <font color="blue">for</font> <font color="blue">each</font> objFile <font color="blue">in</font> objFolder <font color="blue">if</font> right(objFile.<font color="blue">Name</font>,<font color="darkblue"><b>4</b></font>)=<font color="teal">".mp3"</font> <font color="blue">then</font> boolExists=true <font color="blue">exit</font> <font color="blue">for</font> <font color="blue">end</font> <font color="blue">if</font> <font color="blue">next</font> <font color="#00AA00">' если установлен флаг boolExists запустить rar.exe, дождаться окончания его работы</font> <font color="blue">if</font> boolExists <font color="blue">then</font> objWSHShell.Run sRarRun,<font color="darkblue"><b>1</b></font>,true <font color="#00AA00">' ?есть MP3_Files.rar</font> <font color="#00AA00">' да: ?размер MP3_Files.rar > 524288</font> <font color="#00AA00">' да: запустить /wait My_Proga_2.exe</font> <font color="#00AA00">' REM наличие архива можно также проверить косвенно - по флагу boolExists</font> <font color="blue">if</font> objFSO.FileExists(sArkhPath) <font color="blue">then</font> <font color="blue">set</font> objFile= objFSO.GetFile(sArkhPath) <font color="blue">if</font> objFile.Size > iMaxArkhSize <font color="blue">then</font> objWSHShell.Run sProga2Run,<font color="darkblue"><b>1</b></font>,true <font color="blue">end</font> <font color="blue">if</font> <font color="#00AA00">' пауза </font> wscript.sleep idelay <font color="#00AA00">' завершить цикл при наличии в папке из которой запущен скрипт</font> <font color="#00AA00">' файла с именем STOPLOOPING.FLAG ( фича )</font> boolExists= objFSO.FileExists(sWorkingDir & <font color="teal">"\STOPLOOPING.FLAG"</font>) <font color="blue">loop</font> <font color="blue">until</font> boolExists wscript.quit
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д