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
Kommentar vom Moderator Biber am 19.11.2014 um 18:59:53 Uhr
Zitat von ITvortex:
  • Wie kann ich eine Datei umbennen?
Niemand kann das.

Set /a rgc+=1
#891

Batch - Dateinamen auslesen, umbenennen + dreistellige Zahl vor bisherigen Dateinamen setzen.

Frage Entwicklung Batch & Shell

Mitglied: citroendsvier

citroendsvier (Level 1) - Jetzt verbinden

28.10.2014, aktualisiert 10:11 Uhr, 2002 Aufrufe, 4 Kommentare

Hallo und guten Morgen,

ich möchte für drei Ordner (2011, 2013, 2014) eine Batch schreiben, die die darin enthaltenen mp3 und m4a's umbenennt. Bisher heißen diese ([Autor] - [Titel]) ; für ein neues System im Haus, das leider nicht mit Titelnummern arbeitet/arbeiten kann, möchte ich die Titelnummern vor den Autor schreiben: ([titelnummer] [Autor] - [Titel]). Absoluter Luxus wäre natürlich, dass er das ganze nur bei neu hinzugefügten Titeln macht, d.h. erkennt, ob die ersten drei Zeichen des Dateinamens drei Ziffern sind und diese Datei dann überspringt (Wäre mit VBS wahrscheinlich einfacher umzusetzen?).

Ich habe leider keine Ahnung, wie ich jeden einzelnen Dateinamen auslesen soll. Evtl wäre es ja schön, die Titelnummer vornean zu schreiben, allerdings kenne ich die Methode hierfür nicht (VBS: fso.getfile.TITELNUMMER)...

Danke für jeden Tipp!

LG DS4 V40

EDIT: Ja, ich habe schon sämtliches durchsucht, hat mir aber nicht weitergeholfen...
Mitglied: ITvortex
28.10.2014, aktualisiert um 11:10 Uhr
Guten Morgen!

Wenn du dein Problem nicht lösen kannst dann zerlege es in Teil-Probleme!

In deinem Fall:

  • Wie kann ich den Dateinamen auslesen?
  • Wie kann ich eine Datei umbennen?
  • Wie kann ich eine dreistellige Zahl vor den Dateinamen setzen?


Wenn du nun nach den Teilproblemen suchst, wirst du eine Antwort finden.

Versuch die 3 Teilproble zu lösen und setze die Lösungen zu einer zusammen, und schon funktioniert es

Liebe Grüße
ITvortex
Bitte warten ..
Mitglied: citroendsvier
28.10.2014, aktualisiert um 14:45 Uhr
In meinem Fall:
wie nehme ich mir jede einzelne Datei vor?!
Umbenennen: rename [folgende Datei] xxx+[alter Dateiname]

Da ist mein Problem

Des weiteren ist wichtig, dass die Titelnummer = der Nummer am Anfang des Dateinamens ist. Aber wie kann ich die Titelnummer auslesen?! (Wenn ich die Dateien auflisten lasse, sind sie alphabetisch sortiert -> wenn ich eine durchlaufende Nummer vergebe, stimmt die Titelnummer nicht mehr.)
Bitte warten ..
Mitglied: ITvortex
28.10.2014 um 15:35 Uhr
Dateinamen:
@for /f "delims=" %s in ('dir /b "C:\DeinOrdner\*.mp3"') do @echo %~ns
Zum Beispiel bekommst du so die Dateinamen.... Dann musst du sie halt weiterleiten.. oder was auch immer, darum sag ich ja versuch die Teilprobleme zu lösen oder google explizit danach
Bitte warten ..
Mitglied: citroendsvier
28.10.2014, aktualisiert 03.11.2014
Ich habe das ganze jetzt als VBS geschrieben. Doch in der Loop Schleife am Ende sagt er immer ,,Datei existiert bereits" oder ,,Datei wurde nicht gefunden". Wo liegt mein Fehler?

Danke für deine Hilfe

01.
 
02.
'--------------------------------------------------------------------------------------------------------- 
03.
' Rename.vbs - Script zum hinzufügen der Titelnummer zum Dateinamen 
04.
'--------------------------------------------------------------------------------------------------------- 
05.
 
