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

Zeilen zwischen zwei bestimmten Zeilen als Variable speichern.

Frage Entwicklung

Mitglied: janek26

janek26 (Level 1) - Jetzt verbinden

22.04.2012, aktualisiert 18:53 Uhr, 2278 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 ..
Ähnliche Inhalte
Batch & Shell
Jede Zeile einer Textdatei in eigene Variable speichern (5)

Frage von tomaschku zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Batch & Shell
gelöst Batch: Aktuelle Codepage in Variable speichern (3)

Frage von tomaschku zum Thema Batch & Shell ...

Batch & Shell
gelöst Wert aus Batch Schleife in Variable speichern (5)

Frage von anmelder zum Thema Batch & Shell ...

Neue Wissensbeiträge
Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...