Top-Themen

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 Batch - Inhalt einer .txt verändern - Bitte um Steinigung

Mitglied: Nollosch

Nollosch (Level 1) - Jetzt verbinden

04.11.2011, aktualisiert 18.10.2012, 3614 Aufrufe, 6 Kommentare

Ich dachte es wäre schnell gemacht, aber ich lese und lese, schnall es aber einfach nicht.

Hallo Administratoren.

Ich habe folgende Themen durchforstet ...
Thema 1
Thema 2
Thema 3
Thema 4
Thema 5

... komme aber nicht auf die Lösung.

Ich habe eine .txt Datei (bzw. ini) mit mehreren Zeilen Text.

In dem Text gibt es ein Schlüsselwort das einmalig vorhanden ist. Dieses will ich ändern (in diesem Falle das aktuelle Datum anhängen) und die Datei wieder speichern.
Aktives Ändern wird nicht funktionieren, also temporär speichern und dann verschieben bzw umbenennen (dies traue ich mir zu).

Ich habe bisher die Zeile mit dem Schlüsselwort ausgelesen, geändert und abgespeichert. Aber wie schaffe bekomme ich den anderen unveränderten Text in die ping_ausgabe.txt?
Ich will also nur eine kleine Änderung (eine Zeile bzw würde auch die gesuchte Passage (asus) reichen) vornehmen + den restlichen Inhalt der Datei (restlichen Zeilen) einfach übernehmen.

01.
@echo off & setlocal enableDelayedExpansion
02.

03.
:: setze Zeit
04.
set date=%date%
05.
set yaer=%date:~8,4%
06.
FOR /F "tokens=1,2,3 delims=/. " %%a in ('date /t') do set CDATE=%%b%%a
07.

08.
:: suche Schlüsselwort
09.
for /F "delims=" %%i in ('findstr asus C:\123456789\ping.txt') do set "Line=%%i
10.
::speichere Änderung
11.
echo %Line%_%yaer%%CDATE% >>C:\123456789\ping_ausgabe.txt
12.
 
13.
::verzweifle ...
14.

15.
::temporäre Datei in Finale Datei umbenennen und an Zielort kopieren
16.
move /y C:\123456789\ping_ausgabe.txt c:\Finaler_Ort\ping.ini
In den Themen die ich verlinkt habe, scheint die Antwort zu stehen, ich kann sie aber einfach nicht sehen oder verstehen.

Bitte um Hilfe ...
Mitglied: Skyemugen
04.11.2011, aktualisiert 18.10.2012
Aloha,

nun, eventuell gefällt dir auch dieses Thema in dem es auch nur darum geht ein bestimmtes Wort gegen ein anderes zu ersetzen

set "Von=Schluesselwort"
set "Nach=%Von%_%date%"

oder statt Von eben Alt und statt Nach eben Neu der Rest ist c&p ...

greetz André
Bitte warten ..
Mitglied: miniversum
04.11.2011 um 16:05 Uhr
Jetzt ohne die verlinkten Beiträge gelesen zu haben funktioniert das ganze prinzipiell so:

