Avatar billede totalpc Seniormester
23. maj 2005 - 12:39 Der er 25 kommentarer og
1 løsning

hjælp til at læse indhold i txt fil

Jeg bruger nedenstående kode til at vise indhold af nogle tekstfiler på min server.
Kan man ikke få denne eller noget andet kode til at gå ind i tekstfilerne og søge efter ord som skipped og error. Og afhængig af hvad den finder skal der skrives noget ved siden af linket:
Fx

if skipped found = Response.write link + gul prik
if error found = Response.write link + rød prik
og ellers = Response.write link + grøn prik




<html>
<head>
<title>View_selected</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<link rel="stylesheet" type="text/css" href="style.css">
<SCRIPT LANGUAGE="JavaScript">
<!-- Idea by:  Nic Wolfe (Nic@TimelapseProductions.com) -->
<!-- Web URL:  http://fineline.xs.mw -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "',

'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=420,height=410,left =

276,top = 232');");
}
// End -->
</script>

</head>

<body bgcolor="232323">

<div align="center">

<table border="0" width="80%">
    <tr>
        <td align=center class=text2><b>-=[@ Mirror Backup logs @]=</b>-</td>
    </tr>
</table>

</div>

<div align="center">
  <center><br>
<table border="0" width="80%">
    <tr>
<td align=center class=text1>
<%
dato = request.querystring("dato")
opgave = request.querystring("opgave")
If opgave="" Then opgave="finddatoer"

