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, 1279 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
VB for Applications
gelöst VBS Suchen und Ersetzen bei UTF8 XML Dateien funktioniert nicht (7)

Frage von Nexxudus zum Thema VB for Applications ...

Windows Server
Windows 2003 Domäne durch 2016er ersetzen (3)

Frage von Cenion zum Thema Windows Server ...

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

Frage von Invisan zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (9)

Frage von AndreasOC zum Thema Exchange Server ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...