myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[GELÖST] Mediainfo > Filesize/String > Anzeige immer in KiB

Antwort
Themen-Optionen Ansicht
Ungelesen 23.08.14, 12:54   #1
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard [GELÖST] Mediainfo > Filesize/String > Anzeige immer in KiB

Hallo, ich habe eine Problem.

Ich möchte Filminfos auslesen und eine HTML, bzw. Textliste erstellen, habe einige Programme durchprobiert und bin immer wieder bei [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] gelandet.

Damit funktioniert es eigentlich auch so wie ich es haben will, aber eben nur eigentlich, bis auf die Dateigröße nämlich, die wird entweder als Raw in Bytes oder bunt gemischt in GiB, MiB, KiB und Bytes ausgegeben und das ist für mich etwas unübersichtlich und zudem wird im Explorer die Dateigröße eben auch in KiB angezeigt. Ohne jedesmal extra umzurechnen ist also eine Ausgabe in KiB erforderlich.

Mediainfo Listenausgabe (HTML) mit Parameter %filesize% gibt Bytes aus (mit /String Parameter gemischte Byte/KiB/MiB/GiB)

Ich bräuchte also einen Parameter oder eine Formel, die die Raw Bytegröße durch 1024 teilt und mit Separator in die Liste ausgibt [%filesize%/1024]. Gibt es dafür eine Lösung?

Ein nicht so wichtige Frage ist, ob es möglich wäre, bei der Ausgabe den Laufwerksbuchstaben wegzulassen, also nur \ordner\unterordner\

Hoffe sehr, dass mir jemand von Euch helfen kann.

Vielen Dank im voraus
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 25.08.14, 12:00   #2
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Mit welcher Kommandozeile startest du mediainfo?
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Ungelesen 25.08.14, 14:45   #3
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Hi Fryx, das Ergebnis oben erhalte ich in MediaInfoGUI (also einfach den Ordner oder die Dateien einlesen) mittels der Custom HTML (csv) Ausgabe, denke aber nicht, dass ich bei CLI andere Parameter zur Verfügung habe als bei der GUI, oder doch? Und was müssten dann für Angaben/Parameter in die Kommandozeile?

