Top-Themen

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

gelöst Objecthandle Funktion um Dateidetails zu editieren

Mitglied: Sheogorath

Sheogorath (Level 2) - Jetzt verbinden

04.02.2014 um 13:52 Uhr, 2506 Aufrufe, 4 Kommentare

Moin,

im Moment Sortiere ich meine Musik neu, da ich zur Musikorganisation gerade auf den Windows Mediaplayer umsteige. Nun, die Sortierung funktioniert schon per Autoit-Script perfekt, nur würde ich nun gerne auch automatisch die Interpreten und den Titel in den Details in den dafür vorgesehen Felder eintragen.

Auslesen, ja, das habe ich gefunden, nur schreiben irgendwie nicht bzw. nur in Powershell und da auch nicht als Objecthandle Funktion.

http://powershell.com/cs/media/p/8948.aspx

jetzt versuche ich den Codeschnipsel in Autoit zu übersetzen:
01.
 $fileobject | Add-Member NoteProperty "Extended_$property" $value -force
Wie gesagt, bisher das auslesen funktioniert ja super:
01.
Func AddFileDetails()
02.
	$oShell=ObjCreate("shell.application")
03.
	$oFolder=$oShell.NameSpace("D:\00_Userdata\Music\David Garrett")
04.

05.
	If IsObj($oFolder) Then
06.
		$oFolderItem= $oFolder.ParseName("Zorbra's Dance.mp3")
07.
		if IsObj($oFolderItem) Then
08.
			For $i=1 to 34
09.
			$oInfo=$oFolder.GetDetailsOf($oFolderItem,$i)
10.

11.
			MsgBox(0, "", $oInfo)
12.
			$oInfo=0
13.
			Next
14.
		EndIf
15.
		$oFolderItem=0
16.
	EndIf
17.
	$oFolder=0
18.
	$oShell=0
19.
EndFunc
Somit konnte ich schon die Index Nummer der jeweiligen Felder schon ausfindig machen. (findet man ja auch im oben verlinkten Script)

Hat jemand eine Idee, wie man das in Autoit umsetzen kann? Ich mag dieses Cross-Scripting nicht und würde es deswegen gerne ausschließlich in Autoit umsetzen.

Gruß
Chris
Mitglied: colinardo
LÖSUNG 04.02.2014, aktualisiert 24.06.2014
Hallo Chris,
die Powershell-Funktion ist auch nur zum lesen der Attribute und Ergänzen dieser für die Anzeige in Powershell, jedoch nicht um die Eigenschaften auch wieder in die Datei zurückzuschreiben.

Eine mögliche Lösung für dein Vorhaben:

01.
$oDocument=ObjCreate("DSOFile.OleDocumentProperties")
02.
$odocument.open("C:\test.txt")
03.
$odocument.SummaryProperties.author ="Ich bin der Autor"
04.
$odocument.Save
05.
$odocument.Close
mehr dazu findest du hier:
http://technet.microsoft.com/en-us/library/ee692828.aspx

Grüße Uwe
Bitte warten ..
Mitglied: Sheogorath
04.02.2014, aktualisiert um 16:20 Uhr
Moin,

Zitat von colinardo:

Hallo Chris,
die Powershell-Funktion ist auch nur zum lesen der Attribute und Ergänzen dieser für die Anzeige in Powershell, jedoch
nicht um die Eigenschaften auch wieder in die Datei zurückzuschreiben.

Das erklärt zumindest warum ich sie nicht in Autoit abbilden kann :D

Eine mögliche Lösung für dein Vorhaben:

01.
> $oDocument=ObjCreate("DSOFile.OleDocumentProperties")
02.
> $odocument.open("C:\test.txt")
03.
> $odocument.SummaryProperties.author ="Ich bin der Autor"
04.
> $odocument.Save
05.
> $odocument.Close
06.
> 
mehr dazu findest du hier:
http://technet.microsoft.com/en-us/library/ee692828.aspx

danke für den neuen Input, ich habe es ausprobiert, klappt leider nicht wirklich. Ich habe aber einen neuen Ansatz gefunden
http://msdn.microsoft.com/en-us/library/windows/desktop/dd563870(v=vs.8 ...

Soweit ganz schick, mein Code funktioniert auch, aber er schreibt es nicht in die Datei zurück, hast du da eine Idee?

01.
test("D:\00_Userdata\Music\David Garrett\Zorbra's Dance2.mp3", "Test")
02.

03.
Func test($sPath, $sValue)$oWMP = ObjCreate("WMPlayer.OCX")
04.
	$oMedia= $oWMP.newMedia($sPath)
05.
	If Not ($oMedia.isReadOnlyItem("AlbumArtist")) Then
06.

07.
        ;Change the attribute value.
