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

Verschieben und Umbenennen mit fortlaufender Nummerierung

Frage Entwicklung Batch & Shell

Mitglied: deltamk

deltamk (Level 1) - Jetzt verbinden

04.04.2013 um 18:49 Uhr, 2147 Aufrufe, 4 Kommentare

Hallo,

ich habe ein kleines Problem und ich bekomme es einfach nicht so hin wie ich es brauche.
Habe schon mehrere Vorschläge aus dem Forum probiert, aber es passt nicht genau zu meinem Problem.

Ich habe in meinem Quellordner c:\testquelle verschiedene Dateien mit der Endung .ABC liegen.

c:\testquelle
fdggfgh.ABC
3ed556t.ABC
3456fsf.ABC
....

diese solle per Bat oder cmd in einen anderen Ordner verschoben werden (c:\testziel) und dabei umbenannt werden.
Der Dateiname soll immer mit AAAAA beginnen und danach immer mit einer dreistelligen Nummer mit führenden Nullen bezeichnet werden. Die Dateiendung soll gleich der Quelldatei sein:

c:\testziel
AAAAA001.ABC
AAAAA002.ABC
AAAAA003.ABC
......

Wichtig wäre noch, das bei dem umbenennen geprüft wird, ob es in dem Ordner schon eine Datei mit dem Namen gibt und sonst mit der nächsten Nummer fortfährt. In dem o.g. Beispiel wäre das z.B. dann bei dem nächsten Aufruf die AAAAA004.ABC. Dies sollte zwar nicht vorkommen und die Datei in der Zwischenzeit längst abgeholt werden, aber es kann vorkommen das noch Dateien vom letzten Aufruf vorhanden sind.

Ist das mit einem Batch machbar? Wäre super wenn wir das hinkriegen.

Vielen Dank schonmal.

Gruß
Mitglied: Endoro
04.04.2013 um 18:54 Uhr
Hallo deltamk,

hast du schon was versucht, woran man anknüpfen könnte?

Gruss!
Bitte warten ..
Mitglied: deltamk
04.04.2013 um 18:58 Uhr
Moin,

das war ja eine Blitzantwort. Ich habe mal das aus diesem Thread probiert http://www.administrator.de/forum/datei-kopieren-und-anschliesend-fortl ... .

Das hat aber nicht so gepasst. Vor allem weiß ich nicht wie er alle Dateien des Quellordners nimmt.
Bitte warten ..
Mitglied: miniversum
04.04.2013 um 19:12 Uhr
Hallo,

Ungetestet funktioniert das ungefär so:

01.
@echo off 
02.
set num=1 
03.
FOR /F "delims=" %%i in ('dir /b c:\testquelle\*.ABC') do call:MoveRename "%%i" 
04.
goto:eof 
05.
 
06.
:MoveRename 
07.
set numstr=000%num% 
08.
set numstr=%numstr:~-3% 
09.
if not exist c:\testziel\AAAAA%numstr%.ABC ( 
10.
move "c:\testquelle\%~1" c:\testziel\AAAAA%numstr%.ABC 
11.
goto:eof 
12.
13.
set /a num=num+1 
14.
goto:MoveRename
Bitte warten ..
Mitglied: bastla
04.04.2013, aktualisiert um 20:46 Uhr
Hallo deltamk!
wie er alle Dateien des Quellordners nimmt.
Indem Du zB
set "Log=Logfilename.log"
durch
set "Log=*.ABC"
ersetzt oder gleich
for %%i in ("%Quelle%\*.ABC") do ...
verwendest?

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien nach Datum verschieben (2)

Frage von LOWTIM zum Thema Batch & Shell ...

Windows 7
gelöst Dateien verschieben Sicheheitswarnung Aktivieren (1)

Frage von Krabbelfiechle zum Thema Windows 7 ...

Windows Server
gelöst 2008 R2 Domäne mit Exchange 2010 SP3 umbenennen - welche Möglichkeiten bestehen? (12)

Frage von Excaliburx zum Thema Windows Server ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...