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

Ersetzen per Vbscript

Frage Entwicklung Batch & Shell

Mitglied: Alme123

Alme123 (Level 1) - Jetzt verbinden

17.07.2013 um 13:54 Uhr, 1281 Aufrufe, 3 Kommentare

Hallo zusammen,


ich habe eine Datei (Datei.txt) mit folgendem Inhalt:

1230ABC

Diese Datei soll wie folgt ersetzt werden:

1 = 33
2 = 67
3 = 12

Dafür habe ich auch schon einen Code:

01.
Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("Alt.txt").ReadAll: fso.CreateTextFile("Datei.txt",False).Write Replace(T,"1","33") 
02.
Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("Alt.txt").ReadAll: fso.CreateTextFile("Datei.txt",False).Write Replace(T,"2","67") 
03.
Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("Alt.txt").ReadAll: fso.CreateTextFile("Datei.txt",False).Write Replace(T,"3","12")
Jedoch soll der ersetzte Wert (33) nicht noch einmal ersetzt werden!
Wie bekomme ich dies hin?

Vielen Dank im Vorraus,

Alme123
Mitglied: SlainteMhath
17.07.2013, aktualisiert um 14:12 Uhr
Moin,

Jedoch soll der ersetzte Wert (33) nicht noch einmal ersetzt werden!
Wie bekomme ich dies hin?
Wenn sich überlappungen ergeben so wie bei dir geht das nur manuell, d.h. jedes Zeichen in jeder Zeile der Datei durchlaufen und dann per select abprüfen... etwa so:
01.
Zeichen=mid(x,y,EingabeZeile) 
02.
select case Zeichen 
03.
  case is = "1" 
04.
    Zeichen="33" 
05.
    break 
06.
  case is = "2" 
07.
    Zeichen="67" 
08.
    break 
09.
  case is = "3" 
10.
    Zeichen="12" 
11.
    break 
12.
end select 
13.
AusgabeZeile=AusgabeZeile & Zeichen
Und dann eben die Datei neu schreiben

lg,
Slainte

/EDITH: Typos
Bitte warten ..
Mitglied: bastla
17.07.2013, aktualisiert um 23:00 Uhr
@ Slainte
Sähe ich auch so - syntaktisch hat das aber noch Potenzial :
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
T = fso.OpenTextFile("Alt.txt").ReadAll 
03.
For i = 1 To Len(T) 
04.
    Zeichen =  Mid(T, i, 1) 
05.
    Select Case Zeichen 
06.
    Case "1" 
07.
        AusgabeZeile = AusgabeZeile & "33" 
08.
    Case "2" 
09.
        AusgabeZeile = AusgabeZeile & "67" 
10.
    Case "3" 
11.
        AusgabeZeile = AusgabeZeile & "12" 
12.
    Case Else 
13.
        AusgabeZeile = AusgabeZeile & Zeichen 
14.
    End Select 
15.
Next 
16.
fso.CreateTextFile("Datei.txt").Write AusgabeZeile
Wenn es mehr als nur die 3 angeführten Ersetzungen geben sollte, würde sich ein "Dictionary" anbieten ...

Grüße
bastla
Bitte warten ..
Mitglied: SlainteMhath
18.07.2013 um 08:42 Uhr
Zitat von bastla:
[...] syntaktisch hat das aber noch Potenzial :
Zugegeben, VBScript ist nicht so das Ding in dem ich jeden Tag was bastle
Bitte warten ..
Ähnliche Inhalte
Windows 7
Windows 7: Per VBScript Netzwerkdrucker ersetzen (1)

Frage von donnyS73lb zum Thema Windows 7 ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Notebook & Zubehör
gelöst Taste ersetzen - wie? (6)

Frage von honeybee zum Thema Notebook & Zubehör ...

Windows 7
gelöst VBScript - HTML Probleme mit Schriftgröße (5)

Frage von MedicalAd zum Thema Windows 7 ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Vmware
VMware ESX - Start einer VM verhindern (19)

Frage von emeriks zum Thema Vmware ...

Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (18)

Frage von xbast1x zum Thema Rechtliche Fragen ...

iOS
IPhone wird ferngesteuert Hacker? (17)

Frage von Akcent zum Thema iOS ...