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, 1887 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

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

Frage von keksegriller zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen umschreiben batch (5)

Frage von jocheng zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...