Прошу помощи в написании 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 найти ничего не могу. Помогите плиз!!!!

Решение задачи: «Прошу помощи в написании VBS-скрипта»

textual
Листинг программы
  1. <font color="blue">option</font> <font color="blue">explicit</font>
  2.  
  3. <font color="#00AA00">' строка запуска для My_Proga_1.exe</font>
  4. <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>
  5.  
  6. <font color="#00AA00">' строка запуска для My_Proga_2.exe</font>
  7. <font color="blue">const</font> sProga2Run=<font color="teal">"My_Proga_2.exe"</font>
  8.  
  9. <font color="#00AA00">' максимальный размер архива</font>
  10. <font color="blue">const</font> iMaxArkhSize= <font color="darkblue"><b>524288</b></font>
  11.  
  12. <font color="blue">dim</font> idelay, boolExists
  13. <font color="blue">dim</font> objFSO, objWSHShell, objFolder, objFile
  14. <font color="blue">dim</font> sWorkingDir, sArkhPath, sRarRun
  15.  
  16. <font color="#00AA00">' величина паузы в цикле</font>
  17. idelay= <font color="darkblue"><b>2000</b></font>
  18.  
  19. <font color="#00AA00">' папка из которой запущен скрипт</font>
  20. sWorkingDir= replace(wscript.ScriptFullName, <font color="teal">"\"</font> & wsctipt.ScriptName, <font color="teal">""</font>)
  21.  
  22. <font color="#00AA00">' полный путь к архиву</font>
  23. sArkhPath= sWorkingDir & <font color="teal">"\MP3_Files.rar"</font>
  24.  
  25. <font color="#00AA00">' строка запуска для rar.exe</font>
  26. 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>
  27.  
  28. <font color="#00AA00">' объект: Scripting.FileSysytemObject</font>
  29. <font color="blue">set</font> objFSO= CreateObject(<font color="teal">"Scripting.FileSysytemObject"</font>)
  30.  
  31. <font color="#00AA00">' объект: WScript.Shell</font>
  32. <font color="blue">set</font> objWSHShell= CreateObject(<font color="teal">"WScript.Shell"</font>)
  33.  
  34. <font color="#00AA00">' объект: папка из которой запуцщен скрипт</font>
  35. <font color="blue">set</font> objFolder = setFSO.GetFolder(sWorkingDir)
  36.  
  37. <font color="#00AA00">' запуск My_Proga_1.exe без ожидания завершения и пауза в 5 минут</font>
  38. objWSHShell.Run sProga1Run,<font color="darkblue"><b>1</b></font>,false
  39. wscript.sleep <font color="darkblue"><b>300000</b></font>
  40.  
  41. <font color="blue">do</font>
  42. <font color="#00AA00">' ?есть *.mp3</font>
  43. <font color="#00AA00">' да: запаковать </font>
  44. <font color="#00AA00">' флаг наличия .mp3 фалов</font>
  45. boolExists= false
  46. <font color="#00AA00">' для каждого файла в папке objFolder: если имя файла оканчивается на <font color="teal">".mp3"</font></font>
  47. <font color="#00AA00">' установить флаг boolExists, выйти из цикла for each</font>
  48. <font color="blue">for</font> <font color="blue">each</font> objFile <font color="blue">in</font> objFolder
  49. <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>
  50. boolExists=true
  51. <font color="blue">exit</font> <font color="blue">for</font>
  52. <font color="blue">end</font> <font color="blue">if</font>
  53. <font color="blue">next</font>
  54. <font color="#00AA00">' если установлен флаг boolExists запустить rar.exe, дождаться окончания его работы</font>
  55. <font color="blue">if</font> boolExists <font color="blue">then</font> objWSHShell.Run sRarRun,<font color="darkblue"><b>1</b></font>,true
  56. <font color="#00AA00">' ?есть MP3_Files.rar</font>
  57. <font color="#00AA00">' да: ?размер MP3_Files.rar > 524288</font>
  58. <font color="#00AA00">' да: запустить /wait My_Proga_2.exe</font>
  59. <font color="#00AA00">' REM наличие архива можно также проверить косвенно - по флагу boolExists</font>
  60. <font color="blue">if</font> objFSO.FileExists(sArkhPath) <font color="blue">then</font>
  61. <font color="blue">set</font> objFile= objFSO.GetFile(sArkhPath)
  62. <font color="blue">if</font> objFile.Size > iMaxArkhSize <font color="blue">then</font> objWSHShell.Run sProga2Run,<font color="darkblue"><b>1</b></font>,true
  63. <font color="blue">end</font> <font color="blue">if</font>
  64. <font color="#00AA00">' пауза </font>
  65. wscript.sleep idelay
  66.  
  67. <font color="#00AA00">' завершить цикл при наличии в папке из которой запущен скрипт</font>
  68. <font color="#00AA00">' файла с именем STOPLOOPING.FLAG ( фича )</font>
  69. boolExists= objFSO.FileExists(sWorkingDir & <font color="teal">"\STOPLOOPING.FLAG"</font>)
  70. <font color="blue">loop</font> <font color="blue">until</font> boolExists
  71.  
  72. wscript.quit

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут