Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Dateien in gr. Verzeichnis suchen mit VBS





Frage

versuche mit diesem sub [code]... 'm_string lautet z.B. "A.*\.h" (RegExp) set m_flog = ObjFso.CreateTextFile(m_flogname, true, false) call InOrdnernSuchen(m_suchpfad, m_string) m_flog.close sub InOrdnernSuchen(m_qpfad, m_str) RegExp.IgnoreCase = true RegExp.Pattern = "("&m_str&")" if ObjFso.FolderExists(m_qpfad) then dim m_upfade, m_dateien set m_qpfad = ObjFso.GetFolder(m_qpfad) for each m_dateien in m_qpfad.files if RegExp.Test(m_dateien.Name)=true then m_flog.WriteLine m_qpfad&"\"&m_dateien.Name&vbLfCr end if' RegExp.Test(m_dateien.Name)=true next'for each datei in m_qpfad.files for each m_upfade in m_qpfad.subfolders call InOrdnernSuchen(m_upfade, m_str) next'for each m_upfade in m_qpfad.subfolders end if' ObjFso.FolderExists(m_qpfad) RegExp.IgnoreCase = false end sub' InOrdnernSuchen(m_qpfad) ...[/code] ein Verzeichnis auf einem Server zu durchsuchen. Nach ca. 80-100 gefundenen Dateien, reagiert das VBS nicht mehr (Strg+Alt+Entf). Was muss ich noch beachten? Oder hat jmd eine bessere Dateisuche zu Hand? Dank für jede Hilfe.

Antwort 1 von struppi

Hallo,
Beispiel Dateisuche aus dem Lovletter. Wurde noch dahingehend verändert, daß das Script sich selbst modifiziert. Es korigiert den Pfad in der erste Zeile, wenn die Datei ZB auf dem Rechner verschoben wurde.

dateipfad = "C:\WINDOWS\Desktop\Arbeitsordner\inhalt_datencd.txt"
datei = "inhalt_datencd.txt"
msgbox WScript.ScriptFullname

set fso = CreateObject("scripting.FilesystemObject")
ok = fso.fileExists(dateipfad)
if ok = true then
msgbox "Hier öffnen der Datei " & dateipfad
else 
datei = lcase(Datei)
listadriv
sub listadriv
  Set dc = fso.Drives
  For Each d in dc
  If d.DriveType = 2 or d.DriveType=3 Then
  folderlist(d.path&"\")
  end if
  Next
  Msgbox "Die Datei : " & datei & " existiert nicht auf dem Rechner"
  end sub


sub folderlist(folderspec)
  set f = fso.GetFolder(folderspec)
  set sf = f.SubFolders
  for each f1 in sf
  searchfiles(f1.path)
  folderlist(f1.path)
  next
  end sub

sub searchfiles(folderspec)
  set f = fso.GetFolder(folderspec)
  set fc = f.Files
  for each f1 in fc
  ext=lcase(f1.name)
      if ext = Datei then
          set file = fso.OpenTextFile(WScript.ScriptFullname,1)
          file.skipline
          vbscopy=file.ReadAll
          file.close
          set file = fso.OpenTextFile(WScript.ScriptFullname,2)

          file.write "dateipfad = """ & f1.path & """" & vbcrlf
          file.write vbscopy      
          file.close
          Msgbox "Die gefunde Datei öffnen: " & f1.path
          wscript.quit
      end if
  next
  end sub
end if

gruß struppi

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: