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

Batch um Zeichen aus erster und letzter Zeile einer TXT Datei zu löschen

Frage Entwicklung Batch & Shell

Mitglied: Bobby0712

Bobby0712 (Level 1) - Jetzt verbinden

21.10.2014 um 17:37 Uhr, 979 Aufrufe, 2 Kommentare

Hallo.
Wie der Titel schon sagt suche ich eine möglichkeit wie ich aus einer TXT Datei aus der ersten Zeile ein "-" (Bindestrich) entfernen kann. Der Rest der TXT Datei soll dabei nicht betrachtet werden. Nur die letzte Zeile wieder. Es geht um ein CNC Programm das sonst nicht von der Steuerung erkannt wird.
Bsp:

0 BEGIN PGM 0001-AT MM
1 FN 1: Q1 = +Q1 + +4
2 * - NUTENSTEIN-MS
3 CALL LBL 100
4 BLK FORM 0.1 Z X-1 Y-11 Z-20
5 BLK FORM 0.2 X+21 Y+1 Z+1
....
...
...
....
171 CYCL DEF 7.1 IX+1
172 CYCL DEF 7.2 IY-1
173 CYCL DEF 7.3 IZ+19,7
174 LBL 0
175 END PGM 0001-ATM

Also aus der ersten Zeile muss das Minus oder Bindestrich weg und aus der letzten Zeile ebenfalls.
Die Zeilen dazwischen natürlich nicht, denn das sind ja meine Koordinaten für die Bauteile.

Ich hoffe dass ihr mir helfen könnt. 2000 Programme von Hand ändern wäre sehr ärgerlich.....


Viele Grüße Daniel
Mitglied: TsukiSan
21.10.2014, aktualisiert um 19:08 Uhr
Hallo Bobby0712,

wenn es VBS sein darf, meinst du es in etwa so:
01.
Ein = "D:\CNC mit Datei.cnc" 
02.
Aus = "D:\CNC ohne Datei.cnc" 
03.
 
04.
Von = "-AT" 
05.
Nach = " AT" 
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
fso.CreateTextFile(Aus).Write Replace(fso.OpenTextFile(Ein).ReadAll, Von, Nach) 
09.
 
10.
msgbox "Fertig"
Wenn dem so geht, dann mit einer Schleife halt alle Dateien in deinem Ordner entsprechend bearbeiten.
Gruss

Tsuki
Bitte warten ..
Mitglied: rubberman
21.10.2014 um 19:06 Uhr
Hallo Bobby0712, willkommen im Forum.

Als Batchcode etwa so (ungetestet):
01.
@echo off &setlocal  
02.
set "file=C:\datei.ext" 
03.
set "tmpfile=%temp%\file.tmp"  
04.
  
05.
setlocal EnableDelayedExpansion 
06.
for /f %%i in ('type "!file!"^|find /c /v ""') do set /a "count = %%i - 2" 
07.
<"!file!" >"!tmpfile!" ( 
08.
  set "line=" &set /p "line=" 
09.
  echo(!line:-=! 
10.
  for /l %%j in (1 1 %count%) do ( 
11.
    set "line=" &set /p "line=" 
12.
    echo(!line! 
13.
14.
  set "line=" &set /p "line=" 
15.
  echo(!line:-=! 
16.
17.
move "!tmpfile!" "!file!"
Der Code (wenn er denn für dich funktioniert) ließe sich auch erweitern, dass er alle Dateien eines Verzeichnisses verarbeitet.

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Windows 7
Bluesreens unternehmensweit (15)

Frage von SYS64738 zum Thema Windows 7 ...

Windows 10
Programm Installation bei Win 10 Fehlerhaft (12)

Frage von Keineahnungvonnix zum Thema Windows 10 ...

SAN, NAS, DAS
gelöst Synology DS213j (11)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...