Gå til innhold

Trenger hjelp med scripting av fil (VB-script)


Anbefalte innlegg

Skrevet

Hei!

 

Jeg holder på å redigere et login script på jobben. Det skal åpne en tekstfil og erstatte noen bolker med tekst med verdier den henter fra en database, og så kopiere den nye filen fra server til lokal maskin.

 

Det funker fint.

 

Per nå, kjører jeg replace slik:

strNewText = Replace(strNewText, "[aaaaa]", "")

 

Problemet er at jeg ikke klarer å erstatte blank-space, nærmere bestemt linjeskift.

I noen tilfeller ønsker jeg å fjerne den ene linja, og da må jeg jo erstatte den med tom string: "". Men; jeg ønsker også at den tomme linja som blir igjen OG den tomme linja under den igjen skal bli slettet. F eks at dette:

 

--

[aaaaa]

 

[bbbbb]

[ccccc]

[ddddd]

 

skal bli seende slik ut:

 

--

[bbbbb]

[ccccc]

[ddddd]

 

 

Noen som har noen tips til hvordan jeg kan gjøre dette?

Videoannonse
Annonse
Skrevet

Her har du et lite vbs script som reproduserer ditt eksempel. Så kan du tilpasse det videre selv.

strNewText ="--" & Chr(13) & "[aaaaa]" & Chr(13) & Chr(13) & _
"[bbbbb]" & Chr(13) & "[ccccc]" & Chr(13) & "[ddddd]"
MsgBox(strNewText) 'før
strNewText = replace(strNewText,"[aaaaa]", "")
strNewText = Replace(strNewText, Chr(13) & Chr(13),"")
MsgBox(strNewText) 'etter

Skrevet
Siden du heter csharp, kan du ikke bare gjøre det i C#?

Mye enklere der.

 

 

Tja, kanskje det hadde vært en mulighet. Tenkte ikke på det siden vi allerede har bøttevis av linjer med kode som kjøres i loginskript, og alt er VB script..så tenkte å fortsette med det.

Måtte eventuelt blitt som en .NET exe-fil som kjøres fra eksisterende skript, eller noe slikt da?

Skrevet
Her har du et lite vbs script som reproduserer ditt eksempel. Så kan du tilpasse det videre selv.

strNewText ="--" & Chr(13) & "[aaaaa]" & Chr(13) & Chr(13) & _
"[bbbbb]" & Chr(13) & "[ccccc]" & Chr(13) & "[ddddd]"
MsgBox(strNewText) 'før
strNewText = replace(strNewText,"[aaaaa]", "")
strNewText = Replace(strNewText, Chr(13) & Chr(13),"")
MsgBox(strNewText) 'etter

 

 

Hm, har ikke studert dette sååå nøye, men slik det ser ut ved første øyekast så forutsetter dette at strengene "Chr(13)" finnes i selve teksten slik at man kan søke etter dem?

 

I mitt tilfelle har jeg en ren-tekst fil som leses inn og legges i strNewText, og den inneholder ikke noen Chr(13)-strenger, kun "vanlige linjeskift" eller "Enter" om du skjønner...det er disse jeg må søke etter på et eller annet vis...desverre kan jeg ikke legge inn noen Chr(13) eller andre symboler i fila heller, da den brukes uten endringer i noen tilfeller - det er noen If-setninger i skriptet som styrer om disse linjeskiftene skal fjernes eller ikke.

Skrevet

Har du en txt-fil med vanlige linjeskift (enter) som for eksempel denne laget med notepad:

aaaa
bbbb
cccc
dddd

så får du hele fila som denne:

aaaabbbbccccdddd

dersom du med

readall

leser den inn i minFil og så bruker:

minFil =Replace(minFil,vbcrlf,empty)

Den siste linja viser hvordan du fanger opp og fjerner linjeskift (enter) i txt-filer ved hjelp av vbs script.

Skrevet
Har du en txt-fil med vanlige linjeskift (enter) som for eksempel denne laget med notepad:

aaaa
bbbb
cccc
dddd

så får du hele fila som denne:

aaaabbbbccccdddd

dersom du med

readall

leser den inn i minFil og så bruker:

minFil =Replace(minFil,vbcrlf,empty)

Den siste linja viser hvordan du fanger opp og fjerner linjeskift (enter) i txt-filer ved hjelp av vbs script.

 

 

Dette fungerte strålende, tusen takk!

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...