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

Zahlen in Dateinamen entfernen, durch Zufall welche hinzufügen

Frage Entwicklung Batch & Shell

Mitglied: d4shoerncheN

d4shoerncheN (Level 2) - Jetzt verbinden

24.01.2013, aktualisiert 11:35 Uhr, 2866 Aufrufe, 13 Kommentare

Guten Morgen, Community.

Dies ist wahrscheinlich eine Aufgabe für unseren @bastla, gerne nehme ich aber auch Hilfe von anderen Personen an.

Hier mein Anliegen.

Ich habe ein Verzeichnis mit mehreren Dateien, die unterschiedlich heißen. Einige Dateinamen mit Zahlen drin, andere wieder nicht.

Nun möchte ich das alle Zahlen aus dem Dateinamen entfernt werden. Danach sollen die Dateien neu mit Zahlen versehen werden, die vorne an den Dateinamen gehangen werden.

Versuche es anhand eines Beispieles zu erklären:

Verzeichnis Musik
Datei 1: lied.mp3
Datei 2: lied-2.mp3
Datei 3: 3-lied.mp3

Script macht aus den Dateien dann zuerst "lied.mp3, lied-.mp3 und -lied.mp3". Nun soll das Script erkennen, wie viele Dateien es sind. In dem Fall 3 und fügt nun die Zahlen 1-3 bzw. 001-003 inkl. "-"vorne an die Dateinamen und das willkürlich:

Datei 1: 001-lied-.mp3
Datei 2: 002--lied.mp3
Datei 3: 003-lied.mp3

Hoffe ihr könnt mir helfen.

