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 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)
Please also mark the comments that contributed to the solution of the article
Content-Key: 240978
Url: https://administrator.de/contentid/240978
Printed on: April 20, 2024 at 15:04 o'clock
9 Comments
Latest comment
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,
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 : Du kannst die Code-Tags hier im Text auch richtig ausschreiben: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