View previous topic :: View next topic |
Author |
Message |
LA_
Joined: 07 Dec 2006 Posts: 31
|
(Separately) Posted: Wed Apr 18, 2007 23:31 Post subject: Автоматизация работы с VirtualDub |
|
|
необходимо автоматизировать работу с VirtualDub по сжатию файлов.
в настощий момент есть следующее в меню запуск:
Quote: |
команда: D:\Progs\VirtualDub\VirtualDub.exe
параметры: /s"D:\Progs\VirtualDub\conv760.vcf" /p%P%N,%O_mp4.%E /r /x
путь запуска: %P
|
данная команда сжимает текущий выделенный файл (*.avi) в файл вида *_mp4.avi.
Проблема в том, что это работает только с одним файлом. Нужно же сделать работу со всем выделенными файлами в виде очереди (т.е. в одной командной строке должны передаваться сразу все файлы (или должен создаваться joblist?), чтобы обрабатывались файлы не все сразу, параллельно, а последовательно
VirtualDub поддерживает следующие параметры
Quote: |
s <script> -- run script
/c -- clear job list
/r -- run job list
/x -- exit when jobs completed
/h -- disable crash handler
/p <src>,<dst> -- add batch job (file)
/b <src>,<dst> -- add batch job (directory)
/F <filter> -- load filter (note: uppercase F)
/fsck -- check the disassembler by crashing
|
|
|
Back to top |
|
|
skole
Joined: 31 Dec 2004 Posts: 162 Location: Россия, Оренбург
|
(Separately) Posted: Fri Apr 20, 2007 20:56 Post subject: |
|
|
если я правильно разобрался с параметрами ком строки, то вот код на vbs
Code: | Dim FSO, WSH, TempFile
Set WSH = CreateObject("WScript.Shell")
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set FSO = CreateObject("Scripting.FileSystemObject")
Program_Files = WSH.ExpandEnvironmentStrings("%ProgramFiles%")
Exe = (chr(34) & Program_Files + "\VirtualDub\VirtualDub.exe" & chr(34))
Do While Not TempFile.AtEndOfStream
File = TempFile.ReadLine
WSH.Run Exe & "/s""D:\Progs\VirtualDub\conv760.vcf""" & " " & "/p" & File & "," & File+"_mp4.avi" & " " & "/r" & "/x"
Loop |
в параметрах кнопки или строки запуска укажи "%L" именно в кавычках |
|
Back to top |
|
|
LA_
Joined: 07 Dec 2006 Posts: 31
|
(Separately) Posted: Mon Apr 23, 2007 00:11 Post subject: |
|
|
спасибо!
но не работает так, как надо
исправил. теперь скрипт запускает процессинг файлов последовательно, а не одновременно (исправлены параметры команды Run - object.Run(strCommand, [intWindowStyle], [bWaitOnReturn]) , также исправлены параметры командной строки
Code: |
Dim FSO, WSH, TempFile
Set WSH = CreateObject("WScript.Shell")
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set FSO = CreateObject("Scripting.FileSystemObject")
Exe = (chr(34) & "D:\Progs\VirtualDub\VirtualDub.exe" & chr(34))
Do While Not TempFile.AtEndOfStream
File = TempFile.ReadLine
Return = WSH.Run (Exe & " /s""D:\Progs\VirtualDub\conv760.vcf""" & " " & "/p""" & File & """,""" & File+"_mp4.avi""" & " " & "/r" & "/x", 1, true)
Loop
|
|
|
Back to top |
|
|
skole
Joined: 31 Dec 2004 Posts: 162 Location: Россия, Оренбург
|
(Separately) Posted: Mon Apr 23, 2007 20:12 Post subject: |
|
|
2LA_
ну я примерно набросал ))) с параметрами ком строки особо не разбирался ))) просто дал основу для размышления |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|