08.
		MsgBox(0,"",$oMedia.getItemInfo("AlbumArtist"))
09.
        $oMedia.setItemInfo("AlbumArtist", $sValue)
10.
    EndIf
11.

12.
	If IsObj($oMedia)Then
13.
		MsgBox(0,"","")
14.
	EndIf
15.
	$oMedia=0
16.
	$oWMP.close
17.
	$oWMP=0
18.
EndFunc
Gruß
Chris
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.02.2014, aktualisiert um 16:36 Uhr
Zitat von Sheogorath:
danke für den neuen Input, ich habe es ausprobiert, klappt leider nicht wirklich.
Bei mir gehts einwandfrei... vermutlich hast du die DLL nicht ins "System32" Verzeichnis kopiert und mit
regsvr32 dsofile.dll
registriert...
Bitte warten ..
Mitglied: Sheogorath
04.02.2014 um 16:36 Uhr
Moin,

Zitat von colinardo:

> Zitat von Sheogorath:
> danke für den neuen Input, ich habe es ausprobiert, klappt leider nicht wirklich.
Bei mir gehts einwandfrei... vermutlich hast du die DLL nicht ins "System32" Verzeichnis kopiert und mit
> regsvr32 dsofile.dll
> 
registriert...

stimmt, das habe ich nicht gemacht. er hat bei mir aber beim registieren rumgemeckert, dass ihm die DLL nicht passen würde, hat sich aber erledigt, ich habt es geschafft

01.
Func _FileSetProperty($sPath, $sPropertyname , $sValue)
02.
	$oWMP = ObjCreate("WMPlayer.OCX")
03.
	$oMedia= $oWMP.newMedia($sPath)
04.
	If Not ($oMedia.isReadOnlyItem($sPropertyname)) Then
05.
        ;Change the attribute value.
06.
        $oMedia.setItemInfo($sPropertyname, $sValue)
07.
    EndIf
08.
	$oMedia=0
09.
	$oWMP.close
10.
	$oWMP=0
11.
EndFunc
Was ich nicht gelesen habe, dass die Änderungen erst nach dem nächsten Start des Windows Media Player zurück geschrieben werden. Aber damit erfüllt es voll und ganz das, was ich brauche.

Vielen Dank für die Unterstützung, colinardo!

Gruß
Chris
Bitte warten ..
Ähnliche Inhalte
Windows 7
Tablett Funktion aktivieren
Frage von Adnan88Windows 71 Kommentar

Hallo, habe ein Win 7 - Pro 32 bit Edition, nun wollte ich einen TouchScreen Monitor nutzen allerdings ist ...

Microsoft Office
Excel Wenn-Funktion
gelöst Frage von freshman2017Microsoft Office2 Kommentare

Moin Moin und guten Abend, ich bräuchte da nochmal Eure Hilfe. Ich habe eine Exelliste mit verschiedenen Werten: Hier ...

PHP
PHP Mail Funktion
Frage von gamerffPHP5 Kommentare

Hallo Forum, ich versuche grade mit der PHP mail() Funktion ein Kontaktformular zu erstellen. Leider kommt beim absenden immer ...

Batch & Shell

Powershell Funktion X innerhalb von Funktion X aufrufen

gelöst Frage von MarabuntaBatch & Shell1 Kommentar

Hi, Ich konnte es jetzt nicht nachstellen. So funktioniert alles gut. Wenn ich aber einige Male falsche Werte eintrage ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 2 TagenDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 2 TagenSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 3 TagenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 3 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
Router & Routing
Lancom-VPN-Client
Frage von FM28880Router & Routing15 Kommentare

Hallo zusammen, ich habe heute zwei Rechner mit einem Lancom VPN-Client eingerichtet. Die VPN-Verbindung wird aufgebaut und steht. Jedoch ...

Hyper-V
Hyper-V Manager startet, jedoch keine VM
Frage von NaleorHyper-V13 Kommentare

Hallo zusammen, auf meinem Windows 10 (Build 1703) Notebook von der Arbeit scheint Hyper-V plötzliche nicht mehr zu funktionieren. ...

Windows Server
Sonntagsfrage: Welchen Sinn seht Ihr noch im Server 2019 Essentials
Frage von ashnodWindows Server12 Kommentare

Guten Morgen, ich habe gestern den Windows Server 2019 Essentials als Trial in einer VM installiert um mir das ...

TK-Netze & Geräte
Telefonanlage Alcatel OXE R11.0.1, CPU c7s2, CPU 7 abgekündigt
Frage von magicteddyTK-Netze & Geräte10 Kommentare

Moin, letzten Monat rief mich ein Mitarbeiter unseres Service Partners an und erzählte mir das wir mit unserer Anlage ...