Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 1287 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 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 ...

Visual Studio
gelöst VBScript und WMI (Win32-NetworkAdapterConfiguration) (3)

Frage von MaxMoritz6 zum Thema Visual Studio ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (12)

Frage von kartoffelesser zum Thema LAN, WAN, Wireless ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (11)

Frage von Spitzbube zum Thema Netzwerke ...

Voice over IP
SNOM D765 an LancomR883VAW (10)

Frage von MS6800 zum Thema Voice over IP ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...