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

pasha_mayerov 08-11-2018 15:21 2839890

проверка наличия файла в сети
 
Доброго времени.
Ситуация следующая. есть скрипт проверяющий по ip из файла доступны ли пк, записывая лог файл результат.
теперь надо проверить наличие файла на доступных пк.
скрипт проходит, но лог пуск
Код:

set FSO = CreateObject("Scripting.FileSystemObject")
CompList = "PingLogs.txt"
Logs = "FileLogs.txt"

set f = FSO.OpenTextFile(CompList, 1, false)
set fLogs = FSO.OpenTextFile(Logs, 2, true)



WScript.Echo "Finish"

f.Close
fLogs.Close

WScript.Quit

ShowSubFolders FSO.GetFolder("%WINDIR%\folder")

Sub ShowSubFolders(Folder)
    For Each Subfolder in Folder.SubFolders
        objFile.WriteLine "%WINDIR%\folder" & Subfolder.path
                For Each file In Subfolder.files
                If file.name = "document.txt" Then
                objFile.WriteLine "ok!"
                i=1
                Exit For
                End If
                Next
                If i =0 Then
                          objFile.WriteLine "error!"
                End If
                i=0
        ShowSubFolders Subfolder
    Next
End Sub


Iska 08-11-2018 18:21 2839913

Цитата:

Цитата pasha_mayerov
теперь надо проверить наличие файла на доступных пк. »

Какой файл? По какому пути к удалённому ресурсу?

Цитата:

Цитата pasha_mayerov
скрипт проходит, но лог пуск »

Переведите на русский, пожалуйста.

pasha_mayerov 09-11-2018 13:25 2840016

осталась проблема с поиском по сети.


мне надо узнать есть ли файл текстовый документ.тхт на компьютерах указанных в файле PingLogs.txt и записать в отчет FileLogs.txt результат
Код:

set FSO = CreateObject("Scripting.FileSystemObject")
CompList = "PingLogs.txt"
Logs = "FileLogs.txt"

set f = FSO.OpenTextFile(CompList, 1, false)

set fLogs = FSO.OpenTextFile(Logs, 2, true)

Do While f.AtEndOfStream <> true
 CompName = f.ReadLine

 path = Unescape("\\" &CompName&"\Новая папка")
 
 IF FSO.FolderExists(path) THEN
        CheckFileInFolder CompName, FSO.GetFolder(path)
 Else
        fLogs.WriteLine CompName & " error!"
 END IF
 
loop


WScript.Echo "Finish"

f.Close
fLogs.Close

WScript.Quit

Sub CheckFileInFolder(CompName, Folder)
        Dim finded
        finded = false
    For Each file In Folder.files
                IF file.name = "текстовый документ.тхт" Then
                                finded = true
                                Exit For
                    End If
        Next
       
        If finded then
                fLogs.WriteLine CompName & " ok!"
        Else
                fLogs.WriteLine CompName & " error!"
        end if
       
End Sub


Iska 09-11-2018 16:47 2840045

Цитата:

Цитата pasha_mayerov
осталась проблема с поиском по сети. »

Проблема осталась не с поиском по сети, а с формулировкой задачи.

megaloman 09-11-2018 17:30 2840050

Цитата:

Цитата pasha_mayerov
мне надо узнать есть ли файл текстовый документ.тхт на компьютерах

объясните, известны ли не только IP компьютеров, но и имя расшаренной папки, путь к файлам, если это жестко однообразно задано на каждом компьютере, или надо просмотреть на каждом компьютере все расшаренные папки и делать поиск по всем обнаруженным? Опять же, каков при этом уровень вложенности папки, в которой может находиться искомый файл?

pasha_mayerov 19-11-2018 11:14 2841437

известны ip компьютеров, путь к файлу, имя файла. путь жесткий. уровень вложенности 4

pasha_mayerov 19-11-2018 16:03 2841488

главная проблема невнимательность. запрос рабочий путь не правильно был указан.


Время: 22:02.

Время: 22:02.
© OSzone.net 2001-