Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBScript - Wert verändern

Frage Entwicklung VB for Applications

Mitglied: Butterblume

Butterblume (Level 1) - Jetzt verbinden

24.07.2008, aktualisiert 11:07 Uhr, 4157 Aufrufe, 2 Kommentare

Hallo zusammen,
hier habe ich einen VBScript geschrieben zum in einer Datei den Wert nach "TEST=" zu verändern!!!
Das ist die Substitute.val Datei:

01.
[SUBSTITUTIONS] 
02.
GESCHWINDIGKEIT=                                                                                                                                                                                                             
03.
TIME=12:00:00 AM 
04.
SPURS=86 
05.
JAZZ=94 
06.
TEMPERATURE=82 
07.
GAME_TIME=15:04 
08.
BUSH=49.9% 
09.
GORE=50.1% 
10.
TEST=rot 
11.
 
12.
[PAGE_SELECTION] 
13.
PROJECT=default 
14.
PAGE=Sponsor0 
15.
PREVIEW=0 
16.
DISPLAY=0 
17.
TRANSITIONING=0 
18.
 
19.
[SPECIAL] 
20.
LOAD_VARIABLE_DLL=1
Nun musste ich in meinem Script das kompliziert machen mit Kopieren und Löschen, weil in VBS man die Dateien nicht verändern kann. Nur dazu schreiben.
Hier mein Code:

01.
Set MyFiles = CreateObject("Scripting.FileSystemObject") 
02.
Const ForReading = 1, ForWriting = 2 
03.
 
04.
strEingabe = InputBox("Geben Sie die Variable ein") 
05.
strNeueZeile = "TEST="& strEingabe 
06.
 
07.
varDatei="d:\Substitute.val" 
08.
varTmpDatei="d:\TestOut.val" 
09.
Set fin = MyFiles.OpenTextFile(varDatei, ForReading) 
10.
Set fout = MyFiles.OpenTextFile(varTmpDatei, ForWriting, True) 
11.
 
12.
strSearch = "TEST=" 
13.
 
14.
do while not fin.AtEndOfStream 
15.
       strline = fin.readLine() 
16.
       if instr(1,strline, strSearch) = 0 then		 
17.
               'Zu entfernende Zeile nicht gefunden, also Zeile ausgeben 
18.
               fout.writeline strline 
19.
	else fout.WriteLine strNeueZeile 
20.
	end if 
21.
loop 
22.
 
23.
 
24.
Dim fso, objFile 
25.
Set fso = CreateObject("Scripting.FileSystemObject") 
26.
Set objFile = fso.GetFile("d:\Substitute.val") ' hier mit Pfadangabe 
27.
objFile.Name = "d:\Substitute.txt" ' hier ohne Pfadangebe 
28.
 
29.
    
30.
   dateiAngabe="d:\Substitute.txt" 
31.
   Set fso = CreateObject("Scripting.FileSystemObject") 
32.
   fso.DeleteFile(dateiAngabe) 
33.
 
34.
 
35.
Set fso = CreateObject("Scripting.FileSystemObject") 
36.
Set objFile = fso.GetFile("d:\TestOut.val") ' hier mit Pfadangabe 
37.
objFile.Name = "Substitute.val" ' hier ohne Pfadangebe
Das ist nicht fertig, der Script wird viel umfangreicher. Aber ich mache alles Schrittweise.
So nun hier habe ich den Script aus 3 Scripte zusammengeführt. Alle haben funktioniert aber zusammen nicht.

P.S- eine .val Datei kann ich nicht löschen darum diese Umbenennung ins .txt.
Nun sehe ich den Fehler nicht. Kann mir jemand helfen???

LG, Kristy
Mitglied: bastla
24.07.2008 um 10:48 Uhr
Hallo Butterblume!

P.S- eine .val Datei kann ich nicht löschen darum diese Umbenennung ins .txt.
Das hat wohl nichts mit dem Dateityp zu tun, sondern eher mit der Tatsache, dass Du "fin" (und auch "fout") noch nicht geschlossen hast, daher nach der Zeile 21:
01.
fout.Close 
02.
fin.Close
Wenn Du Dir die Temp-Datei ersparen möchtest, könntest Du die gesamte Datei (mit .ReadAll und Split() am Zeilenende = vbCrLF) in ein Array einlesen, dieses durchlaufen, um die richtige Zeile zu finden, und in diese Zeile dann den neuen Wert schreiben. Am Ende müsstest Du mit Join() aus dem Array wieder einen zusammenhängenden Text machen und diesen mit .Write in die (inzwischen geschlossene und wieder zum Schreiben geöffnete) Eingabedatei schreiben.

Grüße
bastla
Bitte warten ..
Mitglied: Butterblume
24.07.2008 um 11:07 Uhr
Das mit dem Schliessen habe ich inzwischen auch gemerkt und geändert. Jetzt funktioniert das.
Ja mein Script ist einbischen zu kompliziert, viel unnötiges Zeug da ich selber nicht weiss, wie das geht.
Und mit Array habe ich nicht so viel Kenntnis darum gehe ich nicht drauf ein.
Aber ich schaue mal, vielleicht versuche ich doch mit Array.

Danke bastla.

LG, Kristy
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Exchange Server
Exchange 2007 Datenbank restore ohne Exchange zu verändern - SBS2008

Frage von pitamerica zum Thema Exchange Server ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

PHP
Bearbeitbares PDF verändern (PHP) (1)

Frage von WPFORGE zum Thema PHP ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...