MUT: Namensteil als neuer Ordner und Dateien einsortieren.

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
mbathen
Junior Member
Junior Member
Posts: 69
Joined: 2007-09-08, 10:26 UTC

MUT: Namensteil als neuer Ordner und Dateien einsortieren.

Post by *mbathen »

Kollege hat beim Rippen zig CDs in den selben Ordner gespeichert Ich möchte nun den Interpreten als Ordner und die Dateien darin speichern. Zum Glück ist der Dateiname immer gleich aufgebaut wie

A Girl I Knew - Steppenwolf.mp3

Wäre sehr nett, wenn mir jemand hilft.
--
Manfred
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

VBScript: Split files at hyphen and Move files to sub folder

Post by *Stefan2 »

>> Kollege hat beim Rippen zig CDs in den selben Ordner gespeichert
>> Ich möchte nun den Interpreten als Ordner und die Dateien darin speichern.
>> Zum Glück ist der Dateiname immer gleich aufgebaut wie: A Girl I Knew - Steppenwolf.mp3

VON:
X:\MP3\A Girl I Knew - Steppenwolf.mp3
X:\MP3\Nicht eine Stunde - Tut Mir Leid (1977).ext

ZU:
X:\MP3\Steppenwolf\A Girl I Knew - Steppenwolf.mp3
X:\MP3\Tut Mir Leid (1977)\Nicht eine Stunde - Tut Mir Leid (1977).ext


Versuch mal das:

_ForEachSelFileDo-MoveToSubfolder.vbs

Code: Select all

'// Purpose: Split files at hyphen and Move files to sub folder
'	Kollege hat beim Rippen zig CDs in den selben Ordner gespeichert 
'	Ich möchte nun den Interpreten als Ordner und die Dateien darin speichern. 
'	Zum Glück ist der Dateiname immer gleich aufgebaut wie: A Girl I Knew - Steppenwolf.mp3 
'// VBScript for TC, by Stefan, v00.1, 2015-12-18, http://ghisler.ch/board/viewtopic.php?p=303373#303373
'// TC Button
'// CMD: 	path\to\this\script.vbs
'// PARAM: "%L"
'// USAGE: Select your files, execute this script... done.
On Error Resume Next
Const FORREADING = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSO   = Wscript.CreateObject("WScript.Shell")
sTCtempList = Wscript.arguments.Item(0) ' The TC temp file due the "%L"
If  FSO.FileExists(sTCtempList) Then
  'MsgBox "Tempfile is: " & sTCtempList    '>> C:\Users\myusername\AppData\Local\Temp\CMDB034.tmp
  'WSO.run "notepad " & sTCtempList

  Set oTextStream = FSO.OpenTextFile(sTCtempList,FORREADING)
  Do Until oTextStream.AtEndOfStream
	vFullName = oTextStream.ReadLine
	Set oFile = FSO.GetFile(vFullName)
	vFile     = FSO.GetFileName(oFile)
	vBase     = FSO.GetBaseName(oFile)
	vExte     = FSO.GetExtensionName(oFile)
	vName	  = vBase &"."&vExte
	sFolder	  = ""
	'sFolder = A Girl I Knew - >>Steppenwolf<<.mp3 // set 'sFolder' to "Steppenwolf"
	sFolder = RegExReplace(vBase, "^(.+) - (.+)$", "$2")
	If(sFolder<>"") Then
		If Not FSO.FolderExists(sFolder) Then FSO.CreateFolder sFolder
		'//Move file, do not overwrite existent one:
		FSO.MoveFile vFullName, sFolder & "\" & vName
	End If '(sFolder<>"")
  Loop
  oTextStream.Close
Else
  WScript.Echo "Input file  sTCtempList not found."
End If
Function RegExReplace(sValue, sPattern, sNValue)
    Dim oReg : Set oReg = New RegExp
    oReg.Pattern = sPattern
    RegExReplace = oReg.Replace(sValue, sNValue)
    Set oReg = Nothing
End Function


HTH? :D
Last edited by Stefan2 on 2015-12-18, 13:35 UTC, edited 1 time in total.
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2mbathen
Hier eine Alternative mit Boardmitteln. Im Mehrfach-Umbenenn-Tool:

Name: [N]
Erweiterung: [E]
Suchen nach: (.*) - (.*)\.mp3
Ersetzen durch: $2\\$1.mp3
E = [X]
RegEx = [X]
mbathen
Junior Member
Junior Member
Posts: 69
Joined: 2007-09-08, 10:26 UTC

Post by *mbathen »

@Lefteous

TC ist die reinste Wundertüte !! und Dein Vorschlag macht was es soll. Wieso auch nicht? Thumpsup.
--
Manfred
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2Stefan2
X:\MP3\Nicht eine Stunde - Tut Mir Leid (1977).ext
Die Scheibe scheint "Nicht eine Stunde Tut Mir Leid" zu heißen. Das ist aber der Name des Werkes, nicht der des Künstlers. Das ist wiederum Roland Kaiser :P
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

2Lefteous Jupp. Korrekt.
Aber... Ich habe nur das genommen, was g'rad da war. Auf die Details kam es mir da nicht so an.
Ich brauchte nur etwas als Demo-Objekt und hab' da mal schnell einen Bindestrich eingefügt.

Aber danke für die Aufklärung. Man weiß nie, für was es mal gut sein kann :D





 
Post Reply