Volniy

|
Posted: Mon Aug 27, 2007 18:35 Post subject: |
|
|
Pazzi wrote: | 1. цикл приблизительно такой:
Code: | do
{
nextFile=FilesList.Readline();
var fFile=fso.GetFile(nextFile;
fFile.Copy(path,false);
WScript.Sleep(200);
}
while(!FilesList.atEndOfStream) |
|
Нету никакого смысла в создании объекта File если нужно только скопировать файл. FSO имеет для этого специальный метод:
Code: | {
nextFile=FilesList.Readline();
fso.CopyFile (nextFile, path, false);
WScript.Sleep(200);
} |
Насчет задержки могу только предположить (IMHO), что системе нужно некоторое время, чтобы посливать файловые буфера на диск.
Pazzi wrote: | 2. в идеале конеш чтоб показывалось и для каждого файла, какая его часть уже скопировалась) может можно как-то копировать вызовом виндосной апи-функции с сопутствующим открытием стандартного окна копирования? |
В принципе стандартный шелловский диалог копирования можно вызывать, просто вызывая шелловскую функцию копирования. Для этого даже существует специальный объект:
Code: | var oShell = WScript.CreateObject("Shell.Application"); |
готового примера использования не дам, я как-то не пользовался сам. Так что примеры поищи в сети.
Вот, например. Только что нашел Гуглом: http://www.script-coding.info/WSH/Shell.html
Пример взят именно оттуда (правда тут VB синтаксис, но думаю разберешься):
Code: | Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\WINDOWS")
objFolder.CopyHere("C:\AUTOEXEC.BAT") |
Pazzi wrote: | 3. тоесть модальным окно никак не сделать? |
Из скрипта? Это врядли. Скриптовые возножности в этом плане очень сильно ограничены. Это же фактически набор команд, при чем тут визуальный интерфейс? Ну мессадж бокс можно показать, ну окошко ввода строки, и это практически все. Хочешь GUI из скрипта - добавляй внешние визуальные объекты. Хотя, имхо, тут уж будет естественнее переходить на какой-то из языков программирования, позволяющий создавать графический интерфейс.
Pazzi wrote: | а фокус почему может терятся? |
А хз, видимо какое-то приложение затребовало его. У тебя же много чего одновременно работает. Кстати, я попробовал у себя запустить подобный скрипт и у меня такой потери фокуса после показа мессаги не происходит... |
|