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

Batchdatei während dem kopieren umbenennen

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

05.04.2010, aktualisiert 19:18 Uhr, 3375 Aufrufe, 5 Kommentare

Hi Leute,

Hab mal wieder eine Aufgabe die ich nicht komplett alleine lösen kann ;-(
Ich möchte beim Kopieren Dateien von:

10040400.csv
in
2010_04_04_00.csv

auf dem Zieldatenträger umbenennen
Dazu hab ich hier mal rumgestöbert und diesen Beitrag gefunden, der schon sehr hilfreich war!
Leider klappt mein Code noch nicht besonders! Das Variablen Handling läuft schon, aber die Datei läuft irgendwie in einer Endlosschleife !?

hier mal der Code:
01.
@echo off 
02.
cls 
03.
 
04.
SET "Z_V=p:\daten\1 - Navi Aufzeichnungen\!NEUE Logs" 
05.
set COL_LW=y: 
06.
 
07.
:1 
08.
for /f "delims=" %%i in ('dir /b %COL_LW%\*.csv') do set "Name=%%~ni" & call :2 "%%i"  
09.
echo fertig!! 
10.
pause 
11.
goto :exit 
12.
 
13.
:2 
14.
echo "%COL_LW%\%name%.csv" "%Z_V%\20%Name:~0,2%_%Name:~2,2%_%Name:~4,2%_%Name:~6,20%.csv" 
15.
rem copy "%COL_LW%\%name%.csv" "%Z_V%\20%Name:~0,2%_%Name:~2,2%_%Name:~4,2%_%Name:~6,20%.csv" 
16.
pause 
17.
goto :1 
18.
 
19.
:exit
Hat mal jemand einen Tipp, was ich da noch falsch mache?
Mitglied: bastla
05.04.2010 um 19:28 Uhr
Hallo pbelcl!

Ersetze einfach "goto :1" durch "goto :eof"

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
06.04.2010 um 06:58 Uhr
Danke Bastla!!

War ja nur eine Kleinigkeit.
Hab noch eine anschliessende Frage:

goto :eof

ist meiner Meinung nach das Ende des Files, oder?
Ich habe noch weitere Funktionen da unten dran die natürlich nicht bei jedem FIle das kopiert wird durchgeführt werden müssen.
Wo kann ich das batch statt eof hinspringen lassen, damit es NUR die Schleife mehrmals macht?

Ich hab schon so ausprobiert:

01.
 
02.
@echo off 
03.
cls 
04.
 
05.
SET "Z_V=p:\daten\1 - Navi Aufzeichnungen\!NEUE Logs" 
06.
set COL_LW=y: 
07.
 
08.
:1 
09.
for /f "delims=" %%i in ('dir /b %COL_LW%\*.csv') do ( 
10.
 
11.
set "Name=%%~ni" & call :2 "%%i"  
12.
echo "%COL_LW%\%name%.csv" "%Z_V%\20%Name:~0,2%_%Name:~2,2%_%Name:~4,2%_%Name:~6,20%.csv" 
13.
rem copy "%COL_LW%\%name%.csv" "%Z_V%\20%Name:~0,2%_%Name:~2,2%_%Name:~4,2%_%Name:~6,20%.csv" 
14.
15.
 
16.
:exit
aber da wird die Variable "Name" nicht umgesetzt ;-(
Bitte warten ..
Mitglied: bastla
06.04.2010 um 08:52 Uhr
Hallo pbelcl!

Jedes Unterprogramm ist mit "goto :eof" zu beenden (außer, es folgten danach überhaupt keine Batchzeilen mehr, aber sogar dann schadet's zumindest nicht) - damit wird der Befehl zum "Rücksprung" in das Hauptprogramm gegeben.

Wenn Du im Hauptprogramm "goto :eof" einsetzt, wird der Batch beendet. Soll es also unterhalb des Unterprogrammes noch Zeilen geben, die zum Hauptprogramm gehören, kannst Du - wie Du es oben mit "goto :exit" ja schon gemacht hast, im Hauptprogramm an diese Stelle springen.

Sollte es erforderlich sein, aus einem Unterprogramm ein weiteres Unterprogramm aufzurufen, dann gelten die gleichen Regeln - das Unter-Unterprogramm muss also ebenfalls einfach mit "goto :eof" beendet werden.

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
07.04.2010 um 07:38 Uhr
nur um es zu verinnerlichen:

das heißt reinspringen mit call :2 (oder andere Sprungadresse)
und rausspringen mit gogo :eof damit es weitergeht in der Zeile NACH dem einsprung.

Richtig soweit ?
Bitte warten ..
Mitglied: bastla
07.04.2010 um 09:04 Uhr
Hallo pbelcl!

Unterprogramme werden in Batch auch nicht schneller fertig, wenn Du sie mit
gogo :eof
anfeuerst - aber ansonsten wäre der Plan grundsätzlich wie von Dir beschrieben (außer, dass es mit der Anweisung nach dem Aufruf weiter geht - aber die wird ohnehin sehr oft in einer neuen Zeile stehen) ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Datenbanken
gelöst DB2 Daten in Windows DB2 kopieren (1)

Frage von Emheonivek zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...