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
GELÖST

Dateinamen einer Textdatei aus der ersten Zeile erzeugen und zusätzlich Datei kopieren

Frage Entwicklung Batch & Shell

Mitglied: viking

viking (Level 1) - Jetzt verbinden

07.08.2010 um 02:11 Uhr, 3128 Aufrufe, 6 Kommentare

Hallo, wieder mal eine kleine Frage.

Ich möchte per batch eine TXT Datei umbenennen, 2 mal an anderen Ort kopieren und Ursprungsdatei löschen.
Es sollen beide neuen Dateien auf in ein anderes Verzeichnis abgelegt werden, wobei der neue Name der Inhalt der ersten Zeile der Ursprungsdatei sein soll.
Einmal soll die Endung txt sein, einmal csv.
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.

Wie kann man das lösen?

Gruß viking
Mitglied: pieh-ejdsch
07.08.2010 um 09:17 Uhr
Moin viking,
hier als ausfühlicher Batch
01.
setlocal 
02.
set "Dateiordner=C:\Temp" 
03.
set Datei="Test.txt" 
04.
set "1stOrdner=C:\Test" 
05.
set "1stExt=.txt" 
06.
set "2ndExt=.csv" 
07.
pushD "%DateiOrdner%" 
08.
for %%i in (%Datei%) do (set /p Zeile=<"%%~i" 
09.
	set Name="%%~i" 
10.
	setlocal enabledelayedexpansion 
11.
	copy !Name! "!1stOrdner!\!Zeile!!1stExt!" 
12.
	copy !Name! "!1stOrdner!\!Zeile!!2ndExt!" 
13.
	del !Name! 
14.
	endlocal 
15.
16.
popD
Edit 2. Ordner entfernt /Edit
[Edit2]Batch Korrigiert - Ein Anführungszeichen entfernt[/Edit2]
Gruß Phil
Bitte warten ..
Mitglied: bastla
07.08.2010 um 11:11 Uhr
@PH
Eigentlich ist die Schleife für eine einzelne Datei etwas überdimensioniert - so würde es mE auch reichen:
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.
copy "%Datei%" "%Ziel%\%Neu%%Ext1%">nul && move "%Datei%" "%Ziel%\%Neu%%Ext2%"
Grüße
bastla
Bitte warten ..
Mitglied: it-frosch
07.08.2010 um 14:42 Uhr
@bastla,

sehr effektives Script. Genau deshalb lese ich hier!

schönes WE
it-frosch
Bitte warten ..
Mitglied: bastla
07.08.2010 um 15:26 Uhr
[OT]
@it-frosch
Danke für die Blumen, und schön, wenn Du etwas damit anfangen kannst ...

Grüße
bastla
[/OT]
Bitte warten ..
Mitglied: viking
07.08.2010 um 22:14 Uhr
Hallo bastla,

tut wie gewünscht!
Danke viking
Bitte warten ..
Mitglied: viking
07.08.2010 um 22:21 Uhr
Zitat von pieh-ejdsch:
Moin viking,
hier als ausfühlicher Batch
01.
setlocal 
02.
> set "Dateiordner=C:\Temp" 
03.
> set Datei="Test.txt" 
04.
> set "1stOrdner=C:\Test" 
05.
> set "1stExt=.txt" 
06.
> set "2ndExt=.csv" 
07.
> pushD "%DateiOrdner%" 
08.
> for %%i in (%Datei%) do (set /p "Zeile=<"%%~i" 
09.
> 	set Name="%%~i" 
10.
> 	setlocal enabledelayedexpansion 
11.
> 	copy !Name! "!1stOrdner!\!Zeile!!1stExt!" 
12.
> 	copy !Name! "!1stOrdner!\!Zeile!!2ndExt!" 
13.
> 	del !Name! 
14.
> 	endlocal 
15.
> ) 
16.
> popD
Edit 2. Ordner entfernt /Edit
Gruß Phil

Hallo Phil,

Deine Version klappt bei mir nicht. Es öffnet sich eine Dosbox, ...
bastlas version funktioniert.

Daher ist meine Frage gelöst.
Trotzdem Danke auch an Dich.

Gruß viking.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

Batch & Shell
gelöst Komplette Zeile aus Textdatei auslesen (3)

Frage von tegwert zum Thema Batch & Shell ...

C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

Batch & Shell
Jede Zeile einer Textdatei in eigene Variable speichern (5)

Frage von tomaschku zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Firewall
gelöst Firewall Firmeneimsatz (22)

Frage von wiesi200 zum Thema Firewall ...

Multimedia & Zubehör
gelöst 8 GB USB Stick besitzt nur noch 4 MB Kapazität (13)

Frage von Gwahlers zum Thema Multimedia & Zubehör ...