Scheinbar gibt es ein Problem mit den Variablen, die in der neuesten Version übergeben werden. Ich erhalte Folgendes, wobei mehrere offenbar falsch positioniert oder einfach inkorrekt sind.
Dies kommt direkt von MCE
BatFileName “E:\VideoCaptures\Cleaned Files\TVTransfer.bat”
VideoOutPut “Zoo Oz is Oz s03 e06 08-03-2017”
VideoInPut “Zoo-S03E06-OzIsOz-62982148-0”
FolderOutPut “E:\VideoCaptures\Cleaned Files”
VideoWidth “1080”
OutputExt “.ts”
FileSize “6”
Month “988.95”
Year “03”
Season “2017”
Alles nach OutputExt ist nicht korrekt.
So sieht es bei manueller Ausführung aus, was korrekt ist.
BatFileName “E:\VideoCaptures\Cleaned Files\TVTransfer.bat”
VideoOutPut “Zoo Oz is Oz s03 e06 08-03-2017”
VideoInPut “Zoo-S03E06-OzIsOz-62982148-0”
FolderOutPut “E:\VideoCaptures\Cleaned Files”
VideoWidth “1080”
OutputExt “.ts”
FileSize “6” <<<< Ich dachte, das sollte in MB und nicht in GB sein???
Month “06”
Year “2017”
Season “03”
Hast du versucht, die Rohdaten, die von MCEBuddy an den benutzerdefinierten Befehl übergeben werden, in eine Datei zu schreiben? Poste sie hier. Möglicherweise hat das Skript, das sie parst, ein Problem. Füge auch dein Konvertierungsprotokoll bei.
Ich denke, MCEBuddy gibt die Dateigröße als 6,988.95 aus, und dein Skript teilt sie mit , als Trennzeichen auf. Oder die Codepage deines Terminals ist auf eine Version eingestellt, in der das Komma durch ein Leerzeichen ersetzt wird. Schau dir noch einmal die Rohausgabe von MCEBuddy an.
Ich bin gerade nicht zu Hause, also werde ich das Protokoll heute Abend hochladen, aber ich weiß nicht, wie man die Rohdaten extrahiert. Ich verwende dieselben Funktionen wie im anderen Thread.
BEARBEITUNG: Dies ist die .bat, die in MCE aufgerufen wird, also sollte sie völlig unverändert sein.
ECHO ON
setlocal EnableDelayedExpansion
SET BatFile=“E:\\VideoCaptures\\Cleaned Files\\TVTransfer.bat"
SET OutputFileName=”%~n1"
SET InputFileName="%~n2"
SET FolderOutput="%~3"
SET WideoWidth="%~4"
SET OutputExtension="%~5"
SET OutputFileSize="%~6"
SET OADMonth="%~7"
SET OADDay="%~8"
SET OADYear="%~9"
SHIFT /4
SET SEASON=%~9
echo BatFileName %BatFile% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo VideoOutPut %OutputFileName% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo VideoInPut %InputFileName% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo FolderOutPut %FolderOutput% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo VideoWidth %WideoWidth% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo OutputExt %OutputExtension% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo FileSize %OutputFileSize% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo Month %OADMonth% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo Year %OADYear% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
echo Season %SEASON% >> C:\\Users\\Wolverine\\Desktop\\MCEVARS.txt
Call %BatFile% %OutputFileName% %InputFileName% %FolderOutput% %WideoWidth% %OutputExtension% %OutputFileSize% %OADMonth% %OADDay% %OADYear% %SEASON%
Ok, ich werde das Log prüfen, denn ich verstehe einfach nicht, was du mit Rohdaten meinst. Die Batch-Datei übergibt die Daten, die von MCE kommen, an die Textdatei. Ich berühre die Variablendaten nicht, bevor sie in die Textdatei gelangen.
Dein Skript parst die Argumente, und da liegt meiner Meinung nach das Problem (Terminal-Codepage-Probleme). Sieh dir diesen Artikel an, um die gesamte Befehlszeile und alle Argumente ohne Verarbeitung zu erhalten (oder noch besser: Du findest sie in der Protokolldatei – sieh, was MCEbuddy an die Batch-Datei der Eingabeaufforderung sendet, und vergleiche das mit dem, was deine Batch-Datei erhält).
Du hast es erkannt, es war tatsächlich das Komma in der Dateigrößen-Variable. Mann, das Komma hat mir noch mehr Ärger bereitet als nur die Eingabe-.bat-Datei. Es hat praktisch mein „Worker“-.bat-Skript auseinandergenommen… Nach 2 Stunden denke ich, dass ich es jetzt sortiert habe. Teste gerade.
Das war ein großartiger Thread, danke dafür. Jetzt verstehe ich ein kleines bisschen mehr.