Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] проверить занятость файла. (http://forum.oszone.net/showthread.php?t=311746)

Опиум 18-02-2016 13:08 2607471

проверить занятость файла.
 
Чем можно проверить файл на предмет занятости его процессом на запись?
Например скачивается большой файл сторонней программой, файл в директории доступен, но естественно пополняется. Нужно определить что файл отпустили и т.е. он полностью закачался.
Сел уже на дельфи кропать консольную утилиту)) но подумал, может есть уже решение...

Kazun 18-02-2016 13:31 2607482

handle - https://technet.microsoft.com/en-us/...or=-2147217396

PowerShell - http://stackoverflow.com/questions/9...ess-powershell

Опиум 18-02-2016 13:35 2607486

handle разве покажет занятый файл, если локальный лоадер сохраняет его на шару, а не локально?

Iska 18-02-2016 13:37 2607487

Цитата:

Цитата Опиум
Например скачивается большой файл сторонней программой, »

В этом случае надёжнее использовать в качестве «сторонней программы» какой-нибудь wget.exe, который запускается, загружает и завершается — таким образом отсутствует необходимость в дополнительных извращениях на предмет определения:
Цитата:

Цитата Опиум
проверить файл на предмет занятости его процессом на запись? »


Kazun 18-02-2016 13:40 2607488

Да, handle - покажет.

Код:

iexplore.exe      pid: 34688  type: File          64D4: \Device\Mup\testiso\files\Distr\ISO\altlinux-5.1-WM-Child-Inst-i586-ru-install-dvd.iso.saa9pgy.partial

Опиум 18-02-2016 13:46 2607490

Iska, Kazun,

да качаю wget-ом

но, не кажет закачиваемый файл.
Код:

D:\>handle -a | find /i "wget"
  424: Thread        wget.exe(6920): 8004
 12C4: Process      wget.exe(6920)
  58: Process      wget.exe(6920)
  E0: Process      wget.exe(6920)
wget.exe pid: 6920 MSK*******
  44: Thread        wget.exe(6920): 8004
  7C: Thread        wget.exe(6920): 8004
  9C: Thread        wget.exe(6920): 7748
  A0: Thread        wget.exe(6920): 7748

Kazun, все разобрался, надо
Код:

handle  -p wget
спасибо.

Iska 18-02-2016 14:05 2607496

Цитата:

Цитата Опиум
да качаю wget-ом »

Так зачем Вам тогда вообще что-то отслеживать, я не пойму?

Опиум 18-02-2016 14:32 2607510

Iska, не хочу лазить(править) в старый батник.

Iska 18-02-2016 15:07 2607531

Цитата:

Цитата Опиум
Iska, не хочу лазить(править) в старый батник. »

А что там править-то? Там строчку вставить на вызов wget с параметрами.

Опиум 18-02-2016 18:25 2607613

Наоборот. Батник с wget отлажен.

А второй процесс надо запустить когда wget закончит.

Foreigner 18-02-2016 20:23 2607672

Цитата:

Цитата Опиум
А второй процесс надо запустить когда wget закончит. »

А второй процесс запускается раньше?


Время: 11:16.

Время: 11:16.
© OSzone.net 2001-