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

Zeichen an einer bestimmten Stelle aus einer Textdatei auslesen

Frage Entwicklung Batch & Shell

Mitglied: wemdas

wemdas (Level 1) - Jetzt verbinden

06.01.2010 um 12:11 Uhr, 9598 Aufrufe, 7 Kommentare

Hallo und Guten Tag Forums-Teinehmer,

dies ist meine erste Frage, die ich an dieses Forum stelle. Ich kam durch meine Internetrecherche auf diese Plattform, als ich nach einer Lösung zu meinem Problem gesucht habe.
Mein Problem ist anscheinend gar nicht so schwierig und auch gar nicht neu, wie es mir scheint. Ich fand einige Fragestellungen/Lösungen ähnlich meines Wunsches:

Aus einer Textdatei ohne Leerzeichen (2.txt) sollen an einer bestimmten Stelle (ab dem 33-ten Zeichen) eine bestimmte Anzahl Zeichen (z.B. 2 Zeichen) ausgelesen werden und in einer neuen Datei (2neu.txt) gespeichert werden.
Vielleicht gibt es auch eine Möglichkeit nach "(" zu suchen und dann mit +2 Zeichen zu arbeiten? Dadurch wäre dann die Länge des Verzeichnises egal. Dazu fand ich allerdings keinen Beitrag. Daher mal diese "Schmalspur"-Version von mir als Laien.

Beispiel
Inhalt von 2.txt:
c:\odr\20063063.WRI:1-1:0.9.2(080803)
c:\odr\20063064.WRI:1-1:0.9.2(090205)
c:\odr\20063065.WRI:1-1:0.9.2(100106)

Ergebnis in 2neu.txt soll lauten:
08
02
01

Hier mein bisheriger Stand (mit Hilfe dieses Forums):
@echo off &setlocal
set Quelle=2.txt
set Ziel=2neu.txt

type nul>"%Ziel%"
for /f "usebackq delims=" %%i in ("%Quelle%") do (
set "Zeile=%%i"
>>"%Ziel%" echo !Zeile:~33,2!)

Als Ergebnis bei meinen unzähligen Versuchen in der Datei 2neu.txt erhalte ich immer nur:
!Zeile:~2,4!
!Zeile:~2,4!

Kann das vielleicht daran liegen, dass ich die .bat-Datei unter Win2000 mit dem normalen Editor geschrieben habe? Ich bin ratlos. Bitte helft mir weiter.


Besten Dank schon mal im Voraus
Gruß
Wemdas
Mitglied: rubberman
06.01.2010 um 12:40 Uhr
Hallo wemdas,

der Hauptfehler ist das fehlende "enabledelayedexpansion".
01.
@echo off &setlocal enabledelayedexpansion 
02.
set Quelle=2.txt 
03.
set Ziel=2neu.txt 
04.
 
05.
type nul>"%Ziel%" 
06.
for /f "usebackq delims=" %%i in ("%Quelle%") do ( 
07.
set "Zeile=%%i" 
08.
>>"%Ziel%" echo !Zeile:~32,2!)
Grüße
rubberman
Bitte warten ..
Mitglied: wemdas
06.01.2010 um 12:47 Uhr
Hallo rubberman,

einfach genial. Ich bin sprachlos. Prima, besten Dank.
Der Name rubberman ist mir schon in mehreren Beiträgen aufgefallen. Einen Vorschlag und der passte auf anhieb.

Ich möchte nun nicht unverschämt sein, aber darf ich noch nach einer Lösung fragen, so quasi suche nach "(" und dann 2 Zeichen weiter liste mir die nächsten 2 Zeichen in die Datei neu2.txt?

Nochmals tausend Dank.
Bitte warten ..
Mitglied: rubberman
06.01.2010 um 13:37 Uhr
Hallo wemdas,

solange vor der besagten "(" nicht bereit schon eine ist, sollte es mit dieser kleinen Abwandlung gehen:

01.
@echo off &setlocal enabledelayedexpansion 
02.
set Quelle=2.txt 
03.
set Ziel=2neu.txt 
04.
 
05.
type nul>"%Ziel%" 
06.
for /f "usebackq delims=( tokens=2" %%i in ("%Quelle%") do ( 
07.
set "Zeile=%%i" 
08.
>>"%Ziel%" echo !Zeile:~2,2!)
Grüße
rubberman
Bitte warten ..
Mitglied: wemdas
06.01.2010 um 13:47 Uhr
rubberman, ich bin sprachlos.

Hat auch bei mir auf Anhieb funktioniert.
Dieser erste Kontakt hat mich sehr gefreut und hat mir auch sehr geholfen.
Danke und auch Danke an dieses Forum.
Bitte warten ..
Mitglied: potshock
06.01.2010 um 22:34 Uhr
Hallo rubberman,

ich nutze die Gelegenheit und und klinke mich hier mal ein .

Ich möchte in meiner Txt-Datei in jeder Zeile alle Zeichen nach dem 30 angezeigt bekommen.

Bisher behelfe ich mich mit einem festen Wert von dem ich annehme, er wird nicht überschritten, da es sich um Laufwerkspfade incl. Dateinamen handelt, aber wie lautet die korrekte Syntax?

>>"%Ziel%" echo !Zeile:~30,250!)


T@cky
Bitte warten ..
Mitglied: Biber
07.01.2010 um 00:43 Uhr
Moin potshock,

die korrekte Syntax wäre gemäß der CMD-Hilfe zu SET (help set -oder set /?)
Wenn die Länge nicht angegeben ist, wird der Rest des Variablenwerts verwendet.

...demnach so:
.... 
>>"%Ziel%" echo !Zeile:~30!)
..für alles ab Zeichen 31 bis zum bitteren bzw. rechten Ende.

Grüße
Biber
Bitte warten ..
Mitglied: potshock
07.01.2010 um 01:23 Uhr
Moin Bieber,

danke Dir!
Auch für die um diese Urzeit so prompte Antwort.

Ich wünsche eine gute Nacht

Potshock
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Einen bestimmten Teil einer Textdatei auslesen
gelöst Frage von Focus1610Batch & Shell5 Kommentare

Hallo, ich brauche mal einen Denkanstoß. Ich bekomme per FTP von einem Kunden täglich mehrere Textdateien. Diese haben unterschiudlich ...

Batch & Shell
Entfernen eines Strings vor einem bestimmten Zeichens in einer Textdatei
gelöst Frage von Privex007Batch & Shell3 Kommentare

Hallo an alle Coder, ich habe Probleme mit dem extrahieren eines String aus einer "txt"-Datei. Ich habe folgende Zeilen ...

Entwicklung
Programmierung - In Textdatei an einer bestimmten Stelle einen bestimmten Wert eintragen
gelöst Frage von JimStarEntwicklung1 Kommentar

Guten Morgen zusammen, habe ein kleines Problem: Ich soll ein Script schreiben, welches durch ausführen eine bestimmte Datei bearbeitet. ...

Batch & Shell
Bestimmte Zeile einer Textdatei mit Batch auslesen
gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 15 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 16 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.