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

Mit batch die erste Zeile einer TXT löschen, diese als Dateinamen verwenden und Datei 2 mal kopieren, Quelldatei löschen

Frage Entwicklung Batch & Shell

Mitglied: viking

viking (Level 1) - Jetzt verbinden

08.08.2010 um 02:57 Uhr, 13160 Aufrufe, 8 Kommentare

Hallo, habe eine kleinere Modifikation zu einer vorhergehenden Frage, welche ich nun als neues Thema erstelle.
Habe dort dummerweise eine Kleinigkeit vergessen.

Ich möchte per batch die erste Zeile einer TXT Datei löschen, den Wert der gelöschten Zeile möchte ich aber als Dateinamen für die 2 neuen Dateien verwenden, welche ich an einen anderen Ort kopieren möchte. Die neuen Dateien sollen die Endung txt und csv erhalten.
Die Ursprungsdatei soll gelöscht werden.

Beispiel:
Die Datei hat ursprünglich den Namen Test.txt und liegt auf C:\Temp\
Die erste Zeile der mehrzeiligen Datei hat den Inhalt "Mayer"
Nun sollen die neuen Dateien
Mayer.txt und Mayer.csv lauten und auf C:\Test\ gespeichert werden.
Die Ursprungsdatei soll auf C:\Temp soll gelöscht werden.

D.h. die beiden neuen Dateien dürfen die erste Zeile der Ursprungsdatei nicht mehr enthalten.

Die Frage ist eine Erweiterung zu einer anderen vorher gestellten Frage, bei welcher die erste Zeile nicht zu löschen war.

Bastla hat hierfür bereits ein passendes Script geschrieben.



@echo off & setlocal
set Datei="C:\Temp\Test.txt"
set "Ziel=C:\Test"
set "Ext1=.txt"
set "Ext2=.csv"
set /p Neu=<"%Datei%"
copy "%Datei%" "%Ziel%\%Neu%%Ext1%">nul && move "%Datei%" "%Ziel%\%Neu%%Ext2%"

Frage:
Wie muss ich dieses Script ergänzen, damit die erste Zeile in den neuen Dateien nicht mehr vorhanden ist.

Gruß viking
Mitglied: pieh-ejdsch
08.08.2010 um 10:18 Uhr
moin viking,

tausche:
copy "%Datei%" "%Ziel%\%Neu%%Ext1%">nul && move "%Datei%" "%Ziel%\%Neu%%Ext2%"
wenn die 1. Zeile eine Leerzeile ist bzw. Leerzeilen mit übernommen werden sollen mit dem hier:
01.
type nul>"%Ziel%\%Neu%%Ext1%" 
02.
for /f "skip=1 tokens=1* delims=:" %%i in ('findstr /n $ %Datei%') do echo %%j>>"%Ziel%\%Neu%%Ext1%" 
03.
copy "%Ziel%\%Neu%%Ext1%" "%Ziel%\%Neu%%Ext2%" 
04.
del %Datei%
nur wenn Keine Leerzeilen enthalten sind bzw. übernommen werden sollen diese Forschleife der Zeile 02 einsetzen:
for /f "usebackq skip=1 tokens=*" %%i in (%Datei%) do echo %%i>>"%Ziel%\%Neu%%Ext1%"
Gruß Phil
Bitte warten ..
Mitglied: bastla
08.08.2010 um 10:21 Uhr
Hallo viking!

Etwa so:
01.
@echo off & setlocal 
02.
set Datei="C:\Temp\Test.txt" 
03.
set "Ziel=C:\Test" 
04.
set "Ext1=.txt" 
05.
set "Ext2=.csv" 
06.
set /p Neu=<"%Datei%" 
07.
more +1 "%Datei%">"%Ziel%\%Neu%%Ext1%" 
08.
move +1 "%Datei%">"%Ziel%\%Neu%%Ext2%" 
09.
if exist "%Ziel%\%Neu%%Ext1%" if exist "%Ziel%\%Neu%%Ext2%" del "%Datei%"
Grüße
bastla
Bitte warten ..
Mitglied: pieh-ejdsch
08.08.2010 um 10:24 Uhr
@bastla
ich wusste ... es geht einfacher

Gruß Phil
Bitte warten ..
Mitglied: bastla
08.08.2010 um 10:30 Uhr
@PH
Vor allem entfällt damit die Trickserei hinsichtlich der Leerzeilen; dass "more" auch schneller ist, kann gelegentlich ein Zusatznutzen sein ...