1. Zeilennummer der zu ändernden Zeile herausfinden. Das geht z.B. über den Parameter /n des findstr Befehls.
2. Alles vor dieser Zeile in eine temponäre Datei schreiben (wieder Findstr mit parameter /N /R .* (so ungefär)
3. Die zu ändernde zeile ändern und an die temponäre Datei anhängen
4. Den Rest an die temponäre datei anhängen. Z.B. über der Befehl more +x
Bitte warten ..
Mitglied: Nollosch
05.11.2011 um 22:10 Uhr
@Skyemugen

Ich könnt dich knutschen.

Ich hab jetzt zwar nicht analysiert, was an dem Code anders ist als bei meinen Themen, aber dieses mal hab ich es teilsweise verstanden.

Ich muss mich dem Thema echt mal mehr annehmen.

Danke für den Thread-Link

@miniversum
die Theorie hab ich drauf, an der Umsetzung und den Codekenntnissen hapert es mir letztlich.

Trotzdem danke


Meinen kompletten Code poste ich demnächst dann hier.
Bitte warten ..
Mitglied: Nollosch
07.11.2011 um 13:50 Uhr
Hier der versprochene Code.


01.
@echo on & setlocal
02.
mode 133,88
03.

04.
set date=%date%
05.
set yaer=%date:~8,4%
06.
FOR /F "tokens=1,2,3 delims=/. " %%a in ('date /t') do set CDATE=%%b%%a
07.

08.
set "Ausgangsdatei=.\Text.txt"
09.
set "Von=Suchtext"
10.
set "Nach=Neuer-Text+Datum_%yaer%%CDATE%.txt"
11.
set "t=.\Text_NEU.txt"
12.

13.
if exist "%t%" del "%t%"
14.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Ausgangsdatei%"') do set "Line=%%j" & call :ProcessLine
15.
goto :eof
16.

17.
:ProcessLine
18.
setlocal enabledelayedexpansion
19.
(if defined Line (echo !Line:%Von%=%Nach%!) else (echo())>>"%t%"
20.
endlocal
21.

22.
goto :eof

Funktioniert so tadellos.

Danke nochmal für die Hilfe

P.S. Wenn ich die goto :eof ändere z.B. in goto :zwischenschritt um noch etwas kleines einzufügen, stürzt die .bat sang und klanglos ab.
Kann man in einem Satz sagen wieso das so ist? Ich verstehe eof als "mach Schluss" wenn Fall nicht zutreffend.
Bitte warten ..
Mitglied: Skyemugen
07.11.2011 um 15:07 Uhr
Aloha,

erst einmal: set date=%date% == sinnfrei?
und dann set yaer=%date:~8,4% == year und die Frage 8 Stellen überspringen (von 10) und 4 Stellen anzeigen? ... ergibt 2 vorhandene Stellen dennoch nur ... == set year=%date:~-2%
Dann
Wenn ich die goto :eof ändere
beide? Au weia, das zweite goto :eof sorgt dafür, dass es zurück zur Hauptablauf (Schleife) geht ... was du aus dem ersten goto :eof machst, ist dir überlassen, solange es zu einem Ziel nach Zeile 22 führt.

greetz André
Bitte warten ..
Mitglied: Nollosch
10.11.2011 um 16:15 Uhr
Zitat von Skyemugen:
erst einmal: set date=%date% == sinnfrei?
hast Recht .. ein Überbleibsel ... irgendwas wollt ich daraus noch machen
und dann set yaer=%date:~8,4% == year und die Frage 8 Stellen überspringen (von 10) und 4 Stellen anzeigen? ...
ergibt 2 vorhandene Stellen dennoch nur ... == set year=%date:~-2%
Da war ich wohl etwas großzügig ... hinten raus 8,2 reicht natürlich auch
> Wenn ich die goto :eof ändere
beide? Au weia, das zweite goto :eof sorgt dafür, dass es zurück zur Hauptablauf (Schleife) geht ... was du aus dem
ersten goto :eof machst, ist dir überlassen, solange es zu einem Ziel nach Zeile 22 führt.
Fehler erkannt und gebannt.

Großen Dank nochmal!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Txt Inhalt in batch variabel verwenden
gelöst Frage von quan81Batch & Shell17 Kommentare

Liebes Forum ich bin neu dabei und freu mich wenn mir jemand helfen kann. Ich versuche per .bat file ...

Batch & Shell

Inhalt einer .txt als eine Variable setzen mit Batch

gelöst Frage von AlexIOTBatch & Shell3 Kommentare

Hallo Zusammen, In der Variable.txt steht immer nur ein einziger Rechnername! - wie folgt: EW085IDFV001 Ich möchte das dieser ...

Batch & Shell

Batch: Inhalt zweier Txt Dateien vergleichen und doppelte Einträge löschen

gelöst Frage von cced-deBatch & Shell3 Kommentare

Hallo zusammen, ich habe 2 Textdateien mit 450 und 300 Computernamen, Ich möchte beide Listen (Textdateien) miteinander vergleichen und ...

Batch & Shell

Inhalt einer .txt per Script bearbeiten

gelöst Frage von hanni007Batch & Shell2 Kommentare

Hallo Mitstreiter! Habe zu dieser Sache leider keinen alten Beitrag gefunden. Mein Problem ist daher folgendes: Ich habe eine ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 21 StundenWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 1 TagHumor (lol)5 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 1 TagSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 2 TagenInternet4 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Hardware
Frage an Kenner von 5,25 Zoll Laufwerken
Frage von DerWoWussteHardware53 Kommentare

Moin Kollegen. Hier wird gerade im Archiv gewühlt und 5,25 Zoll Disketten ("2S/HD", 96TPI) sollen eingelesen werden. Ich habe ...

Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet22 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office18 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...