Vraag : vb neem ruimte op

Hello. Ik heb een manuscript dat van een configdossier leest en dossiereigenschappen (dossiergrootte, version×tamp) terugwint en verzend de output naar een txtdossier. Hoe ik het manuscript kan wijzigen om het volgende te omvatten:
1. Momenteel worden timestamp en de datum vastgesteld aan de stroom (wanneer de manuscriptlooppas). Wil het plaatsen aan de laatste tijd het dossier die modified.
2 was worden teruggewonnen. omvat een ruimte tussen elke serveroutput. Bijvoorbeeld, krijgen verscheidene servers eigenschappen voor adobe, anderen voor Java. Van een ruimte na de adobeoutput en vóór output java.

Example zou houden: 2:02
2/01/2009: 19 PM: 10.x.x.1 c:\Program Files\adobe\name.exe 1.0.0.1
2660352 Bytes
2/01/2009 2:02: 19 PM: 10.x.x.2 c:\Program Files\adobe\name.exe 1.0.0.1
2/01/2009/>2660352 van Bytes
(1 lijn hier ruimte): 19 PM: 10.x.x.3 c:\Program Files\java\name.exe 1.0.0.1
2660352 Bytes
2/01/2009 2:02: 19 PM: 10.x.x.4 c:\Program Files\java\name.exe 1.0.0.1
2660352 Bytes

3. Omvat een aantaltelling voor elke result.
Example:
1. het 2:02 van 2/01/2009: 19 PM: 10.x.x.4 c:\Program Files\java\name.exe 1.0.0.1
2660352 Bytes
2. het 2:02 van 2/01/2009: 19 PM: 10.x.x.5 c:\Program Files\java\name.exe 1.0.0.1
2660352 Bytes

4. Verplaats de lijn van de grootteoutput (voorbeeld hieronder) naar de zelfde lijn. Momenteel, verschijnt de dossiergrootte in de output op volgende line

Example: 2:02
2/01/2009: 19 PM: 10.x.x.1 c:\Program Files\adobe\name.exe 1.0.0.1
2660352 Bytes
2/01/2009 2:02: 19 PM: 10.x.x.2 c:\Program Files\adobe\name.exe 1.0.0.1
2660352 Bytes
(zou moeten zijn)
1. het 2:02 van 2/01/2009: 19 PM: 10.x.x.2 c:\Program Files\adobe\name.exe 1.0.0.1 2660352 Bytes
2. het 2:02 van 2/01/2009: 19 PM: 10.x.x.2 c:\Program Files\adobe\name.exe 1.0.0.1 2660352 Bytes

script:

Dim strServer
Dim strUsername
Dim strPassword
Dim StrFilename
Dim fConfig
dim objNetwork

Const ForReading = 1

Set objNetwork = CreateObject („WScript.Network“)

strOutputFile = „C:\outputfile.txt "

Set objFSO = CreateObject („Scripting.FileSystemObject“)

set fConfig = objOutputFile objFSO.OpenTextFile („config.txt“, Valse ForReading,)

Set = objFSO.CreateTextFile (strOutputFile, Waar, Waar)

do tot/> strLine fconfig.atendofstream
als Verlaten UCase ((strLine, 6)) = „SERVER“ toen strServer = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
als Verlaten UCase ((strLine, 8)) = „GEBRUIKERSBENAMING“ toen strUsername = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
als Verlaten UCase ((strLine, 8)) = „WACHTWOORD“ toen strPassword = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
als Verlaten UCase ((strLine, 8)) = „FILENAME“ toen strFileName = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
als strServer <> "" en strUsername <> "" en strPassword <> "" en strFileName <> "" Then
als (strServer) = Ware/> processfile strServer pingel Then Else
strServer &“ is off-line. „
Eind If
strServer = ""
strUsername = ""
strPassword = ""
strFileName = ""
Eind gebeëindigde If
Loop

objOutputFile.Close
MsgBox „. „(strSvr, strUser, strPass, strFilePath)
Schemerige strMsg

Function ProcessFile, strVersion, timestamp
op Fout hervat Next
objnetwork.removenetworkdrive „z: “, Waar, True
Err.Clear
objnetwork.mapnetworkdrive „z: “, „\ \“ & strSvr & „\ C$“, Vals, strUser, strPass
als Err.Number <> 0 Then
MsgBox „Fout die in kaart brengen aan“ & strSvr & „. Gelieve te controleren u aan de server kunt in kaart brengen.“ & VbCrLf & „Fout“ & Err.Number & „: “ & Zorgen Err.Description
Err.Clear
Else
op Fout GoTo 0
„het dossier exists
ervoor als objFSO.FileExists (strFilePath) = Valse Then
strMsg = strFile & „- gevonden niet Dossier. „
Else
“ krijgt de Versie van het Dossier en zette het in een strVersion van String
= objFSO.GetFileVersion (strFilePath)
strMsg = strSvr & „„& strFilePath &“ „& schrijft strVersion
strtimestamp = tijd ()
Eind If

'nu het koord van het Bericht aan het Dossier van de Output (met een Cr LF)
objOutputFile.Write &“: „& strMsg &/> Vastgestelde ffile VbCrLf
)
objoutputfile.writeline objfso.getfile ffile.size &“ van Bytes "

