Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Windows Script Host 
Author Message
Volniy



PostPosted: Mon Aug 27, 2007 18:35    Post subject: Reply with quote

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:
а фокус почему может терятся?

А хз, видимо какое-то приложение затребовало его. У тебя же много чего одновременно работает. Кстати, я попробовал у себя запустить подобный скрипт и у меня такой потери фокуса после показа мессаги не происходит...
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group