PDA

Показать полную графическую версию : перенос НЕ открытых документов в другую папку


SaTaNick
09-12-2009, 17:31
есть папка с подпапками! Необходимо перенести все не открытые документы (txt,doc,xls) в другую папку! Как реализовать?

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

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

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

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

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

amel27
10-12-2009, 08:10
Зачем сие действо (перенос, за исключением открытых в данный момент) »
возможно, проблема в прерывании при операции над открытым объектом, придется перебирать все файлы:
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
версии MS Office » - 2007, все это локально!

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

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




© OSzone.net 2001-2012