---
title: "Läsa och ändra i textfil?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/112867-läsa-och-ändra-i-textfil"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "nisslass"
published: "2004-10-03T21:39:42.000Z"
updated: "2004-10-04T19:26:45.000Z"
replies: 9
views: 573
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/112867-läsa-och-ändra-i-textfil"
---

# Läsa och ändra i textfil?

## #1 — nisslass, 2004-10-03T21:39Z

Hejsvejs.

Jag har en config.cfg som ser ut såhär (endast 3 rader):

hostname "Nisses spelservice"
rcon_password "bananeregoa"
sv_password ""

Nu vill jag att man via ett asp-script skall få se följande information:

Ditt nuvarande hostname: Nisses spelservice

Behöver hjälp med hur jag får ut det nuvarande hostnamet ut CFG'n.

Man ska kunna ändra informationen men det är ju bara att generera en ny textfil och skriva över den som redan finns.

Permalänk: https://www.webforum.nu/p/112867

## #2 — J.N., 2004-10-04T09:00Z

HEJ!

FSO och Textstream är vad du behöver.
Jag tolkar din fråga som att du inte har problem att skapa en ny textfil, utan endast att läsa den, men jag tipsar om FSO också.

<http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject.html>
<http://www.devguru.com/Technologies/vbscript/quickref/textstream.html>

Permalänk: https://www.webforum.nu/p/1451683

## #3 — nisslass, 2004-10-04T10:13Z

Jag har inga problem att läsa filen men jag behöver en kodsnutt som tar ut nuvarande hostname.

Permalänk: https://www.webforum.nu/p/1451733

## #4 — J.N., 2004-10-04T10:15Z

HEJ!

Det var därför jag skickade med TextStream, där finns en metod som heter ReadLine, <http://www.devguru.com/Technologies/vbscript/quickref/textstream_readline.html>

Permalänk: https://www.webforum.nu/p/1451734

## #5 — nisslass, 2004-10-04T10:24Z

Jo..  men alltså.
Jag kan läsa varje rad utan problem och skriva ut texten utan problem. Men nu vill jag ju bara från "hostname "Nisses spelservice" " endast skriva ut "Nisses spelservice".

Jag är sämst på att formatera text. ;)

Permalänk: https://www.webforum.nu/p/1451740

## #6 — J.N., 2004-10-04T11:27Z

HEJ!

Jaaaasssssssåååååååå!
Var det SÅ enkelt :e 

1\. Varför skriver du in "hostname " i filen? Om ej behövs, är det klart från början.
2\. Replace(raden,"hostname ",""), dvs leta upp hostname, ersätt med inget.
3\. Finns den sista (och första) " också, gör Replace(Replace(raden,"hostname ",""),chr(34), "")
4\. Man kan använda ett RegExp som söker efter fnuttarna, och returnerar värdet emellan.

r: formaterade Replace felaktigt

Permalänk: https://www.webforum.nu/p/1451773

## #7 — Erik Juhlin, 2004-10-04T11:41Z

Glöm bara inte att...
hostname Warserver
...också är korrekt syntax i config filer för CS/liknande.

Permalänk: https://www.webforum.nu/p/1451779

## #8 — Erik Juhlin, 2004-10-04T11:47Z

> **J.N. skrev:**
>
> 1\. Varför skriver du in "Hostname " i filen? Om ej behövs, är det klart från början.

Hostname behövs i en config fil. Jag gissar att han vill använda det någon annanstans...

Eller är det så att du vill kunna ändra saker i config filen från en webbsida?
I så fall skulle jag gjort så här:

1\. Ha en templateconfig.cfg som du utgår ifrån varje gång du ska göra en ändring.
2\. I den finns hostname "\[HOSTNAME\]"
3\. Gör en replace på \[HOSTNAME\] till det du vill ha.
4\. Spara som config.cfg

Mycket enklare än att hålla på och förksa tolka config-filer. :)

Permalänk: https://www.webforum.nu/p/1451782

## #9 — Erik Juhlin, 2004-10-04T12:31Z

Kunde inte hindra mig själv från att göra två funktioner för config-filer. Den första hämtar ett värde ur configen (config-texten får man skicka in). Den andra byter ut ett värde i configen.

```
Function GetConfigCommandValue(ByVal sConfig, ByVal sCommandName)
	Dim objRegExp, mc
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Pattern = sCommandName & " ""(.*)"""
	Set mc = objRegExp.Execute(sConfig)
	Set objRegExp = Nothing
	
	If mc.Count Then
		GetConfigCommandValue = mc.Item(0).SubMatches(0)
	End If
	Set mc = Nothing
End Function

Response.Write GetConfigCommandValue("sv_cheats 0" & vbCrLf & "hostname ""SK Warserver""" & vbCrLf & "...", "hostname")

Function ReplaceConfigCommandValue(ByVal sConfig, ByVal sCommandName, ByVal sNewValue)
	Dim objRegExp, mc, mi
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Pattern = "(" & sCommandName & ") "".*"""
	
	ReplaceConfigCommandValue = objRegExp.Replace(sConfig, "$1 """ & sNewValue & """")
	Set objRegExp = Nothing
End Function

Response.Write ReplaceConfigCommandValue("sv_cheats 0" & vbCrLf & "hostname ""SK Warserver""" & vbCrLf & "...", "hostname", "EYE Warserver")
```

Dessa förutsätter dock att man angett värdet med citat-tecken...

Permalänk: https://www.webforum.nu/p/1451804

## #10 — nisslass, 2004-10-04T19:26Z

Funkar aldeles utmärkt.
Är till ett gäng CS-servrar. Kunderna skall kunna ändra lite själva och nu går det fin fint. :)

Permalänk: https://www.webforum.nu/p/1452092

---

Tråden på webben: https://www.webforum.nu/amne/asp/112867-läsa-och-ändra-i-textfil