Eind If
objnetwork.removenetworkdrive „z: “, Waar, pingelt True
Err.Clear
op Fout GoTo 0
End Function

Function (strComputer)/> Schemerige objShell Geplaatst objShell = CreateObject („WScript.Shell“)
boolCode = objShell.Run („pingel - n 1 - w 300“ & strComputer, Ware 0,)
als boolCode = 0 Then
= True
Else
pingelen = False
Eind If
End Function

Thanks vooraf.
pingelen

Antwoord : vb neem ruimte op

Hallo, heb ik dit een beetje…. getestgeef dit een schot.

Achting,

Rob.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
Schemerige strServer
Schemerige strUsername
Schemerige strPassword
Schemerige StrFilename
Schemerige fConfig
Schemerige objNetwork
Schemerige strPreviousFileName
Schemerige intProgramCounter

strPreviousFile = ""
intProgramCounter = 0

Const ForReading = 1

Reeks objNetwork = CreateObject („WScript.Network“)

strOutputFile = „outputfile.txt“

Reeks objFSO = CreateObject („Scripting.FileSystemObject“)

reeks fConfig = objFSO.OpenTextFile („config.txt“, Valse ForReading,)

Vastgestelde objOutputFile = objFSO.CreateTextFile (strOutputFile, Waar, Waar)

doe tot fconfig.atendofstream
      strLine = fconfig.readline
      Als Verlaten UCase ((strLine, 6)) = „SERVER“ toen strServer = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
      Als Verlaten UCase ((strLine, 8)) = „GEBRUIKERSBENAMING“ toen strUsername = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
      Als Verlaten UCase ((strLine, 8)) = „WACHTWOORD“ toen strPassword = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
      Als Verlaten UCase ((strLine, 8)) = „FILENAME“ toen strFileName = Medio Versiering ((strLine, InStr (strLine, „=“) + 1))
      Als strServer <> "" en strUsername <> "" en strPassword <> "" en strFileName <> "" toen
            Als (strServer) = Waar toen pingel
                  'processfile strServer, strUsername, strPassword, „z:\“ & StrFilename
                  processfile strServer, strUsername, strPassword, strFilename
            Anders
                  objOutputFile.WriteLine strServer & „is off-line.“
            Beëindig als
            strServer = ""
            strUsername = ""
            strPassword = ""
            strFileName = ""
      Eind als
Lijn

objOutputFile.Close
Gebeëindigde MsgBox „. Gelieve te zien“ & strOutputFile

Functie ProcessFile (strSvr, strUser, strPass, strFilePath)
	Schemerige strMsg, strVersion, timestamp, strDriveLetter
	Op Fout hervat daarna
	objnetwork.removenetworkdrive „z: “, Waar, Waar
	Err.Clear
	strDriveLetter = Weggegaan (strFilePath, 1) & „$“
	objnetwork.mapnetworkdrive „z: “, „\ \“ & strSvr & „\“ & strDriveLetter, Vals, strUser, strPass
	Als Err.Number <> 0 toen
		Fout die van MsgBox de „in kaart brengen aan“ & strSvr & „. Gelieve te controleren u aan de server kunt in kaart brengen.“ & VbCrLf & „Fout“ & Err.Number & „: “ & Err.Description
		Err.Clear
	Anders
		Op Fout GoTo 0
		'Zorg ervoor het dossier bestaat
		intProgramCounter = intProgramCounter + 1
		Als objFSO.FileExists („Z:\“ & Medio (strFilePath, 4)) = Vals toen
			strMsg = strFilePath & „- gevonden niet Dossier. “
		Anders
			'Krijg de Versie van het Dossier en zet het in een Koord van het Bericht
			strVersion = objFSO.GetFileVersion („Z:\“ & Medio (strFilePath, 4))
			'Schrijf het koord van het Bericht aan het Dossier van de Output (met een Cr LF)
			Plaats ffile = objfso.getfile („Z:\“ & Medio (strFilePath, 4))
			strtimestamp = ffile.DateLastModified
			Als LCase (strPreviousFileName) <> Medio LCase ((Medio (strFilePath, 4), Medio InStrRev ((strFilePath, 4), „\“) + 1)) Dan
				intProgramCounter = 1
				objOutputFile.WriteLine ""
			Eind als
			strMsg = intProgramCounter & „. “ & strtimestamp & „„& strSvr &“ „& strFilePath &“ „& strVersion &“ „& ffile.size &“ Bytes "
		Eind als
		objOutputFile.WriteLine strMsg
		strPreviousFileName = Medio (strFilePath, InStrRev (strFilePath, „\“) + 1)
	Eind als
	objnetwork.removenetworkdrive „z: “, Waar, Waar
	Err.Clear
	Op Fout GoTo 0
De Functie van het eind

De functie pingelt (strComputer)
      Schemerige objShell, boolCode
      Reeks objShell = CreateObject („WScript.Shell“)
      boolCode = objShell.Run („pingel - n 1 - w 300“ & strComputer, Ware 0,)
      Als boolCode = 0 toen
            Pingel = Waar
      Anders
            Pingel = Vals
      Beëindig als
Beëindig Functie
Andere oplossingen  
 
programming4us programming4us