Das habe ich in der CSV
Code:
Page_Begin;<html><head><style type="text/css">html,body,table{font-size:x-small} html,body{margin:0} html,body{padding:0} table{empty-cells:show} td{white-space:nowrap}</style></head><body><table class="body" width="100%" border="1" cellpadding="1" cellspacing="0" style="border:0px">
Page_End;</table></body></html>
File_Begin;\r\n<tr>
File_End;</tr>
General;<td>%CompleteName%</td><td align="right">%FileSize%</td>
Video;<td>%Codec/String%<td align="right">%BitRate/String%</td><td>%Duration/String3%</td><td align="right">%Width%x%Height%</td><td>%FrameRate% fps</td>
Audio;<td>%Codec/String%<td>%BitRate/String%</td><td>%BitRate_Mode%</td><td>%Channel(s)%</td>
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 26.08.14, 00:29   #4
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Hey, ich arbeite nur mit der CLI, deshalb kann ich nur dazu was sagen. Wenn du dir mit --Info-Parameters die ganzen Parameter ausgeben lässt, die mediainfo so ausspucken kann, wirst du feststellen, dass bei den meisten nichts zurückgegeben wird. Um nun zu sehen, welche Parameter überhaupt was zurückgeben und was genau wie formatiert wird, hatte ich mir ein Batch Skript geschrieben, was die ganzen Parameter für ein Beispielvideo aufruft. Es benutzt das Unix-Tool [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] zum Formatieren, der Videodateiname wird als Kommandozeilenparameter übergeben.
Code:
@echo off &setlocal
for /f %%a in ('mediainfo --info-parameters^|sed -nr "1p;/^\s*$/{n;p}"') do if not "%%a"=="Other" for /f %%b in ('mediainfo --info-parameters^|sed -nr "/^%%a\s*$/,/^\s*$/{//!p}"') do @<nul set /p "=%%a;%%b " &if "%%b" neq "Inform" (for /f "delims=" %%c in ('mediainfo "--inform=%%a;%%%%b%%" "%~1"') do echo "%%c")||echo(
Wenn du nun nicht die passenden Parameter für dich findest, bleibt es einfach bei deinem obigen Template, dessen Ausgabe zum Formatieren in ein entsprechendes S***** (Perl o.ä.) gepiped wird.

Code:
MediaInfo --Output=file://Template.csv VideoFileName | perl -w FormatS*****.pl
Melde dich halt ggf. nochmal
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Folgendes Mitglied bedankte sich bei fryx:
Ungelesen 26.08.14, 19:14   #5
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Hallo Fryx, erstmal danke für Deine Antwort.

Ich habe SED heruntergeladen und die erste Code-Zeile in eine bat Datei kopiert und ausgeführt. Der Sinn der Batch war doch, welche Parameter von der CLI zurückgegeben werden, oder? Falls ja, habe ich, glaube ich zumindest, eigentlich dieselben Parameter bekommen wie in der GUI, allerdings im Schnelldurchlauf ohne Ausgabedatei, formatiert wurde da nichts, oder ich habe etwas grundlegend falsch gemacht.

Dann habe ich es mit der zweiten Zeile probiert (zunächst einmal nur die gleiche Ausgabe wie in der GUI zu bekommen), das ging soweit auch. Im nächsten Schritt wollte ich jetzt den Rest einfügen. Aber für was steht denn VideoFileName? Und was muß genau in das FormatS*****.pl, damit nur die filesize von Bytes in KiB umgerechnet wird? Und die Ausgabe wird dann hinter dem Perl-S***** angefügt > Resultat.html?

Tut mir leid, daß ich so dumm fragen muss, aber mir fehlt halt das Grundwissen...
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 27.08.14, 03:03   #6
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Ich kenne wie gesagt die GUI und ihre Leistungen nicht. Der erste Code sollte nur sämtliche verfügbaren Parameter darauf testen, was zurückgegeben wird. Und ob du evtl. was davon brauchen kannst. Was nicht der Fall zu sein scheint. Nun nehmen wir halt deine Ausgabe von bisher und formatieren die nach deinen Erfordernissen. Mein diesbezüglicher "Code" sollte nur als nicht funktionsfähiges Gerüst verstanden werden. Wie/womit hast du die csv erstellt?
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Ungelesen 27.08.14, 06:51   #7
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Ok, danke fryx, dann war das mit dem ersten Versuch also doch richtig so.

Die csv bearbeite ich mit dem normalen Texteditor, es gibt im Mediainfo/Plugin/Custom Ordner Examples, die habe ich entsprechend abgeändert und die Parameter sowie html angepasst.

Was ich abends noch auf die Schnelle versucht habe ist, in das Template direkt Javas***** miteinzubauen, gibt aber wohl ein Problem mit dem Strichpunkt, da schneidet die Ausgabe den Rest der Zeile ab. Vielleicht lags auch am S*****, und ob das überhaupt über das Template funktionieren kann, ist auch nicht sicher.


Nachtrag: ich hatte mir interessehalber mal die Sourcefiles von Mediainfo angeschaut, da sind nur zwei Dateien mit den folgenden Abschnitten, ich tippe auf die zweite, die man meiner (zugegebenermaßen amateurhaften) Meinung nach von *1024*1024 auf einmal *1024 ändern müsste, um immer KiB zu erhalten. Allerdings weiss ich nicht, ob es nur diese Änderung wäre (oder ob das überhaupt die richtige Stelle ist), und auch nicht, mit welchem Programm man das neu compilieren könnte, ob das einfach und schnell geht oder sehr schwer ist, davon habe ich überhaupt keine Ahnung (und auch keine Programme, mit dem Editor wird das wohl eher nicht gehen).

mediainfo_0.7.69AllInclusive\MediaInfoLib\Source\M ediaInfo\MediaInfo_Config.cpp

Code:
            //Read
            int64u Size=F.Size_Get();
            if (Size>=0xFFFFFFFF)
                Size=1024*1024;

mediainfo_0.7.69AllInclusive\MediaInfoLib\Source\M ediaInfo\File__Analyze.cpp

Code:
bool File__Analyze::FileHeader_Begin_XML(XMLDocument &Document)
{
    //Element_Size
    if (File_Size<32 || File_Size>16*1024*1024)
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 27.08.14, 08:01   #8
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Hey,
ohne genaues Studium des Quellcodes würde ich nichts ändern.
Wenn es dich interessiert, so was unter Windows zu kompilieren gibt es verschiedene Autobuild-Projekte zB [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ].

Benötigst du eigentlich die ganzen HTML-Tags im Template oder ist das für die GUI erforderlich?

Ich hab mal dieses Template.csv gebaut:
Code:
File_Begin;\r\n
General;%CompleteName%|%FileSize%
Video;|%Codec/String%|%BitRate/String%|%Duration/String3%|%Width%x%Height%|%FrameRate% fps
Audio;|%Codec/String%|%BitRate/String%|%BitRate_Mode%|%Channel(s)% Channel(s)
... und das mit dieser Kommandozeile benutzt:
Code:
MediaInfo --Inform=file://Template.csv *.mkv *.avi|awk -F"|" "$0!=\"\" {printf(\"%s, %d KiB\", gensub(/\w:/,\"\",1,$1), $2/1024); for (i=3;i<=NF;i++) printf(\", %s\", $i); printf(\"\n\")}"
Awk oder auch gawk ist eine Unix-S*****sprache, findest du für Windows [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ], eine 64bit-Version [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ].

Tutorials/Syntax
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Folgendes Mitglied bedankte sich bei fryx:
Ungelesen 27.08.14, 19:36   #9
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Hi Fryx, das mit dem kompilieren war nur so eine kurze Idee am Rande, Deinen Link habe ich mir aber trotzdem abgespeichert, ansehen werde ich mir die Autobuild-Projekte auf jeden Fall, wenn es mir die Zeit besser erlaubt.

Die Ausgabe in html hatte ich nur gewählt, um die Daten jeweils in einer Spalte untereinander zu haben, aber Dein Template ist gut, die Textdatei ist außerdem erheblich kleiner und schneller scheint es auch zu gehen.

Die zwei Seiten zu den awk Tutorials habe ich gebookmarked und werde mir das in Ruhe alles durchsehen, damit ich Deine Kommandozeile besser verstehe. Ich habe also gawk-4.1.1-w32-bin herunter geladen, die Pfade angegeben, aber es passierte nichts, keine Ausgabe. Habe es in der Kommandozeile und dann sogar in einer bat Datei versucht (aber da muss man wohl zuerst einiges an der Zeile ändern, zumindest wohl die % zu %%, es kamen dann logischerweise nur Fehlermeldungen, Syntax usw.), dann habe ich auch noch alle Pfade mit und ohne Anführungszeichen angegeben, aber es passierte immer noch nichts.

Einige Versuche später habe ich die Wildcards mit einem * (andere Kombinationen ob mit oder ohne Pfad gingen auch nicht) ersetzt und da bekam ich dann eine Ausgabe, allerdings eben mit allen Dateien im Ordner/Unterordnern, aber dafür mit umgerechneten KiB und der Laufwerksbuchstabe ist auch weg, ganz toll, vielen Dank Fryx!

So geht es jetzt auf jeden Fall bei mir inklusiv Unterordnern:

Code:
MediaInfo --Inform=file://Template.csv * |awk -F"|" "$0!=\"\" {printf(\"%s, %'d KiB\", gensub(/\w:/,\"\",1,$1), $2/1024); for (i=3;i<=NF;i++) printf(\", %s\", $i); printf(\"\n\")}" >> ergebnis.txt
Die Tausendertrennung, also 1.627.384 anstelle von 1627384, habe ich nach einigem Suchen jetzt auch hinbekommen, indem ich bei dem %d einen Apostroph eingefügt habe %'d KiB. Und zumindest habe ich bis jetzt keine unerwünschten Nebenwirkungen festgestellt.

Aber ist es mit awk eventuell auch möglich, bei neuen Ordnern vorher eine Leerzeile einzufügen, wäre halt übersichtlicher, wenn z.B. Staffeln/Serien usw. dadurch optisch getrennt wären. Ich habe schon selbst gesucht, aber bisher nichts dazu gefunden. Wenn das allerdings nicht einfach geht, ist es auch so ok, ich möchte Deine Hilfe ja nicht überbeanspruchen.

Wie auch immer, ich bedanke mich schon mal herzlich für die Hilfe bei Dir, und dass Du dir die Zeit genommen hast, Fryx, Du hast mir wirklich sehr geholfen, danke.
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 29.08.14, 03:19   #10
.:|RAT|:.
Süchtiger
 
Registriert seit: Jan 2014
Beiträge: 744
Bedankt: 627
.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte.:|RAT|:. putzt sich die Zähne mit Knoblauch. | 2120 Respekt Punkte
Standard

Also mit dem Text oben drüber kann ich sehr wenig anfangen

Ich hab es mal so versucht.

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] runterladen.
Ordner darin aufrufen.
Die Leiste mit den Spaltennamen wie z.B. Name, Größe usw. mit Rechtsklick mit den gewünschten Daten erweitern.
Danach auf "Datei" und "Exportieren" als .txt
Diese dann in Excel einfügen.

Ergibt folgendes Ergebniss. (Die Möglichkeit der Anpassung von Spalten-Namen ist bei DirPrint wirklich sehr groß, dieses ist nur ein kurzes Beispiel)





Eventuell bringt es dir ja was
__________________


[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
>>>| Klick für myGully Radio! |<<<

.:|RAT|:. ist offline   Mit Zitat antworten
Ungelesen 29.08.14, 19:27   #11
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Hallo Rat, leider ist DirPrint für meine Zwecke bei weitem nicht flexibel genug, habe es ausprobiert, es fehlen einfach Tags, die ich brauche, trotzdem danke schön für den Hinweis.

Ich bin immer noch am Herumtüfteln, wie ich zwischen verschiedenen Ordnern Leerzeilen in die Liste bekomme, dann wäre es eine perfekte Lösung, sehr gut ist sie allerdings schon jetzt.
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 29.08.14, 20:01   #12
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Hast du jede Episode in einem eigenen Ordner oder alle Episoden der Staffel zusammen in einem Ordner oder alle Episoden aller Staffeln der Serie in einem Ordner?
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Ungelesen 29.08.14, 20:43   #13
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Hey Fryx, teils teils, also nicht direkt irgend etwas, das man zum Berechnen nutzen könnte, etwas das immer gleich ist, auch nicht bezüglich der Dateinamen.

Ich habe die Tage schon dauernd herumgesucht, und die, meiner Meinung nach, logischste Lösung wäre, wenn man nach der (reihenmäßig) letzten Datei im jeweiligen Ordner eine Leerzeile einfügen lässt, die Ordner und Dateien sind ja alphabetisch geordnet. Ich hatte so etwas ähnliches auf einer englischen Seite gefunden, da ging es allerdings ums Löschen oder Verschieben der jeweils letzten 1-3 Dateien (und weiteren Kriterien), aber das ist ja zumindest ein ähnlicher Vorgang - aber mir ist leider der Link abhanden gekommen und ich finde die Seite nicht mehr, google schon seit Stunden danach, das war irgend etwas mit Content und Folder oder so.
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 29.08.14, 21:43   #14
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Könnte stackoverflow gewesen sein.

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Ungelesen 29.08.14, 22:45   #15
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Du hast recht, das könnte die Seite gewesen sein, das Problem ist nur, dass ich den betreffenden Thread auch mit der dortigen Seitensuche momentan nicht gefunden habe, aber ich suche weiter.

[Nachtrag1] Ich habe jetzt etwas gefunden, ist nicht der Thread den ich gestern meinte, aber beschäftigt sich auch mit dem Thema [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] [/Nachtrag1]

Davon abgesehen: Nur so eine dumme Idee, die mir vorhin durch den Kopf geschossen ist, um immer genau nach der letzten Datei im jeweiligen Ordner eine Leerzeile einzufügen:

Eine winzige (ev. unsichtbare, müsste ja trotzdem gelistet werden) Byte Datei (ev. ohne Erweiterung oder doch besser mit?) ZZZZZZ benennen und in alle Ordner und Unterordner kopieren, das müsste ja nur einmalig gemacht werden und deshalb nicht mit hinein in die ursprüngliche Kommandozeile:

[Nachtrag4]fehlerhaften Code durch funktionierenden ersetzt[/Nachtrag4]

Code:
fsutil file createnew ZZZZZZ 1
for /D /R %%f in ("%1\*") do copy "ZZZZZZ" "%%f\"
Danach müsste man auf jeden Fall in allen Ordnern, auch in denen mit Leerzeichen im Namen, an der letzten Stelle die ZZZZZZ benannte Datei haben (die Ordner sind ja alphabetisch sortiert, also ist ZZZZZZ auf jeden Fall die letzte Datei in jedem Ordner) und könnte diese Zeile gegen eine Leerzeile tauschen:

Eben irgendwas wie WENN ZZZZZZ ERSETZE GESAMTE ZEILE MIT LEERZEILE, das müsste doch gehen? Wäre vielleicht nicht unbedingt die gleich elegante Lösung, wie die letzte Datei im Ordner durch ein S***** zu finden, aber es müsste doch eigentlich durch diesen kleinen Trick sogar sehr fehlersicher funktionieren.

[Nachtrag2] Habe jetzt etwas gefunden, das eigentlich die Funktion erfüllen sollte:
Code:
Nachtrag3: funktioniert so nicht
Man müsste vielleicht noch kontrollieren lassen, ob bzw. dass die Ordner wirklich alphabetisch sortiert ist und das ganze in der ursprünglichen Kommandozeile miteinbauen.[/Nachtrag2]
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 31.08.14, 15:29   #16
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

Du könntest mal diese Konstruktion versuchen:
Code:
for /d /r %a in (*) do @MediaInfo --Inform=file://Template.csv "%~a\*.mkv" "%~a\*.flv"|awk -F"|" "$0!=\"\" {printf(\"%s, %'d KiB\", gensub(/\w:/,\"\",1,$1), $2/1024); for (i=3;i<=NF;i++) printf(\", %s\", $i); printf(\"\n\")}"&echo(
Das wird nur klappen, wenn in jedem Unterordner mindestens ein Video liegt.
Sonst stören Fehlermeldungen die Ordnung. Dann müsste ein S***** her.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Folgendes Mitglied bedankte sich bei fryx:
Ungelesen 31.08.14, 16:42   #17
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard

Hey Fryx, du meinst, um den Inhalt zu filtern? Ich versuch es, das wird dann aber wohl leider nicht so gehen, in manchen Ordnern sind nur Unterordner drin, und keine Datei, trotzdem danke.

Ich habe auch lange herumprobiert und mittlerweile folgende Zeile zusammengepfriemelt (bzw. verwende sie in einer bat, darum die doppel %%):

Code:
For /R "%~d1\" %%x in ("*.agi") Do ("MediaInfo.exe" --Inform=file://"MediaInfo.csv" "%%~x")|awk -F"|" "$0!=\"\" {printf(\"%%s, %%'d KiB\", gensub(/\w:/,\"\",1,$1), $2/1024); for (i=3;i<=NF;i++) printf(\", %%s\", $i); printf(\"\n\")}"|"awk" "{ gsub(/ZZZZZZ/, \"\n\"); print}" >> "liste-%date:~0,2%-%date:~3,2%-%date:~6,4%-%time:~0,2%-%time:~3,2%-%time:~6,2%.txt"
Damit wird das aktuelle Laufwerk durchsucht, gefiltert nach Dateiendungen, das funktioniert einwandfrei, zumindest ist mir nichts gegenteiliges aufgefallen.

Was noch nicht funktioniert, ist, daß die gesamte Zeile, in der sich ZZZZZZ befindet, durch eine völlig leere Zeile ersetzt wird. Momentan habe ich einen Zeilenumbruch drinnen, der eine Leerzeile produziert, das funktioniert, allerdings bleibt der Pfad vor dem ZZZZZZ stehen und ich finde keinen Platzhalter, der den Pfad miteinschließt (keinen, der bisher in dieser Konstellation funktioniert hat)

Code:
"{ gsub(/ZZZZZZ/, \"\n\"); print}"
Hier müsste also vor dem ZZZZZZ etwas hin, das den Pfad davor einschliesst, also zumindest die gesamte Zeile mit einem Zeilenumbruch ersetzt wird - oder der Zeilenumbruch \n müsste durch etwas ersetzt werden, das die gewünschte Leerzeile erzeugt, eben anstelle der vorhandenen mit dem ZZZZZZ drin.

Hoffentlich findet sich da eine sinnvollere Lösung
Josh3471 ist offline   Mit Zitat antworten
Ungelesen 31.08.14, 18:26   #18
fryx
Mitglied
 
Benutzerbild von fryx
 
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
fryx gewöhnt sich langsam dran | 84 Respekt Punkte
Standard

da müsste ein Regex-Ausdruck hin (regular expression)
Code:
"{ gsub(/.*ZZZZZZ/, \"\n\"); print}"
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] |[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fryx ist offline   Mit Zitat antworten
Folgendes Mitglied bedankte sich bei fryx:
Ungelesen 31.08.14, 19:07   #19
Josh3471
Anfänger
 
Registriert seit: Oct 2008
Beiträge: 10
Bedankt: 0
Josh3471 ist noch neu hier! | 0 Respekt Punkte
Standard Geschafft

Hey Fryx, das war es! Vielen Dank nochmal für alles, die Ausgabe ist jetzt exakt so, wie ich sie brauche, ich habe das \n noch durch "nichts" ersetzt und bekomme eine einfache, leere Zeile jeweils zwischen zwei verschiedenen Ordnern.

Code:
"{ gsub(/.*ZZZZZZ.*/, \"\"); print}"
Naja, ich habe zwar jetzt in allen Ordnern eine unsichtbare Minidatei namens ZZZZZZ, aber was solls, Hauptsache die Leerzeilen sind da und der Rest ist dank deiner Mithilfe jetzt auch exakt so, wie ich wollte
Josh3471 ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.


Sitemap

().