Gruß
d4shoerncheN
Mitglied: colinardo
24.01.2013, aktualisiert um 13:19 Uhr
Das müsste gehen:
(Verzeichnis mit den MP3 Dateien in Zeile 3 eintragen)
01.
@echo off 
02.
setlocal ENABLEDELAYEDEXPANSION 
03.
set searchdir=C:\Musik\ 
04.
set searchextension=*.mp3 
05.
set counter=1 
06.
cd /d "%searchdir%" 
07.
for /f "tokens=*" %%i IN ('dir /b /A-D "%searchdir%%searchextension%"') DO @( 
08.
	call :removenumbers "%%i" 
09.
	echo !filename! 
10.
        move "%%i" "!filename!" 
11.
	set /A counter=!counter!+1 
12.
13.
goto end 
14.
 
15.
:removenumbers 
16.
set filename=%~1 
17.
set extension=%filename:~-4% 
18.
set filename=%filename:~,-4% 
19.
for /L %%k in (0,1,9) DO @(  
20.
	set filename=!filename:%%k=! 
21.
22.
set filename=00%counter%-%filename%%extension% 
23.
goto :eof 
24.
 
25.
:end 
26.
pause
Bitte warten ..
Mitglied: d4shoerncheN
24.01.2013 um 11:13 Uhr
Hallo, colinardo.

Vielen Dank für die schnelle Antwort. In der Shell zeigt er die Dateien nun wie gewünscht an, bis dahin funktioniert es also.

Gruß
Bitte warten ..
Mitglied: colinardo
24.01.2013 um 11:15 Uhr
Zur Info: Habe das Script oben mit der Umbenennen Funktion ergänzt

Grüße Uwe
Bitte warten ..
Mitglied: d4shoerncheN
24.01.2013, aktualisiert um 11:22 Uhr
Hallo,

habe ich auch gerade versucht. Sowohl mit als auch ohne
rem ren %%i !filename!
funktioniert es. Dateien zeigt er korrekt an, umbenennen tut er leider nicht.

NACHTRAG
Mein Fehler, funktioniert nun. Vielen Dank
Habe die komplette Zeile entfernt, nicht nur das "rem".

NACHTRAG 2
Gerade bemerkt, Script funktioniert leider nicht, wenn in dem Dateinamen ein Leerzeichen ist. Kann man eventuell das Script anpassen, dass er aus Leerzeichen "-" macht?

Gruß
Bitte warten ..
Mitglied: colinardo
24.01.2013, aktualisiert um 11:28 Uhr
Jetzt geht es mit Leerzeichen im Namen ... sorry

Ich lege Dir folgende Seite ans Herz (Alles rund um Stringmanipulationen per Batch):
http://www.dostips.com/DtTipsStringManipulation.php#Snippets.Remove
Bitte warten ..
Mitglied: d4shoerncheN
24.01.2013 um 11:27 Uhr
Bekomme
01.
001-------test.txt 
02.
002------test-.txt 
03.
003------test.txt 
04.
004-Neues 
05.
Das System kann die angegebene Datei nicht finden. 
06.
Drücken Sie eine beliebige Taste . . .
Bitte warten ..
Mitglied: colinardo
24.01.2013, aktualisiert um 13:19 Uhr
Ahhhh... hatte das "tokens=* in der ersten for-Schleife vergessen.
Habe das Script oben korrigiert jetzt läufts mit Leerzeichen im Namen!

eine kürzere Variante noch als Nachtrag:

01.
@echo off 
02.
setlocal ENABLEDELAYEDEXPANSION 
03.
set searchdir=C:\Musik\ 
04.
set searchextension=*.mp3 
05.
set counter=1 
06.
cd /d "%searchdir%" 
07.
for /f "tokens=*" %%i IN ('dir /b /A-D "%searchdir%%searchextension%"') DO ( 
08.
	set filename=%%i 
09.
 	set extension=!filename:~-4! 
10.
	set filename=!filename:~,-4! 
11.
	for /L %%k in (0,1,9) DO @(  
12.
		set filename=!filename:%%k=! 
13.
14.
	set finalname=00!counter!-!filename!!extension! 
15.
	echo !finalname! 
16.
        move "%%i" "!finalname!" 
17.
	set /A counter=!counter!+1 
18.
)
Bitte warten ..
Mitglied: d4shoerncheN
24.01.2013 um 12:20 Uhr
Funktioniert, besten Dank.

Gruß
d4shoerncheN
Bitte warten ..
Mitglied: 106543
24.01.2013, aktualisiert um 12:33 Uhr
Hi du,

hab bei euch mal mitgelesen und muss leider sagen, dass es bei mir nicht funktioniert
ja ich habe den Pfad angepasst auf C:\
ja ich hab da eine Testdatei namens Testosteron.mp3 erstellt.
habs dann mal anlaufen lassen und erstmal nichts passiert.
Nachdem ich dann ein "Pause" eingefügt habe, gibt er mir den richtigen neuen Dateinamen aus (logisch ist ja echo) und in der nächsten Zeile schreibt er
01.
Das System kann die angegebene Datei nicht finden.
liegt der fehler bei mir oder beim Skript ?
Nebenbei wahnsinnig schnell das Ganze zusammengebaut meinen Respekt

Grüße
Exzellius

PS: hab die verkürzte Version des Skriptes genommen

[EDIT]
Entwarnung !
Hab anscheinend nicht die Berechtigung zum Umbenennen auf C:\ -_-
ich hab die Datei zwar selbst erstellt, aber egal.
Sobald ich die Datei in meine Eigenen Dateien gelegt habe funktioniert alles wie gewünscht.
[/EDIT]
Bitte warten ..
Mitglied: colinardo
24.01.2013 um 12:32 Uhr
dann musst du noch auf das jeweilige Laufwerk wechseln wenn du das Script von einem anderen Laufwerk aus aufrufst:
z.b mit
01.
c:
baue das noch oben in das Script mit ein ...
Bitte warten ..
Mitglied: 106543
24.01.2013 um 12:34 Uhr
Oder das :D jo danke dir hast mir sehr geholfen.

Grüße
Exzellius
Bitte warten ..
Mitglied: bastla
24.01.2013 um 13:14 Uhr
@ colinardo
Anstelle von Kunststücken wie
01.
%searchdir:~0,2% 
02.
cd "%searchdir%"
(wobei Du Dich auch noch darauf verlassen musst, dass der Pfad tatsächlich mit einer Laufwerksangabe beginnt) würde sich vielleicht ein
cd /d "%searchdir%"
aufdrängen (wenn schon kein PushD / PopD benötigt werden sollte) ...

Grüße
bastla
Bitte warten ..
Mitglied: colinardo
24.01.2013 um 13:18 Uhr
merci @bastla , man lernt halt immer was dazu !
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Txt auslesen zähler hinzufügen
gelöst Frage von NewNoobBatch & Shell9 Kommentare

Und zwar möchte ich eine batch schreiben in dem ich alle verknüpfungen suche und dann lösche ausser in bestimmten ...

Batch & Shell
Leerzeichen aus Dateinamen entfernen
gelöst Frage von noob-xBatch & Shell3 Kommentare

Hallo Profis, ich möchte bei vielen Dateien in einem Ordner die Leerzeichen aus den Dateinamen entfernen Dateien sehen so ...

Exchange Server
Exchange aus Domäne entfernen und wieder hinzufügen
Frage von liptoniceExchange Server6 Kommentare

Hallo, ich habe ein Problem mit meinen Domänencontroller gehabt. Es gab Probleme zwischen der Replikation eines zweiten Domänencontrollers. Nach ...

Batch & Shell
CMD - Stern und Sonderzeichen in Dateinamen entfernen
Frage von batch2goBatch & Shell14 Kommentare

Gueten Tag zusammen Mit grossem Interesse lese ich euer Beiträge (und würde mich an dieser Stelle als Azubi bezeichnen). ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 2 StundenVerschlüsselung & Zertifikate

Interessant SSH-Kommando in CMD.exe und PowerShell

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 ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 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 prodriveNetzwerkmanagement17 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 ...