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

Textdatei editieren

Frage Entwicklung Batch & Shell

Mitglied: sabinchen

sabinchen (Level 1) - Jetzt verbinden

23.05.2007, aktualisiert 25.05.2007, 3352 Aufrufe, 6 Kommentare

Hallo.
Ich hoffe, mir kann jemand bei der Lösung eines kleinen Problems helfen.
Ich habe eine Textdatei (Name ist immer unterschiedlich).
Nun sollen in dieser Textdatei die ersten 12 Zeilen gelöscht werden.
Anschließend sollen von allen anderen Zeilen die jeweils ersten 16 Zeichen gelöscht werden.
Danach soll die editierte Textdatei wieder unter dem gleichen Namen gespeichert werden.
Ist das per Batchdatei möglich und wie erhält die Batchdatei den Namen der zu editierenden Textdatei?
Kann man evtl. die Batchdatei aus einer anderen Batchdatei aufrufen?

Danke für eure Hilfe.

Liebe Grüße von
Sabine
Mitglied: miniversum
23.05.2007 um 19:34 Uhr
Ist das die einzigste Datei in diesem Verzeichnis? Wenn ja dann gehts so (ungetestet):
01.
@echo off & setlocal enabledelayedexpansion 
02.
for /F "delims=" %%n in ('dir /b /a-D C:\verzeichnis\*.*') do set filename=%%n 
03.
if exist %filename%_temp del %filename%_temp 
04.
for /F "skip=12 delims=" %%t in ('type "%filename%"') do ( 
05.
set text=%%t 
06.
echo !text:~16!>>"%filename%_temp" 
07.
08.
del "%filename%" 
09.
ren "%filename%_temp" "%filename%"
miniversum
Bitte warten ..
Mitglied: sabinchen
23.05.2007 um 20:07 Uhr
Hallo miniversum.
Danke für die schnelle Antwort.
Die Batchdatei funktioniert tadellos.
Leider ist die zu editierende Datei aber nicht die einzigste im Verzeichnis.
Auch ist das Verzeichnis nicht immer das gleiche.
Gibt es eine Möglichkeit, trotzdem das Problem zu lösen?

Vielen Dank und liebe Grüße von
Sabine
Bitte warten ..
Mitglied: miniversum
23.05.2007 um 20:13 Uhr
Es gibt noch die möglichkeit das du die dateiimmer auf die Batch datei ziehst per drag & drop oder als parameter mitgibst.
Dann müstest du die Batch datei Folgendermasen abändern:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "filename=%~1" 
03.
if exist %filename%_temp del %filename%_temp 
04.
for /F "skip=12 delims=" %%t in ('type "%filename%"') do ( 
05.
set text=%%t 
06.
echo !text:~16!>>"%filename%_temp" 
07.
08.
del "%filename%" 
09.
ren "%filename%_temp" "%filename%"
miniversum
Bitte warten ..
Mitglied: Biber
23.05.2007 um 22:18 Uhr
Moin sabinchen,

willkommen im Forum.
Leider ist die zu editierende Datei aber nicht die einzigste im Verzeichnis
Es hätte auch gereicht, wenn es die einzige gewesen wäre..

@miniversum
Kleiner Verbesserungsvorschlag:
Die "beliebige" Drag &Drop-Datei kann mit oder ohne Laufwerk/Pfad-Angabe kommen.
Spätestens beim Rename wird aber als zweiter Parameter etwas OHNE Lw/Pfad gebraucht.
Ich würde daher mit eher mit Copy als mit Rename arbeiten.
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "filename=%~1" 
03.
Set "tempfile=%temp%\$%~nx1%" 
04.
if exist "%tempfile%" del "%tempfile%" 
05.
for /F "skip=12 delims=" %%t in ('type "%filename%"') do ( 
06.
set text=%%t 
07.
echo !text:~16!>>"%tempfile%" 
08.
09.
copy /y "%tempfile%" "%filename%" >nul
Grüße
Biber
Bitte warten ..
Mitglied: Biber
25.05.2007 um 11:27 Uhr
Moin sabinchen,

magst Du auch noch mal eine Rückmeldung schreiben?

Grüße
Biber

[Edit] Danke, sabinchen, für die schnelle Rückmeldung & Vrohe Vinxten![/Edit]
Bitte warten ..
Mitglied: sabinchen
25.05.2007 um 11:33 Uhr
Hallo Biber.
Sry, ich konnte vorhin erst die Batchdatei mit Deinen Änderungen testen, da ich gestern nicht zu Hause war.
Vielen lieben Dank nochmal dafür. Es funktioniert super.

Liebe Grüße von
Sabine
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Java
gelöst Textdatei in Array speichern (zeilenweise) (1)

Frage von Bruchsal zum Thema Java ...

VB for Applications
Import Textdatei von Dateiname aus Zelle (2)

Frage von grasihuepfer zum Thema VB for Applications ...

Exchange Server
Wo im Ressourcen Kalender das Beschreibungsfeld editieren?!

Frage von Hellvis zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...