multiplexy
Goto Top

Script anpassung

Hallo zusammen,
Ich benötige mal eure Hilfe, es geht darum den folgenden Code anzupassen, das die letzten 2 Ordner im Dateinamen stehen?


for /r %%i in (.) do (if exist %%i\*.mp3 dir /b "%%i\*.mp3">"%%i\00.Play %%~nxi.m3u")

Als Beispiel : D:\Musik\BELL BOOK AND CANDLE\1997 - READ MY SIGN

wird jetzt immer 00.Play 1997 - READ MY SIGN.m3u angelegt.
Ist es machbar, 00.Play BELL BOOK AND CANDLE - 1997 - READ MY SIGN.m3u daraus zu machen?

Ich habe leider nicht die Kenntnisse dazu, jedoch erspart das eine Menge Handarbeit.
Für eure Unterstützung wäre ich euch sehr Dankbar!

Content-Key: 385301

Url: https://administrator.de/contentid/385301

Printed on: April 24, 2024 at 23:04 o'clock

Mitglied: 137084
Solution 137084 Sep 03, 2018 updated at 11:30:28 (UTC)
Goto Top
@echo off
powershell -Executionpolicy Bypass -NoProfile -Command "dir -Recurse | ?{$_.PSIsContainer -and $_.GetFiles().Count -gt 0} | %%{sc -Value (dir -LiteralPath $_.Fullname -Filter *.mp3 -Name) -LiteralPath \"$($_.Fullname)\00.Play $($_.Parent.Name) - $($_.Name).m3u\"}"  
Member: Multiplexy
Multiplexy Sep 03, 2018 at 10:10:43 (UTC)
Goto Top
Sollte wenn möglich schon in der form bleiben, da noch weitere scripte angehangen sind. da hilft mir Powershell leider nicht weiter.
Mitglied: 137084
137084 Sep 03, 2018 updated at 10:13:24 (UTC)
Goto Top
Das ist Batch face-smile kannst du direkt so in deine Batch packen ...
Member: Multiplexy
Multiplexy Sep 03, 2018 at 10:33:26 (UTC)
Goto Top
Endet leider so:

Die Benennung "NoProfile" wurde nicht als Name eines Cmdlet, einer Funktion, ei
ner Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die S
chreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wi
ederholen Sie den Vorgang.
Bei Zeile:1 Zeichen:10

back-to-topNoProfile <<<< -Command dir -Recurse | ?{$_.PSIsContainer -and $_.GetFiles()

.Count -gt 0} | %{sc -Value (dir $_.Fullname -Filter *.mp3 | select -Expand Ful
lname) -Path "$($_.Fullname)\00.Play $($_.Parent.Name) - $($_.Name).m3u"}
+ CategoryInfo : ObjectNotFound: (NoProfile:String) , CommandNo
tFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Mitglied: 137084
137084 Sep 03, 2018 updated at 10:34:36 (UTC)
Goto Top
Nur ein Tippfehler (Dash hat gefehlt), ist oben verbessert.
Member: Multiplexy
Multiplexy Sep 03, 2018 at 10:42:59 (UTC)
Goto Top
Soweit funktioniert es, leider hab ich jetzt das Problem, dass nicht nur die mp3-Dateien, sondern auch der ganze Pfad in der Datei erfasst wird.
Das ist wiederum schlecht, da ich dann die Dateien nicht verschieben darf.
Mitglied: 137084
137084 Sep 03, 2018 updated at 10:43:54 (UTC)
Goto Top
Zitat von @Multiplexy:

Soweit funktioniert es, leider hab ich jetzt das Problem, dass nicht nur die mp3-Dateien, sondern auch der ganze Pfad in der Datei erfasst wird.
Das ist wiederum schlecht, da ich dann die Dateien nicht verschieben darf.
Auch das ist kein Problem, ist oben passend angepasst.
Member: Multiplexy
Multiplexy Sep 03, 2018 at 10:54:13 (UTC)
Goto Top
Vielen lieben Dank, es geht einwandfrei !
Member: Multiplexy
Multiplexy Sep 03, 2018 at 11:23:21 (UTC)
Goto Top
klappt leider doch nicht vollständig

Set-Content : Der angegebene Pfad und/oder Dateiname ist zu lang. Der vollständ
ig qualifizierte Dateiname muss kürzer als 260 Zeichen und der Pfadname kürzer
als 248 Zeichen sein.
Bei Zeile:1 Zeichen:73

back-to-topdir -Recurse | ?{$_.PSIsContainer -and $_.GetFiles().Count -gt 0} | %{sc <<<<

-Value (dir $_.Fullname -Filter *.mp3 -Name) -Path "$($_.Fullname)\00.$($_.Pa
rent.Name) - $($_.Name).m3u"}
+ CategoryInfo : InvalidArgument: (Y:\Audio\SAMPLE... HITS 1989).
m3u:String) [Set-Content], PathTooLongException
+ FullyQualifiedErrorId : ItemExistsPathTooLongError,Microsoft.PowerShell.
Commands.SetContentCommand

dazu kommen leider noch Probleme mit platzhaltern...
Mitglied: 137084
137084 Sep 03, 2018 updated at 11:27:46 (UTC)
Goto Top
Der angegebene Pfad und/oder Dateiname ist zu lang. Der vollständ ig qualifizierte Dateiname muss kürzer als 260 Zeichen und der Pfadname kürzer als 248 Zeichen sein.
Steht doch da, damit würdest du auch in deiner Batch Probleme bekommen. Deine Pfade sind zu lang, also erst korrigieren, oder in Windows lange Pfade aktivieren.
dazu kommen leider noch Probleme mit platzhaltern...
Nöp hab ich hier nicht, Aussage ist leider zu schwammig kann keiner was mit anfangen.
Member: Multiplexy
Multiplexy Sep 03, 2018 at 11:27:59 (UTC)
Goto Top
wenn im mp3 dateiname eine ( oder [vorhanden ist, überspringt er den pfad leider
Mitglied: 137084
137084 Sep 03, 2018 updated at 11:31:17 (UTC)
Goto Top
Dann hast du noch die alte Version kopiert, noch mal kopieren bitte.
Member: Multiplexy
Multiplexy Sep 03, 2018 at 11:38:42 (UTC)
Goto Top
Danke, jetzt bleibt nur noch mein Problem, dass ich diver Pfadlängen abändern muss.

Danke für deine Geduld!!!
Mitglied: 137084
137084 Sep 03, 2018 at 11:39:35 (UTC)
Goto Top