Vi har en irc kanal med en bot (en mirc klient) der vedligeholder "blacklists".
Jeg har brug for et script der kan slette en bestemt linie, via linie nummeret i en txt fil. Det er nemlig i denne fil som vores blacklists bliver gemt.
Linie nummeret kommer fra en textbox. Det er dog vigtigt at hvis der bliver slettet fra midten af filen at de nedenstående linie bliver rykket op, så der ikke forekommer tomme linier.
Mit script til at tilføje til filen ser således ud: <% Dim fso, f, filespec Set fso = CreateObject("Scripting.FileSystemObject") filespec = Server.Mappath("../blacklists/blacklist_users.txt") Set f = fso.OpenTextFile(filespec,8)
hvis du lægger mærke til hvad scriptet gør, så "slettes" ikke linien. Linien bliver bare sprunget over.
scriptet fungerer fint for mig (selv med . : og /). Men du kan måske lave det lidt mere "bullet proof". Denne linie:
Dim strRest : strRest = objStream.ReadAll()
skal være:
Dim strRest : strRest = ""
if( not objStream.AtEndOfStream ) then strRest = objStream.ReadAll() end if
du kan også lave en
if( not objStream.AtEndOfStream ) then
omkring hele din do...loop, så prøver ikke scriptet at læse noget hvis filen ikke indeholder nogle linier:
if( not objStream.AtEndOfStream ) then do strCurrent = objStream.ReadLine if( counter = intDeleteLine ) then exit do else strPreDelete = strPreDelete & strCurrent & vbCrLf counter = counter + 1 end if
loop while not objStream.AtEndOfStream
Dim strRest : strRest = ""
if( not objStream.AtEndOfStream ) then strRest = objStream.ReadAll() end if Dim strContent : strContent = strPreDelete & strRest objStream.Close Set objStream = f.OpenAsTextStream(2) objStream.Write( strContent ) end if
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.