iwan
Goto Top

VBS - Zeile nach Bedinung aus Ursprungsdatei löschen

folgendes Problem:
ich lese eine TXT-Datei ein, wo Computernamen drin stehen:
strCompListe = "C:\Temp\Test\done\0\0.txt"
Set objCompFile = fso.OpenTextfile(strCompListe, 1)
strComputer = objCompFile.ReadLine

danach werden Computerinfos abgefragt und diese in neue Dateien geschrieben
nun möchte ich aber, das wenn z.B. der Username ermittelt werden konnte, das der Computername aus der Liste gelöscht wird, so das ich am Ende in der strCompListe nur noch die Rechner drin habe, wo ich eben nicht die Daten ermitteln konnte, weil z.B. der PC offline oder keiner angemeldet war

nur wie mache ich das?
If objItem.Name <> "" then Lösche.strComputer.in.strCompListe??


*nachtrag*
wird nicht mehr benötigt, siehe mein Beitrag weiter unten

Content-ID: 75622

Url: https://administrator.de/contentid/75622

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

bastla
bastla 10.12.2007 um 12:44:11 Uhr
Goto Top
Hallo Iwan!

Du könntest es etwa so versuchen (ungetestet):
...
strCompListe = "C:\Temp\Test\done\0\0.txt"  
Set objCompFile = fso.OpenTextfile(strCompListe, 1)

strListeNeu = ""  
Do Until objCompFile.AtEndOfStream
    strComputer = objCompFile.ReadLine
    ...
    If objItem.Name = "" Then 'Computername bleibt in Liste  
        If strListeNeu <> "" Then 'nicht erster Eintrag, daher vorher eine Zeilenschaltung  
            strListeNeu = strListeNeu & vbCrLF & strComputer
        Else
            strListeNeu = strComputer
        End If
    End If
Loop
objCompFile.Close

'Liste neu schreiben  
Set objCompFile = fso.OpenTextfile(strCompListe, 2, True)
objCompFile.Write strListeNeu
objCompFile.Close

Grüße
bastla
Iwan
Iwan 10.12.2007 um 13:07:29 Uhr
Goto Top
da die Daten in Excel benötigt, bzw. dort weiter verarbeitet werden, werde ich das ganze nun direkt in Excel einbinden, was die Sache für mich wesentlich einfacher macht
trotzdem vielen Dank für den Tip, ich werde es bei Gelegenheit mal ausprobieren face-wink