Я новичок в VB Script, но так как он прост, поэтому я взял два фрагмента кода из Интернета и соединил их в один для выполнения своей задачи.
В основном то, что я хочу, эточтобы запустить приложение с именем «MapForce.exe» и создать выходной файл, затем создайте новый каталог и скопируйте этот файл также в этот новый каталог.
Код прост:
'This is the line to call MapForce.exe and produce output file.
createObject("wscript.shell").exec "C:\Program Files\Altova\MapForce2011\MapForce.exe 834toASCII.mfd /BUILTIN /LOG ACS.log"
'These are the lines to copy that output file to the new folder:
sourceDir = "C:\Documents and Settings\Robert\test\result.txt"
destinationDir = "C:\Documents and Settings\Robert\test\"
const OverwriteExisting = True
strDirectory = destinationDir & replace(Month(date),"/","_") & " TOU"
Set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(strDirectory) then
Set objFolder = fso.CreateFolder(strDirectory)
end if
fso.CopyFile sourceDir & "*.*", strDirectory & "\", OverwriteExisting
Теперь это работает: Mapforce.exe запускается, генерируется вывод, создается новая папка и файл копируется в новую папку.Но вопрос в том, что MapForce потребуется больше времени для завершения и создания самого нового выходного файла, поэтому для завершения строки 1 требуется больше времени, однако остальные строки задачи копирования не ждут, пока она завершится, поэтомуфайл копируется в новую папку, всегда старая, а не самая новая, сгенерированная приложением.
Другими словами, оставшиеся строки спешат завершить задачу, не обращая внимания на первую строку(который запускает приложение MapForce) завершается или нет.
Поэтому мне интересно, могли бы эксперты дать мне совет о том, как заставить оставшиеся строки ждать окончания первой строки и генерировать новейшие выходные данные?