06.
Option Explicit 
07.
Dim WshShell :		Set WshShell		= CreateObject("WScript.Shell") 
08.
Dim FSO :		Set FSO			= CreateObject("Scripting.FileSystemObject") 
09.
Dim WshApplication :	Set WshApplication 	= CreateObject("Shell.Application") 
10.
Dim tmpBatchRunner, tmpActualFile, Drive, Folder, FolderItem, strHeader, strValue, Year, File, FileNameFile, FileOldName, strNewValue 
11.
 
12.
Year = InputBox("Welches Jahr moechten Sie ueberarbeiten?" & vbCR & "Gültige Eingaben: 2011, 2013, 2014") 
13.
 
14.
if Not Year = "2011" And Not Year = "2013" And Not Year = "2014" Then WScript.Quit 
15.
 
16.
Set tmpBatchRunner = FSO.CreateTextFile("Batchrunner.bat", True) 
17.
tmpBatchRunner.writeline("if exist FileNames.txt del FileNames.txt") 	'Batch löscht "FileNames.txt" 
18.
tmpBatchRunner.writeline("dir /b>FileNames.txt") 						'Batch schreibt "FileNames.txt" mit den Namen der Dateien. 
19.
tmpBatchRunner.Close 
20.
set tmpBatchRunner = nothing 
21.
WshShell.Run "Batchrunner.bat" 
22.
 
23.
' Dateinamen Zeile für Zeile aus "FileNames.txt" auslesen 
24.
 
25.
Drive = left(WScript.ScriptFullName, 1) 
26.
Set Folder = WshApplication.NameSpace(Drive & ":\Geordnete Musik\" & Year) 
27.
'strHeader = Folder.GetDetailsOf(Folder.Items, 26) 	'26 - Titelnummer 
28.
 
29.
WScript.Sleep 3000 ' 3 sek 
30.
Set FileNameFile = FSO.OpenTextFile("FileNames.txt",,True) 
31.
 
32.
Do Until FileNameFile.AtEndOfStream 'Anzahl der Dateien im Ordner %Year% 
33.
	tmpActualFile = FileNameFile.Readline 
34.
	if tmpActualFile = "Rename.vbs" or tmpActualFile = "FileNames.txt" or tmpActualFile = "BatchRunner.bat" or tmpActualFile = "" Then 
35.
	Else 
36.
		Set File = FSO.GetFile(tmpActualFile) 
37.
		Set FolderItem = Folder.ParseName(tmpActualFile) 
38.
		strValue = Folder.GetDetailsOf(FolderItem, 26) 
39.
	 
40.
		select case strValue 
41.
			case len(strValue) = 0 
42.
				Set strNewValue = nothing 
43.
			case len(strValue) = 1  
44.
				strNewValue = "00" & strValue & " " 
45.
			case len(strValue) = 2 
46.
				strNewValue = "0" & strValue & " " 
47.
			case len(strValue) = 3 
48.
				strNewValue = strValue & " " 
49.
			case len(strValue) > 3 
50.
				strNewValue = left(strValue, 3) & " " 
51.
		End Select 
52.
		FileOldName = File.Name 
53.
		'MsgBox strValue & vbCr & FileOldName 
54.
		File.Name = strNewValue & FileOldName 
55.
	End if 
56.
Loop
EDIT: Das Folder.GetDetailsOf(..., 26) gibt die Titelnummer zurück

EDIT EDIT: Das select case ist natürlich falsch... Entschuldigung Habe jetzt jeden einzelnen Fall durch eine if Abfrage ersetzt, aber wieso hängt er sich nach 50 Titeln auf?

Letzes EDIT: Auch das mehrmalige Öffnen der bat ist überflüssig, sind einige Versuche Aufgrund von Fehlermeldungen gewesen...
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

Batch & Shell
gelöst Mit batch zeilen auslesen (2)

Frage von keksegriller zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien (PDF) umbenennen via batch, teilw. Dateinamen übernehmen, neues Präfix (6)

Frage von brause1701 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...