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

Dateiname bestimmter Dateien eines Ordners mit Zähler erweitern

Frage Entwicklung Batch & Shell

Mitglied: kasimodo

kasimodo (Level 1) - Jetzt verbinden

11.05.2009, aktualisiert 18:42 Uhr, 4891 Aufrufe, 6 Kommentare

Ich möchte die Namen aller Dateien (Typ) in einem Ordner durch einen Zähler erweitern!

Eine Lösung habe ich nach langen basteln. Geht dies auch etwas eleganter?
Die Nummerierung soll 0001 -000x sein. Diese sollte man dann vor oder nach den Dateinamen einfügen können!
(durch Anpassen vom Script)

DANKE kasimodo

01.
@echo on & setlocal 
02.
setlocal EnableDelayedExpansion 
03.
set Verz=%1 
04.
set datTyp=%2 
05.
rem zum testen festes verzeichnis .\test und dateityp tif 
06.
set "Verz=.\test" 
07.
set "datTyp=tif" 
08.
rem Anzahl datei in einem verzeichnis 
09.
for /f %%i in ('dir %Verz%\*.%datTyp% ^|find "Datei(en)"') do Set DATANZ=%%i 
10.
if  %DATANZ%!==! goto noFiles 
11.
 
12.
for /l %%i in (1, 1, %DATANZ%) do ( 
13.
	set /A Zaehler=%%i+10000 
14.
	set erw=!zaehler:~1! 
15.
	call :make %Verz%\*.%datTyp% !erw! 
16.
17.
ren %Verz%\*. *.%datTyp% 
18.
goto ende 
19.
 
20.
rem ========== make ================ 
21.
:make 
22.
set ext=%2 
23.
set neuername=%~n1% 
24.
set neuername=%neuername%_%ext% 
25.
ren %1 %neuername% 2>nul 
26.
goto :eof 
27.
rem ======== Ende make ============= 
28.
 
29.
:noFiles 
30.
echo noFiles 
31.
:ende 
32.
pause
Mitglied: LotPings
11.05.2009 um 19:13 Uhr
Hallo kasimodo,

du willst die Anzahl der Dateien eines Typs an den Namen aller dieser Dateien anhängen?

Die Variable ext in der Sub make sollte dann doch besser Count heißen?

Die Bedeutung der For /L Schleife erschließt sich mir nicht so ganz, wenn die mit Zähler 1 durchgelaufen ist, gibt es doch keine Dateien mit der Erweiterung %datTyp% mehr?

Die Zählung kannst du einfacher und von der Sprache unabhängig haben:
for /f %%i in ('dir /B /A-D "%Verz%\*.%datTyp%" ^|find /V /C "" ') do Set DATANZ=%%i

Gruß
LotPings
Bitte warten ..
Mitglied: kasimodo
11.05.2009 um 22:10 Uhr
hallo LotPings

du willst die Anzahl der Dateien eines Typs an den Namen aller dieser Dateien anhängen?
Nein, so war es nicht gedacht. da hab ich mich wohl nicht richtig ausgedrückt. Ich möchte folgendes erreichen:

ab.tif -> ab_0001.tif
cad.tif ->cad_0002.tif
fab.tif -> fab_0003.tif

usw. bis alle TIF im Ordner umbenannt sind!

Die Anzahl der TIF (DATZAHL) aus der ersten FOR-Schleife -> um den Lauf der zweiten FOR-Schleife zu begrenzen.

Mein "TRICK" ->
Nach jedem Durchlauf der zweiten FOR Schleife "verschwindet" eine TIF-Datei (Umbenennen mit anhängen vom Zähler ohne Dateierweiterung) Es wird die nächste (jetzt erste) Datei mit Endung TIF genommen und der Zähler erhöht.
Nachdem alle TIF-Dateien nach dem Lauf der zweiten FOR-Schleife einen Zähler aber dafür keine Erweiterung mehr haben, da werden zu Schluß alle Dateien OHNE Erweiterung nach *.tif umbenannt. (etwas gewagt - es könnten ja auch andere Dateien ohne Endung existieren )

Da diese "Konstruktion" nicht so elegant ist, darum die Frage wie man es besser lösen könnte. Meine Lösung zum Zähler ist ja auch etwas gewagt -Oder?

Danke im voraus &
vg kasimodo
Bitte warten ..
Mitglied: LotPings
11.05.2009 um 23:02 Uhr
Zitat von kasimodo:
Da diese "Konstruktion" nicht so elegant ist, darum die Frage wie man es besser lösen könnte. Meine Lösung um Zähler ist ja auch etwas gewagt -Oder?

Was heißt gewagt, unnötig kompliziert.

So einfach kann es sein:
01.
:: AppendCounter.cmd :::::::::::::::::::::::::::::::::::::::::::::::: 
02.
@echo off&setlocal 
03.
set Verz=%1 
04.
set datTyp=%2 
05.
Pushd "%Verz%" 
06.
For /f "Tokens=1,* Delims=:" %%i in ( 
07.
  'dir /B /A-D "*.%datTyp%" ^|findstr /N "." ' 
08.
    ) do Echo Ren "%%~fj" "%%~nj_%%i%%~xj" 
09.
Popd 
10.
:: AppendCounter.cmd ::::::::::::::::::::::::::::::::::::::::::::::::
Solange das Echo vor dem Ren steht, wird nur angezeigt was umbenannt würde.

Gruß
LotPings
Bitte warten ..
Mitglied: kasimodo
11.05.2009 um 23:59 Uhr
@LotPings

Ich habe einen kleinen Moment gebraucht - dann deinen Code verstanden.
Der ist wirklich um einiges einfacher!!

!! DANKE!!

Darf ich bescheiden noch nachfragen wie man den Zähler (%%i) in eine Ausgabe als vierstelliges Format bekommt. (z.B 0001, 0002 .... 0015 ...0157). Dies ich für mich wichtig. Ich brauche es wegen einer Übergabe der Dateien an ein anders Programm.

Danke im voraus
kasimodo
Bitte warten ..
Mitglied: LotPings
12.05.2009 um 00:25 Uhr
Fast genauso wie bei deiner Version
01.
:: AppendCounter.cmd :::::::::::::::::::::::::::::::::::::::::::::::: 
02.
@echo off&setlocal EnableDelayedExpansion 
03.
set Verz=%1 
04.
set datTyp=%2 
05.
Pushd "%Verz%" 
06.
For /f "Tokens=1,* Delims=:" %%i in ( 
07.
  'dir /B /A-D "*.%datTyp%" ^|findstr /N "." ' 
08.
    ) do Set /A "Z=10000+%%i"&Echo Ren "%%~fj" "%%~nj_!Z:~-4!%%~xj" 
09.
Popd 
10.
:: AppendCounter.cmd ::::::::::::::::::::::::::::::::::::::::::::::::
Gute Nacht!
Bitte warten ..
Mitglied: kasimodo
12.05.2009 um 00:45 Uhr
@LotPings

Genau so! Sieht doch viel besser aus als meine Lösung!!!!
Und wieder etwas gelernt!

Vielen DANK!

vg kasimodo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien in einen Ordner zählen mit einer bestimmten Dateiendung
Frage von tommhiiBatch & Shell4 Kommentare

Hallo , ich hab da mal ne Frage ich möchte in einen bestimmten Ordner nur Dateien mit der Endung ...

Windows 7
Dateinamen in Serie erweitern
gelöst Frage von DogukannWindows 74 Kommentare

Ich möchte von einer Liste die Dateinamen um 2 Wörter und ein Zeichen erweitern. z.B. hab ich eine fortlaufende ...

Batch & Shell
Dateiname mit Powershell erweitern
gelöst Frage von akoch85Batch & Shell28 Kommentare

Hallo, ich benötige ein Script mit dem ich meine Bilder die sich in einem Ordner befinden umbenenne bzw. erweitern ...

Batch & Shell
Dateien mit Zahlen im Dateinamen - ungerade oder gerade verschieben
gelöst Frage von flohhausBatch & Shell10 Kommentare

Hallo, ich habe eine Frage: die Ausgangssituation: im Ordner <Alle> sind alle Bilder mit hochgezählten Dateinamen : img000001.jpg, img000002.jpg, ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

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 1 TagWindows 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 1 TagWebbrowser

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 1 TagInternet4 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
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...