If opgave="finddatoer" Then
  dim fs,fo,x
  set fs=Server.CreateObject("Scripting.FileSystemObject")
  set fo=fs.GetFolder("e:\mirror_backup_log\")
  for each x in fo.SubFolders
Response.write("<a href=""java script:popUp('backup3.asp?dato=" & x.Name & "&opgave=vislog')"">" &

x.Name & "</a><br>")
  next
  set fo=nothing
  set fs=nothing
End If

If opgave="vislog" Then
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("E:\mirror_backup_log\" & dato & "\mirror.log")
do while f.AtEndOfStream = false
Response.Write(f.ReadLine)
Response.Write("<br>")
loop
f.Close
Set f=Nothing
Set fs=Nothing
End If
%>
</td>
    </tr>
</table>
</div>

</body>
</html>
Avatar billede ttopholm Nybegynder
24. maj 2005 - 00:05 #1
If opgave="vislog" Then
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("E:\mirror_backup_log\" & dato & "\mirror.log")
i=0
do while f.AtEndOfStream = false
  MyArray(i) = f.ReadLine
  i=i+1
loop
f.Close
Set f=Nothing
Set fs=Nothing
End If

FOR i=0 to Ubound(i)
  if inStr(1, MyArray(i) , "skipped", 1) > 0 then
    response.write MyArray(i) & "gul prik<br>"
  elseif inStr(1, MyArray(i) , "error", 1) > 0 then
    response.write MyArray(i) & "rød prik<br>"
  else
    response.write MyArray(i) & "Grøn prik<br>"
  end if
next
Avatar billede ttopholm Nybegynder
24. maj 2005 - 00:05 #2
Noget ala det her
Avatar billede ttopholm Nybegynder
24. maj 2005 - 01:19 #3
en lille optimering:
If opgave="vislog" Then
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("E:\mirror_backup_log\" & dato & "\mirror.log")
i=0
do while f.AtEndOfStream = false
  if inStr(1, f.ReadLine , "skipped", 1) > 0 then
    response.write f.ReadLine & "gul prik<br>"
  elseif inStr(1, f.ReadLine , "error", 1) > 0 then
    response.write f.ReadLine & "rød prik<br>"
  else
    response.write f.ReadLine & "Grøn prik<br>"
  end if
loop
f.Close
Set f=Nothing
Set fs=Nothing
End If
Avatar billede ttopholm Nybegynder
24. maj 2005 - 01:20 #4
i=0 kan du også fjerne....
Avatar billede totalpc Seniormester
24. maj 2005 - 07:16 #5
Hejsa ttopholm


Jeg ville meget gerne hvis det kunne ændres til at det var oppe i If opgave="finddatoer" Then at den ved det link kunne vise en rød/gul/grøn prik!
Avatar billede ttopholm Nybegynder
24. maj 2005 - 08:22 #6
det er jo filer, der læser du jo ikke i dem..  men kun viser filnavnene.... men du kan bare rykke koden op i for-løkken
Avatar billede totalpc Seniormester
24. maj 2005 - 09:15 #7
Okay...men det kan være det skal laves på en anden måde så...
Det jeg gerne vil er at jeg har de her logfiler i hver deres mappe.
Jeg har så en side jeg går ind på og kan se logfilen for hver dag.
Men jeg ville jo gerne have en status sådan at jeg ikke behøver at kigge på filen hvis den alligevel er gået godt = grøn. Altså kun hvis der er en gul = warning eller rød = fejl behøver jeg så at klikke på linket og undersøge det nærmere...

Kan du hjælpe ?
Avatar billede ttopholm Nybegynder
24. maj 2005 - 10:17 #8
If opgave="finddatoer" Then
  dim fs,fo,x
  set fs=Server.CreateObject("Scripting.FileSystemObject")
  set fo=fs.GetFolder("e:\mirror_backup_log\")
  for each x in fo.SubFolders
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    Set f=fs1.OpenTextFile("E:\mirror_backup_log\" & x.Name & "\mirror.log")
    tekstindhold = f.ReadAll
    if inStr(1, tekstindhold  , "skipped", 1) > 0 then
            response.write "gul prik<br>"
      elseif inStr(1, tekstindhold  , "error", 1) > 0 then
            response.write "rød prik<br>"
      else
            response.write "Grøn prik<br>"
      end if
   
      f.Close
      Set f=Nothing
    Set fs1=Nothing
      Response.write("<a href=""java script:popUp('backup3.asp?dato=" & x.Name & "&opgave=vislog')"">" & x.Name & "</a><br>")
  next
  set fo=nothing
  set fs=nothing
End If
Avatar billede totalpc Seniormester
24. maj 2005 - 11:08 #9
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/backup3.asp, line 63

Det burde være denne linie :

Set f=fs1.OpenTextFile("E:\mirror_backup_log\" & x.Name & "\mirror.log")
Avatar billede ttopholm Nybegynder
24. maj 2005 - 11:16 #10
Set fs1=Server.CreateObject("Scripting.FileSystemObject")
    Set f=fs1.OpenTextFile("E:\mirror_backup_log\" & x.Name & "\mirror.log")

Så skulle den være fixet
Avatar billede totalpc Seniormester
24. maj 2005 - 11:38 #11
Det er bare så perfekt som det kan være...
Så kan jeg selv rode med resten..
Smid et svar......takker!
Avatar billede ttopholm Nybegynder
24. maj 2005 - 11:47 #12
Det var så lidt
Avatar billede totalpc Seniormester
24. maj 2005 - 12:59 #13
oki..et lille problem...
Hvis nu der er en
Skipped i første linie og en Error i næste linie i samme logfil.
Så bliver den vist som Gul fordi den går videre så snart den har set en 'skipped'

Ik ?
Avatar billede ttopholm Nybegynder
24. maj 2005 - 13:18 #14
jo....
Avatar billede totalpc Seniormester
24. maj 2005 - 19:47 #15
noget vi kan gøre noget ved ?
:o)
Avatar billede ttopholm Nybegynder
24. maj 2005 - 20:14 #16
Hvad skal der gøres... hvis den første den finder er skipped viser den gul
Avatar billede totalpc Seniormester
24. maj 2005 - 20:20 #17
Jamen .......
Hvis den nu finder en error skal den vise rød selvom der er skipped længere oppe teksten. Men hvis der ik er error, men en skipped skal den vise gul og ellers hvis hverken skipped eller error skal den være grøn.

Altså sådan at error er ligesom det slemmeste og derfor skal den vise RØD hvis det findes i teksten....

Så ellers skal den vise gul hvis der findes skipped og eller grøn...
Avatar billede ttopholm Nybegynder
24. maj 2005 - 20:28 #18
Du bytter bare rundt på skipped og error, sådan her:


    if inStr(1, tekstindhold  , "error", 1) > 0 then
            response.write "rød prik<br>"
      elseif inStr(1, tekstindhold  , "skipped", 1) > 0 then
            response.write "gul prik<br>"
      else
            response.write "Grøn prik<br>"
      end if
Avatar billede totalpc Seniormester
25. maj 2005 - 13:38 #19
Ja ok....nu kna jeg ik lige prøve nu, men vil man også kunne gøre noget ala det her :

if inStr(1, tekstindhold  , "error", 1) > 0 and inStr(1, tekstindhold  , "skipped", 1) > 0 then
response.write "rød prik<br>"
Avatar billede totalpc Seniormester
25. maj 2005 - 13:38 #20
eller or
Avatar billede ttopholm Nybegynder
25. maj 2005 - 13:50 #21
nej....

fordi med and skal de begge være til stede i teksten og med or, vil den vise rød, bare den ene er der

Så brug den jeg har foreslået....
Avatar billede totalpc Seniormester
25. maj 2005 - 14:24 #22
Oki...takker ... så lige et aller aller sidste spgm :o)

Nu har jeg så brugt koden til en anden slags logfiler også...... men nu kommer der :

ÿþB

Det er nøjagtig samme kode bare 2 forskellige slags filer......!?!

tjek

http://www.darkzone.dk/backup/mirror_backup.asp - virker

http://www.darkzone.dk/backup/mdaemon_backup.asp - giver ovenstående fejl.

Den anden slags fil ser således ud :
Backup Status
Operation: Backup
Active backup destination: File
Media name: "Media created 23-05-2005 at 09:22"

Backup of "C: "
Backup set #1 on media #1
Backup description: "Mdaemon backup"
Backup Type: Normal

Backup started on 23-05-2005 at 12:48.
Warning: The file \MDaemon\Logs\InstantMessaging.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-all.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-AntiSpam.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-AntiVirus.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-Content-Filter.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-DomainPOP.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-IMAP.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-MultiPOP.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-POP.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-RAW.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-Routing.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-SMTP-(in).log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-SMTP-(out).log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-Spam-Blocker.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-SPF.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-Statistics.log in use - skipped.
Warning: The file \MDaemon\Logs\MDaemon-System.log in use - skipped.
Warning: The file \MDaemon\Logs\WorldClient.log in use - skipped.
Backup completed on 23-05-2005 at 12:48.
Directories: 273
Files: 3129
Skipped: 18
Bytes: 152.528.072
Time:  32 seconds

----------------------

Men det er vel ligemeget ik ?
Avatar billede totalpc Seniormester
25. maj 2005 - 14:29 #23
Har lige prøvet at kopiere og omdøbe en af de filer som virkede og kaldt den det som de nye filer hedder.....så virker det. Det er altså et eller andet ... formatering eller noget i de filer?! Men det er jo bare txtfiler.....hmmm.... kan du hjælpe ?
Avatar billede ttopholm Nybegynder
25. maj 2005 - 14:32 #24
jeg kan nu ikke se nogen fejl ;-)
Avatar billede ttopholm Nybegynder
25. maj 2005 - 14:37 #25
Nu kan jeg godt se det....

Det tyder på noget formattering på filen...

Prøv se om du i Mdaemon kan gemme den anderledes
Avatar billede totalpc Seniormester
25. maj 2005 - 14:54 #26
Hmm..det ser ik sådan ud....
Og det er det samme med logfiler fra Windows NTBackup....
Belastende...det var jo mest det jeg skulle bruge det til :(
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester