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

Zeilen zwischen zwei bestimmten Zeilen als Variable speichern.

Frage Entwicklung

Mitglied: janek26

janek26 (Level 1) - Jetzt verbinden

22.04.2012, aktualisiert 18:53 Uhr, 2242 Aufrufe, 15 Kommentare

Hallo Leute,
ich bin neu hier und hoffe auf eure Hilfe!

Ich möchte mit einer bat eine *.txt "beschneiden"

Zum beispiel:

Inhalt test.txt:

blablub
blablub
begin
laberbbuu
manne
end
bamm
bamm

nun soll meine bat alles wegschneiden außer das was zwischen begin und end steht.

also soll das ergebnis nach dem ausführen der bat so aussehen:

begin
laberbbuu
manne
end

Wie ihr sicher gemerkt habt sollen begin und end auch stehenbleiben!!!
Hoffe auf eure Hilfe!
MfG
ich

P.S.: MUSS es mit einer batch lösen am besten ohne sonstige tools
Mitglied: bastla
22.04.2012 um 16:44 Uhr
Hallo janek26 und willkommen im Forum!

Schematisch etwa so:
01.
@echo off & setlocal 
02.
set "DateiEin=D:\test.txt" 
03.
set "DateiAus=D:\test2.txt" 
04.
set "Von=begin" 
05.
set "Bis=end" 
06.
 
07.
set "InBlock=" 
08.
(for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%DateiEin%"') do ( 
09.
    if "%%j"=="%Von%" set "InBlock=true" 
10.
    if defined InBlock ( 
11.
        set "Zeile=%%j" 
12.
        setlocal enabledelayedexpansion 
13.
        echo(!Zeile! 
14.
        endlocal 
15.
16.
    if "%%j"=="%Bis%" set "InBlock=" 
17.
))>"%DateiAus%"
Grüße
bastla
Bitte warten ..
Mitglied: janek26
22.04.2012 um 18:18 Uhr
Ich habe schon viele Beiträge von dir gelesen und muss sagen du bist der beste!
Bitte warten ..
Mitglied: bastla
22.04.2012 um 18:32 Uhr
Hallo janek26!

Letzteres sehe ich zwar nicht so, aber auf jeden Fall danke für die Blumen ...

Grüße
bastla
Bitte warten ..
Mitglied: janek26
22.04.2012 um 18:49 Uhr
Die Batch funktioniert leider nicht die Ausgabedatei ist leer.
Hier einmal die original datei.txt zum download: Download bei RapidShare
Alles ab "begin 0666 datei.zip", inclusive "begin 0666 datei.zip" bis "end", inclusive "end" soll in eine neue datei geschrieben werden...
wäre nett wenn du dich damit nocheinmal beschäftigen würdest.
MfG
janek26
Bitte warten ..
Mitglied: bastla
22.04.2012 um 19:00 Uhr
Hallo janek26!
Hier einmal die original datei.txt zum download: Download bei RapidShare
Diese "datei.txt" ist aber alles andere als eine Textdatei ...

Erklärst Du vielleicht etwas genauer, worum es dabei gehen soll?

Grüße
bastla
Bitte warten ..
Mitglied: janek26
22.04.2012 um 19:26 Uhr
Die datei.txt ist eine jpg datei, wo die datenendung einfach zu .txt geändert wurde. Nun brauche ich von der textdatei nur das von begin 6660 datei.zip bis zu end. Das schreibe ich dann in eine andere datei näheres kann ich nicht verraten. Wenn dann nur per pm.
Bitte warten ..
Mitglied: bastla
22.04.2012 um 19:28 Uhr
Hallo janek26!
näheres kann ich nicht verraten
Musst Du auch nicht - mit Batch wird das ohnehin nix ...

Grüße
bastla
Bitte warten ..
Mitglied: janek26
22.04.2012 um 19:33 Uhr
Wie dann? Vbs? Könntest du mir bitte helfen...
Bitte warten ..
Mitglied: bastla
22.04.2012 um 19:36 Uhr
Hallo janek26!
Wie dann? Vbs? Könntest du mir bitte helfen...
Auch VBS ist nicht für die Verarbeitung von Binärdateien (und das ist eine JPG-Datei) gedacht ...

Grüße
bastla
Bitte warten ..
Mitglied: janek26
22.04.2012 um 19:38 Uhr
Fällt dir eine lösung ein mein problem zu lösen.
Bitte warten ..
Mitglied: bastla
22.04.2012 um 19:42 Uhr
Hallo janek26!

Eigentlich nur, jemand anderen zu fragen ...

Grüße
bastla
Bitte warten ..
Mitglied: janek26
22.04.2012 um 19:50 Uhr
Kennst du vllt jemanden? Wäre echt nett
Bitte warten ..
Mitglied: bastla
22.04.2012 um 20:17 Uhr
Hallo janek26!

Sorry - da muss ich passen ...

Grüße
bastla
Bitte warten ..
Mitglied: 106009
22.04.2012 um 20:40 Uhr
Hi,

zur Bearbeitung von Binär-Dateien brauchst du sowas. (nur als Beispiel)

Gruß
Bitte warten ..
Mitglied: pieh-ejdsch
05.05.2012 um 14:15 Uhr
moin janek26,

mit Findstr sind immer andere ergebnisse zu erwarten als mit Find
Find hat eine andere Art der Nummerierung. Macht aber auch genau was es soll, es findet jede Zeile in jeder Datei.

01.
@echo off 
02.
::	echo on 
03.
setlocal disabledelayedexpansion 
04.
if not exist "%~1" (echo Syntaxfehler. &echo Datei nicht gefunden! &echo Datei angeben. &goto :eof) >&2 
05.
set "LineIn=begin" 
06.
set "LineOut=end" 
07.
for /f "delims=[]" %%i in ('find /n "%LineIn%" ^< %1 ') do set /a skip = %%i -1 
08.
more +%skip% %1 |find /n /v "" >"%temp%\LN-tmp%~n1" 
09.
for /f "delims=[]" %%i in ('find /n "]%LineOut%" ^< "%temp%\LN-tmp%~n1" ') do set /a Out = %%i 
10.
11.
for /f "usebackq delims=[] tokens=1*" %%i in ("%temp%\LN-tmp%~n1") do @if %%i leq %Out% echo(%%j 
12.
)>"%~dpn1-neu%~x1"
Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

Ubuntu
gelöst Schattenkopien eines bestimmten Ordners speichern (2)

Frage von Brombaermetzger zum Thema Ubuntu ...

Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...