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
GELÖST

Textstellen in mehreren Dateien mit batch editieren

Frage Microsoft

Mitglied: Tigerbaby

Tigerbaby (Level 1) - Jetzt verbinden

22.08.2008, aktualisiert 26.08.2008, 3980 Aufrufe, 3 Kommentare

Hallo!

Ich weiss das Thema wurde schon mehrmals hier erwähnt.
Aber ich ein Laie was batch-skripting angeht und werde aus den meisten Antworten hier nicht schlau.
Vielleicht kann mir ja trozdem wer helfen!

WinXP
Mein Problem:

Ich habe 230 Ordner mit jeweils einer txt-Datei drin. (das sind preislisten)
In diesen txt-Dateien sind fehlerhafte Einträge die ich ändern muss.

Ich brauche ein Skript, daß alle Dateien ausliest ob der Eintrag " Inhalt" drinnen ist, und wenn ja dann in "xxx Inhalt" ändert.

Es geht mir primär um die 4 Leerzeichen vor "Inhalt". Diese 4 Leerzeichen muss ich mit "xxx " ersetzen.

Hilfe bitte!!!
Mitglied: TheJoker2305
22.08.2008 um 18:00 Uhr
Hi,
es hört sich jetzt zwar blöd an, aber ich habe so ein Problem mal mit Excel + VBA gelöst.


Kommt das Wort "Inhalt" in den Preislisten öfter (als ein Mal) vor ?

Setze mich da mal ran, wenn ich nachher @home bin, habe die datei irgendwo noch liegen...

Viele Grüße
TheJoker2305
Bitte warten ..
Mitglied: RiffRaff
23.08.2008 um 01:15 Uhr
Schau doch mal hier:

http://www.administrator.de/Batch_-_Leerzeilen_beim_auslesen_mit_for_Sc ...

das ist doch bestimmt gut anpassbar, oder?
Bitte warten ..
Mitglied: bastla
26.08.2008 um 00:20 Uhr
Hallo ThomasBerger!

Versuch's mal damit:
01.
@echo off & setlocal 
02.
set "Basis=D:\Dein Ordner" 
03.
set "Von=    Inhalt" 
04.
set "Nach=xxx Inhalt" 
05.
 
06.
set R=%temp%\ReplaceInFile.vbs 
07.
>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"):Set a=WScript.Arguments:T=fso.OpenTextFile(a(0)).ReadAll:If InStr(1,T,a(1),1)^>0 Then fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2),1,-1,1) 
08.
 
09.
for /d %%i in ("%Basis%\*.*") do ( 
10.
    echo %%i 
11.
    for %%t in ("%%i\*.txt") do ( 
12.
        cscript //nologo %R% "%%t" "%Von%" "%Nach%" 
13.
14.
)
Da Du den Namen der Textdatei nicht genannt hast, versucht der Batch, in sämtlichen in den Unterordnern von %Basis% gefundenen .txt-Dateien jedes Vorkommen von %Von% durch %Nach% zu ersetzen. Sollte der Name der Textdatei in jedem Ordner gleich sein, kannst Du diesen anstelle von "*.txt" in der Zeile 11 angeben.

Da "in der Datei" ersetzt wird (ohne Sicherungskopie), solltest Du zum Testen vielleicht nur einige Deiner 230 Ordner (bzw Kopien davon) verwenden .

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Textstellen vertauschen (7)

Frage von tefracky zum Thema Batch & Shell ...

Batch & Shell
gelöst Programme beenden Batch Dateien (3)

Frage von anmelder zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte