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

Textstellen in mehreren Dateien mit batch editieren

Frage Microsoft

Mitglied: Tigerbaby

Tigerbaby (Level 1) - Jetzt verbinden

22.08.2008, aktualisiert 26.08.2008, 3969 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 Dateien mit Batch entpacken (9)

Frage von SirNoob zum Thema Batch & Shell ...

Batch & Shell
Cpl Dateien per Batch oder VBS öffnen (1)

Frage von Angelo131095 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

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

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...