Переменная, которая включает все пути в vbscript для поиска файла - PullRequest
0 голосов
/ 23 февраля 2020

так что я пишу опасный файл (с предупреждением, конечно), я пошел, чтобы поместить переменную, включающую все пути в системе (очевидно, перед этим есть строка для установки переменной, но это то, что я ищу ) ex: C: / User / x / file.txt "-> x = Каждый каталог или путь. есть способ для переменной заменить x, чтобы компьютеру не приходилось сканировать часть компьютер, но каждый каталог сразу?

1 Ответ

0 голосов
/ 25 февраля 2020

Я не уверен, что это то, что вы ищете, но вот пример VBScript, который ищет все вхождения файла в родительской папке, сохраняет все пути в переменную (v), затем выводит результаты поиска папок, в которых файл был найден в родительской папке:

' File to locate under parent folder...
Dim file : file = "index.txt"
Dim parent : parent = "C:\Users\"

' Do the search for file under parent folder...
Dim StdOut : StdOut = ""
Dim StdErr : StdErr = ""
With CreateObject("WScript.Shell")
    With .Exec(.ExpandEnvironmentStrings("%COMSPEC% /C dir " & parent & file & " /S /B /A-D"))
        Do Until .StdOut.AtEndOfStream
            StdOut = StdOut & .StdOut.ReadAll()
            StdErr = StdErr & .StdErr.ReadAll()
        Loop
    End With
End With

' Parse StdOut search results and store paths in v...
Dim result, v : v = ""
For Each result In Split(StdOut, vbCrLf)
    If "" = v Then
        v = Replace(Replace(result, parent, ""), file, "")
    Else
        v = v & "|" & Replace(Replace(result, parent, ""), file, "")
    End If
Next
v = Split(v, "|")

' Output paths where file was found under parent...
Dim d
WScript.Echo "Found " & file & " in following folders under " & parent
For Each d In v
    WScript.Echo d
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...