Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Nochmal Filmliste leider

Frage Entwicklung Batch & Shell

Mitglied: Scoorpyn

Scoorpyn (Level 1) - Jetzt verbinden

09.12.2013, aktualisiert 10:50 Uhr, 1302 Aufrufe, 2 Kommentare

Hallo ich habe leider jetzt gerade das Problem bei meiner Filmliste, dass ich die Bildhöhe und Bildbreite nicht anzeigen lassen kann, weil das Format der Filme Apple Quicktime Format ist und diese nicht in den Eigenschaften Details angezeigt werden. Die Filmliste soll den Namen des Filmes, den relativen Pfad (falls vorhanden) sowie die Bildhöhe und Breite des Films in eine .TXT Datei eintragen.
Vielen Dank an colinardo das er mir so gut geholfen hat :D

Nun habe ich diese Details mit dem Programm MediaInfo ausgelesen, mir immer von einem Film anzeigen lassen, wie kann ich den Code:
01.
 function Add-ExtendedFileProperties{ 
02.
  <# 
03.
      .SYNOPSIS 
04.
         Fügt erweiterte Eigenschaften von Dateien an das Objekt in der Pipline hinzu 
05.
      .DESCRIPTION 
06.
         Extrahiert erweiterte Eigenschaften von Dateien wie z.B. Exif-Daten, Musik- bzw. Filmdetails 
07.
      .EXAMPLE  
08.
             Get-ChildItem "C:\Temp" | Add-ExtendedFileProperties -PropertyExtended 
09.
 "Bildhöhe","Bildbreite","Bitrate" | ft Name,Bildhöhe,Bildbreite,Bitrate 
10.
             Fügt alle nur die Eigenschaften "Bildhöhe","Bildbreite","Bitrate" als 
11.
 zusätzliche Spalten dem Objekt in der Pipline hinzu 
12.
      .EXAMPLE 
13.
             Get-ChildItem "C:\Temp" | Add-ExtendedFileProperties | fl * 
14.
             Fügt alle verfügbaren erweiterten Eigenschaften dem Objekt in der Pipline hinzu 
15.
      .PARAMETER PropertyExtended 
16.
         Mit diesem Parameter geben sie eine Komma-Separierte Liste von Eigenschaften an welche sie erhalten möchten. 
17.
             -PropertyExtended "Bildhöhe","Bildbreite","Bitrate" 
18.
 #> 
19.
     param( 
20.
         [Parameter(Mandatory=$true,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)] 
21.
         $fileItem, 
22.
         [String[]] $PropertyExtended = "ALL" 
23.
24.
     begin 
25.
26.
         $shellObject = New-Object -Com Shell.Application 
27.
         $itemProperties = $null 
28.
29.
  
30.
     process 
31.
32.
         if($fileItem.PsIsContainer) 
33.
34.
             $fileItem 
35.
             return 
36.
37.
         $directoryName = $fileItem.DirectoryName 
38.
         $filename = $fileItem.Name 
39.
  
40.
         $folderObject = $shellObject.NameSpace($directoryName) 
41.
         $item = $folderObject.ParseName($filename) 
42.
  
43.
         if(-not $itemProperties) 
44.
45.
             $itemProperties = @{} 
46.
             $counter = 0 
47.
             $columnName = "" 
48.
             if ($PropertyExtended -eq "ALL"){ 
49.
                  #get all properties 
50.
                 do { 
51.
                     $columnName = $folderObject.GetDetailsOf($folderObject.Items, $counter) 
52.
                     if($columnName) { $itemProperties[$counter] = $columnName } 
53.
                     $counter++ 
54.
                 }while($columnName) 
55.
             }else{ 
56.
                 #get user defined properties 
57.
                 do { 
58.
                     $columnName = $folderObject.GetDetailsOf($folderObject.Items, $counter) 
59.
                     foreach($name in $PropertyExtended){ 
60.
                         if ($columnName.toLower() -eq $name.toLower()){ 
61.
                             $itemProperties[$counter] = $columnName 
62.
63.
64.
                     $counter++ 
65.
                 }while($columnName) 
66.
67.
68.
  
69.
         foreach($itemProperty in $itemProperties.Keys) 
70.
71.
             $fileItem | Add-Member NoteProperty $itemProperties[$itemProperty] ` 
72.
                 $folderObject.GetDetailsOf($item, $itemProperty) -ErrorAction ` 
73.
                 SilentlyContinue 
74.
75.
         $fileItem 
76.
77.
78.
  
79.
 $startDir = "\\Server\Freigabe" 
80.
 $filmliste = "C:\filmliste.txt" 
81.
 Get-ChildItem $startDir -Recurse | ?{$_.PSIsContainer -eq $false} | Add-ExtendedFileProperties -PropertyExtended 
82.
 "Bildhöhe","Bildbreite" | select Name,@{Name="Relativer Pfad";e={$relDir = 
83.
 $_.DirectoryName.Replace($startDir,""); if ($relDir -ne ""){echo 
84.
 ".$relDir"}}},Bildhöhe,Bildbreite | out-file $filmliste -Encoding UTF8
So umändern, dass das die werte von Bildhöhe und Bildbreite mit MediaInfo ausliest und diese dann mit in die Filmliste einträgt?
Mitglied: colinardo
09.12.2013, aktualisiert um 11:16 Uhr
Hello again scoorpyn,
habe mir mal die MediaInfo-Ausgabe angesehen und ein paar Zeilen dazu geschrieben.
Zuerst lädst du dir die CommandLine-Version von MediaInfo hier herunter:http://mediaarea.net/download/binary/mediainfo/0.7.65/MediaInfo_CLI_0.7 ...
Dann musst du in Zeile 83 des folgenden Scripts den Pfad zur heruntergeladenen "MediaInfo.exe" eintragen, und deine Pfad natürlich anpassen.
01.
function Add-ExtendedFileProperties{ 
02.
 <# 
03.
     .SYNOPSIS 
04.
        Fügt erweiterte Eigenschaften von Dateien an das Objekt in der Pipline hinzu 
05.
     .DESCRIPTION 
06.
        Extrahiert erweiterte Eigenschaften von Dateien wie z.B. Exif-Daten, Musik- bzw. Filmdetails 
07.
     .EXAMPLE  
08.
            Get-ChildItem "C:\Temp" | Add-ExtendedFileProperties -PropertyExtended "Bildhöhe","Bildbreite","Bitrate" | ft Name,Bildhöhe,Bildbreite,Bitrate 
09.
            Fügt alle nur die Eigenschaften "Bildhöhe","Bildbreite","Bitrate" als zusätzliche Spalten dem Objekt in der Pipline hinzu 
10.
     .EXAMPLE 
11.
            Get-ChildItem "C:\Temp" | Add-ExtendedFileProperties | fl * 
12.
            Fügt alle verfügbaren erweiterten Eigenschaften dem Objekt in der Pipline hinzu 
13.
     .PARAMETER PropertyExtended 
14.
        Mit diesem Parameter geben sie eine Komma-Separierte Liste von Eigenschaften an welche sie erhalten möchten. 
15.
            -PropertyExtended "Bildhöhe","Bildbreite","Bitrate" 
16.
#> 
17.
    param( 
18.
        [Parameter(Mandatory=$true,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)] 
19.
        $fileItem, 
20.
        [String[]] $PropertyExtended = "ALL" 
21.
22.
    begin 
23.
24.
        $shellObject = New-Object -Com Shell.Application 
25.
        $itemProperties = $null 
26.
27.
 
28.
    process 
29.
30.
        if($fileItem.PsIsContainer) 
31.
32.
            $fileItem 
33.
            return 
34.
35.
        $directoryName = $fileItem.DirectoryName 
36.
        $filename = $fileItem.Name 
37.
 
38.
        $folderObject = $shellObject.NameSpace($directoryName) 
39.
        $item = $folderObject.ParseName($filename) 
40.
 
41.
        if(-not $itemProperties) 
42.
43.
            $itemProperties = @{} 
44.
            $counter = 0 
45.
            $columnName = "" 
46.
            if ($PropertyExtended -eq "ALL"){ 
47.
                 #get all properties 
48.
                do { 
49.
                    $columnName = $folderObject.GetDetailsOf($folderObject.Items, $counter) 
50.
                    if($columnName) { $itemProperties[$counter] = $columnName } 
51.
                    $counter++ 
52.
                }while($columnName) 
53.
            }else{ 
54.
                #get user defined properties 
55.
                do { 
56.
                    $columnName = $folderObject.GetDetailsOf($folderObject.Items, $counter) 
57.
                    foreach($name in $PropertyExtended){ 
58.
                        if ($columnName.toLower() -eq $name.toLower()){ 
59.
                            $itemProperties[$counter] = $columnName 
60.
61.
62.
                    $counter++ 
63.
                }while($columnName) 
64.
65.
66.
 
67.
        foreach($itemProperty in $itemProperties.Keys) 
68.
69.
            $fileItem | Add-Member NoteProperty $itemProperties[$itemProperty] ` 
70.
                $folderObject.GetDetailsOf($item, $itemProperty) -ErrorAction ` 
71.
                SilentlyContinue 
72.
73.
        $fileItem 
74.
75.
76.
 
77.
Function getMediaInfo($strPath){ 
78.
    $info = & $mediaInfoPath $strPath | ?{$_ -match "(Width|Height)"} | select -First 2 | %{$_.Split(":")[1].trim().Split(" ")[0]} 
79.
    $obj = New-Object PSObject -Property @{"Bildbreite"=$info[0];"Bildhöhe"=$info[1]} -ErrorAction SilentlyContinue 
80.
    $obj 
81.
82.
 
83.
$mediaInfoPath = "C:\Program Files (x86)\K-Lite Codec Pack\Tools\cmd\mediainfo.exe" 
84.
$startDir = "\\Server\Freigabe" 
85.
$filmliste = "C:\filmliste.txt" 
86.
$list = Get-ChildItem $startDir -Recurse | ?{$_.PSIsContainer -eq $false} | Add-ExtendedFileProperties -PropertyExtended "Bildhöhe","Bildbreite" | select Name,Fullname,@{Name="Relativer Pfad";e={$relDir = $_.DirectoryName.Replace($startDir,""); if ($relDir -ne ""){echo ".$relDir"}}},Bildhöhe,Bildbreite 
87.
$list | %{if($_.Bildbreite -eq ""){$objInfo = getMediaInfo $_.FullName;$_.Bildbreite = $objInfo.Bildbreite;$_.Bildhöhe = $objInfo.Bildhöhe};$_} | select "Name","Relativer Pfad","Bildhöhe","Bildbreite" | ft -AutoSize | out-file $filmliste -Encoding UTF8
probiers mal aus...

Grüße Uwe
Bitte warten ..
Mitglied: Endoro
09.12.2013 um 13:44 Uhr
Hey, nur der Vollständigkeit halber- es geht auch als einfache Batch:
01.
@ECHO OFF &SETLOCAL 
02.
cd videofolder 
03.
for %%a in (*) do ( 
04.
	set "fname=%%~a" 
05.
	for /f "delims=" %%b in ('mediainfo "--inform=General;%%Movie%%" "%%~a"') do set "title=%%b" 
06.
	for /f "delims=" %%b in ('mediainfo "--inform=Video;%%Width%%x%%Height%%" "%%~a"') do set "resolution=%%b" 
07.
	SETLOCAL ENABLEDELAYEDEXPANSION 
08.
	echo("!fname!","%cd%","!resolution!","!title!" 
09.
	endlocal 
10.
)
lg.
Bitte warten ..
Ähnliche Inhalte
Voice over IP
gelöst Wie war das nochmal mit FritzBox und DECT bei Umstellung auf VoIP (17)

Frage von Realbilly zum Thema Voice over IP ...

Sicherheitsgrundlagen
Digitale Signaturen? Ahnungslos, leider (10)

Frage von -BassT- zum Thema Sicherheitsgrundlagen ...

Netzwerkprotokolle
VPN über Client-Software geht nur im Heimnetzwerk aber im Büro leider nicht (6)

Frage von basti76nie zum Thema Netzwerkprotokolle ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (20)

Frage von jensgebken zum Thema Windows Server ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (13)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...