MP3 Sortieralgorithmus
Hallo Community,
ich versuche mir per Power-Shell einen einfachen Sortieralgorithmus für meine MP3 Downloads zu erstellen. (Falls die Frage aufkommt... Nein es sind keine Raubkopien... ich nehme mir mit spezieller Software Lieder, die über Webradios gespielt werden, legal auf.) Da ich eine extrem gute Verbindung habe können dies innerhalb eines Arbeitstages schon 5-10k Mp3´s sein. Jetzt wollte ich mir ein Programm schreiben das 2 Textdateien abarbeiten soll und die Einträge in der "OK" Liste in einen neuen Ordner verschieben und die Einträge in der "NichtOK" Liste einfach löschen. Mein Programm funktioniert jetzt bereits soweit, das es mir die Bands aus der OK liste in einen Ordner verschiebt.
Ich habe mal mein "Programm" unten angefügt und konkret handelt es sich um die Teile mit "=>". Hier will ich, dass ein Ordner mit dem namen der Band angelegt wird. (also im Ordner TEST existiert dann ein Ordner z.B.: "Black Sabbath"). Nur finde ich im Internet irgendwie gerade nicht, wie ich den Befehl MD mit einer Variablen kombinieren soll %$Band% oder %band% funktionieren irgendwie auch nicht
Ach ja bitte ned allzuarg lachen
das ist mein erstes Programmierprojekt 
Hier nun das Progrämmchen...
$array =Get-content d:\Projekt\OKListe.txt
$counter = 0
$newDirectory = 0
$mp3="*.mp3"
do{
$newDirectory = $array[$counter]
$newDirectory = $newDirectory.replace("*"," ")
$newDirectory = $newDirectory.replace("?"," ")
$Band =$array[$counter]+$mp3
if ((Test-Path F:\test) -ne $True)
{
new-item F:\test -ItemType directory
}
=> move-item -path d:\projekt\$Band -destination F:\test
=> md f:\test\$Band
$counter++
}
while ($counter -le $array.count-1)
ich versuche mir per Power-Shell einen einfachen Sortieralgorithmus für meine MP3 Downloads zu erstellen. (Falls die Frage aufkommt... Nein es sind keine Raubkopien... ich nehme mir mit spezieller Software Lieder, die über Webradios gespielt werden, legal auf.) Da ich eine extrem gute Verbindung habe können dies innerhalb eines Arbeitstages schon 5-10k Mp3´s sein. Jetzt wollte ich mir ein Programm schreiben das 2 Textdateien abarbeiten soll und die Einträge in der "OK" Liste in einen neuen Ordner verschieben und die Einträge in der "NichtOK" Liste einfach löschen. Mein Programm funktioniert jetzt bereits soweit, das es mir die Bands aus der OK liste in einen Ordner verschiebt.
Ich habe mal mein "Programm" unten angefügt und konkret handelt es sich um die Teile mit "=>". Hier will ich, dass ein Ordner mit dem namen der Band angelegt wird. (also im Ordner TEST existiert dann ein Ordner z.B.: "Black Sabbath"). Nur finde ich im Internet irgendwie gerade nicht, wie ich den Befehl MD mit einer Variablen kombinieren soll %$Band% oder %band% funktionieren irgendwie auch nicht
Ach ja bitte ned allzuarg lachen
Hier nun das Progrämmchen...
$array =Get-content d:\Projekt\OKListe.txt
$counter = 0
$newDirectory = 0
$mp3="*.mp3"
do{
$newDirectory = $array[$counter]
$newDirectory = $newDirectory.replace("*"," ")
$newDirectory = $newDirectory.replace("?"," ")
$Band =$array[$counter]+$mp3
if ((Test-Path F:\test) -ne $True)
{
new-item F:\test -ItemType directory
}
=> move-item -path d:\projekt\$Band -destination F:\test
=> md f:\test\$Band
$counter++
}
while ($counter -le $array.count-1)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 240978
Url: https://administrator.de/forum/mp3-sortieralgorithmus-240978.html
Ausgedruckt am: 25.04.2025 um 13:04 Uhr
9 Kommentare
Neuester Kommentar
Moin Sarana, Willkommen auf Administrator.de!
Viel Spaß bei entziffern 
p.s. die Variable $newDirectory verwendest du nirgendwo ... ?
Grüße Uwe
Ach ja bitte ned allzuarg lachen face-smile das ist mein erstes Programmierprojekt face-smile
Machen wir nicht, ließe sich aber auf eine Zeile reduzieren (wenn ich deinen Code richtig interpretiert habe):gc "d:\Projekt\OKListe.txt" | %{$bandDIR = "F:\Test\$_"; if(!(Test-Path $bandDIR )){md $bandDIR -Force}; move-item "D:\projekt\$_*.mp3" $bandDIR -Force}
p.s. die Variable $newDirectory verwendest du nirgendwo ... ?
Grüße Uwe
[OT]
Hi Xaero,
: Du kannst die Code-Tags hier im Text auch richtig ausschreiben:
dazu schreibst du diese mit einem Dummy folgendermaßen:

[/OT]
Grüße Uwe
Hi Xaero,
Zitat von @Xaero1982:
gibt es nur, wenn du Code-Tags benutzt. <"code"> und <"/code"> ohne "" -> oben auf
Bearbeiten klicken und bitte anpassen.
ein kleiner Tipp nebenbei gibt es nur, wenn du Code-Tags benutzt. <"code"> und <"/code"> ohne "" -> oben auf
Bearbeiten klicken und bitte anpassen.
<code> Quelltext </code>
dazu schreibst du diese mit einem Dummy folgendermaßen:

[/OT]
Grüße Uwe
naja ohne das wir genauere Spezifikationen bzw. Beispiele aus deinem Textfile bzw. deines Vorhabens haben, schwer deine Ansprüche exakt umzusetzen.
Und bitte nutze Code-Tags für deinen Quellcode:
und schau dir bitte mal das foreach() Konstrukt an dann brauchst du das Gebastel mit dem do while und dem counter nicht:
Bitte konsultiere zuerst diese Referenzen, für einen Grundkurs in Powershell ist das Forum eigentlich zu schade ... ich fahr ja auch kein Auto ohne Führerschein 
Powershell Grundlagen- und Praxisvermittlung:
Viel Erfolg
Grüße Uwe
Und bitte nutze Code-Tags für deinen Quellcode:
<code> Quellcode </code>
, ansonsten kommen uns hier eventuell wichtige Sonderzeichen abhanden, hatten wir aber oben schon zwei mal erwähnt!Ach eine frage noch... wie kann ich denn in meinem "programm" ein anderes Programm aufrufen? (nur so aus interesse)
http://social.technet.microsoft.com/wiki/contents/articles/7703.powersh ..."C:\deinprogramm.exe"
start-process "C:\Deinprogramm.exe"
foreach($line in $array){
...
}
Powershell Grundlagen- und Praxisvermittlung:
- http://www.powershellpraxis.de/
- http://www.msxfaq.de/code/powershell/powershell.htm
- PowerShell for Runaways - Part I
- PowerShell For Runaways - Part II
- http://powershell.com/cs/
- http://powershell.com/cs/media/13/default.aspx
Viel Erfolg
Grüße Uwe