Grüße
bastla
Bitte warten ..
Mitglied: viking
08.08.2010 um 15:35 Uhr
Zitat von bastla:
Hallo viking!

Etwa so:
01.
@echo off & setlocal 
02.
> set Datei="C:\Temp\Test.txt" 
03.
> set "Ziel=C:\Test" 
04.
> set "Ext1=.txt" 
05.
> set "Ext2=.csv" 
06.
> set /p Neu=<"%Datei%" 
07.
> more +1 "%Datei%">"%Ziel%\%Neu%%Ext1%" 
08.
> move +1 "%Datei%">"%Ziel%\%Neu%%Ext2%" 
09.
> if exist "%Ziel%\%Neu%%Ext1%" if exist "%Ziel%\%Neu%%Ext2%" del "%Datei%" 
10.
> 
Grüße
bastla


Hallo bastla,
ich habe folgendes verändert, weil die zweite Datei leer war, und die Quelldatei nicht gelöscht wurde.
Zeile 08.
move durch more ersetzt.
more +1 "%Datei%">"%Ziel%\%Neu%%Ext2%"

zum löschen der Quelldatei nur in der nächsten Zeile :
del "%Datei%"

if exist "%Ziel%\%Neu%%Ext1%" if exist "%Ziel%\%Neu%%Ext2%" del "%Datei%"
hat bei mir keine Auswirkung. Dehalb habe ich das rausgenommen.

So klappt das bei mir, ..., habe ich da nun andere Fehlerquellen eingebaut.

Gruß viking
Bitte warten ..
Mitglied: bastla
08.08.2010 um 16:04 Uhr
Hallo viking!

Sorry wegen des "move" anstelle von "more" - hatte ich nach dem Kopieren zu ändern vergessen ...

Die Zeile 9 hatte den Sinn, die Originaldatei nur zu löschen, wenn beide neu erstellten Dateien vorhanden sind.

Grüße
bastla

P.S.: Gepostete Batches sehen in "Code"-Formatierung nicht nur besser aus; es ist auch leichter, sich auf einzelne Zeilen zu beziehen ...
Bitte warten ..
Mitglied: viking
08.08.2010 um 16:24 Uhr
Zitat von bastla:
Hallo viking!

Sorry wegen des "move" anstelle von "more" - hatte ich nach dem
Kopieren zu ändern vergessen ...

Die Zeile 9 hatte den Sinn, die Originaldatei nur zu löschen, wenn beide neu erstellten Dateien vorhanden sind.

Grüße
bastla

P.S.: Gepostete Batches sehen in "Code"-Formatierung
nicht nur besser aus; es ist auch leichter, sich auf einzelne Zeilen zu beziehen ...

Hallo bastla,

die codeform würde ich auch gerne verwenden, aber wie, wo ist da eine Anleitung?
Welches Tool muß ich dafür verwenden?

Gruß viking
Bitte warten ..
Mitglied: rubberman
08.08.2010 um 16:36 Uhr
Hallo viking,

ein Tool gibt es dafür nicht. Einfach Code-Tags verwenden, siehe Link von bastla.

<code>
Hier dein code.
</code>

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Mehrere .txt Dateien zu einer zusammenfügen, dabei jeweils die erste Zeile löschen
gelöst Frage von v.piepmatzBatch & Shell5 Kommentare

Hallo, ich bin leider kompletter Neueinsteiger bzgl. batch-Dateien, suche jetzt aber eine Möglichkeit mehrere .txt Dateien, welche in einem ...

Batch & Shell
Batch um Zeichen aus erster und letzter Zeile einer TXT Datei zu löschen
Frage von Bobby0712Batch & Shell2 Kommentare

Hallo. Wie der Titel schon sagt suche ich eine möglichkeit wie ich aus einer TXT Datei aus der ersten ...

Batch & Shell
Per Batch erste Zeile aus CSV Dateien löschen
gelöst Frage von sirOneBatch & Shell15 Kommentare

Hallo zusammen! Ich suche ein Batch Script, mit dem ich aus sämtlichen CSV Dateien in einem Unterordner die erste ...

Batch & Shell
Batch um erste Zeile einer CSV zu löschen
gelöst Frage von chris1987.1Batch & Shell6 Kommentare

Hallo, im Rahmen meiner Masterarbeit muss ich eine Vielzahl von csv Dateien untersuchen. Hierbei muss ich einige dieser Dateien ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 6 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 11 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 11 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 23 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...