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

Frage Entwicklung Batch & Shell

Mitglied: Sheogorath

Sheogorath (Level 2) - Jetzt verbinden

04.02.2014 um 13:52 Uhr, 2163 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 10
Win10, "All Apps" editieren
Frage von AtoAtoWindows 105 Kommentare

Hallo Zusammen Gibt es irgendeine Möglichkeit die Icons in „All Apps“ zu entfernen/editieren, die man nicht mehr braucht, weil ...

PHP
PHP - MySQL-Ausgabe editieren
gelöst Frage von ThoomaasPHP19 Kommentare

Hallo alle zusammen! Ich bin gerade dabei ein Portal für meine Firma zu basteln. Hierbei sollen die User Protokolle ...

Microsoft
Wie registry.pol Dateien editieren
gelöst Frage von DerWoWussteMicrosoft3 Kommentare

Hi! Mit welchem Tool kann ich, ohne das Format zu zerschießen, diese Dateien (aus GPOs) editieren? OK, da keine ...

Windows Server
Batch, Editieren des Ergebisses einer Abfrage
gelöst Frage von fersl66Windows Server10 Kommentare

Hallo Zusammen, Habe eine Aufgabenstellung, bei der ich nicht recht weiß wie ich das lösen soll und ich habe ...

Neue Wissensbeiträge
Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 3 StundenMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 16 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 23 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 1 TagWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
Frage von IngenieursBatch & Shell24 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1019 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...