Компьютерный форум 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=159691)

SaTaNick 09-12-2009 17:31 1290700

перенос НЕ открытых документов в другую папку
 
есть папка с подпапками! Необходимо перенести все не открытые документы (txt,doc,xls) в другую папку! Как реализовать?

Iska 09-12-2009 17:39 1290708

1. В чём могут быть открыты документы, по каждому типу: txt, doc, xls? Перечислите.
2. Какая операционная система?

SaTaNick 09-12-2009 17:49 1290716

1. Word, excel, Текстовые редакторы(блокнот, Bred2, Notepad++, возможно и другие) вообщем используемые файлы в текущий момент
2. WinXP SP3 + Pre-SP4 v.9.11.28

Iska 09-12-2009 23:34 1291065

SaTaNick, какие конкретно версии MS Office используются? Как могут быть открыты файлы: локально, по сети или и локально, и по сети?

Сразу скажу, что, в случае локального открытия файлов приложениями «Блокнот», «Bred2/3», «Notepad++», определить данное обстоятельство постфактум — весьма проблематично, поскольку ни одно из этих приложений не держит загруженный документ открытым (как, например, Word/Excel). Можно, конечно, поиграться с отслеживанием классов открытых окон и их заголовков, но без гарантии.

Зачем сие действо (перенос, за исключением открытых в данный момент) нужно, какова, так сказать, глобальная цель?

amel27 10-12-2009 08:10 1291241

Цитата:

Цитата Iska
Зачем сие действо (перенос, за исключением открытых в данный момент) »

возможно, проблема в прерывании при операции над открытым объектом, придется перебирать все файлы:
Код:

On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")

MoveDir "C:\TEST\FROM", "C:\TEST\TO"

Sub MoveDir(sDirFrom, sDirTo)
  On Error Resume Next
  Dim oD, cF, cD, oI, sD

  Set oD = objFSO.GetFolder(sDirFrom)
  Set cF = oD.Files
  Set cD = oD.SubFolders

  For Each oI In cF
    oI.Move sDirTo &"\"
  Next

  For Each oI In cD
    sD = sDirTo & "\" & oI.Name
    If Not objFSO.FolderExists(sD) Then objFSO.CreateFolder sD
    MoveDir oI.Path, sD
  Next

' If oD.Size = 0 Then oD.Delete
End Sub


SaTaNick 10-12-2009 15:15 1291534

Цитата:

Цитата Iska
версии MS Office »

- 2007, все это локально!

Возможно ли это без текстовых (*.txt) файлов?

Цитата:

Цитата Iska
глобальная цель? »

Все просто! Лень искать в подпаках не открытые (не используемые) файлы и переносить их в отдельную папку по одиночке для последующего анализа!
может bat'ником это можно сделать?


Время: 05:32.

Время: 05:32.
© OSzone.net 2001-