Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateititel Attribut auf Dateiname ändern

Frage Entwicklung Batch & Shell

Mitglied: BlackEnding

BlackEnding (Level 1) - Jetzt verbinden

24.06.2014, aktualisiert 11:14 Uhr, 1697 Aufrufe, 14 Kommentare

Hallo, ich habe ca 5000 Dateien von denen ich das Attribut "Titel" auf den Dateinamen ändern soll. Ich dachte mir das geht sicher mit einer Batchdatei einfacher als per Hand, ich habe jedoch keine Erfahrung mit Batch gemacht bisher. Bin um jede Hilfe/Notlösung dankbar. Achja die Dateien befinden sich in unterschiedlichen Unterordern.

Gruß Jörn
Mitglied: colinardo
24.06.2014, aktualisiert um 10:29 Uhr
Hallo Jörn, Willkommen auf Administrator.de!
Uns fehlen hier noch ein paar Informationen: Meinst du mit "Titel-Attribut" eine HTML-Datei, oder die Dateieigenschaften ??
Grüße Uwe
Bitte warten ..
Mitglied: BlackEnding
24.06.2014, aktualisiert um 10:36 Uhr
Vielen Dank für die Begrüßung

Die Dateieigenscahften, also: CLCA-Sekretariat.doc->Rechtsklick -> Eigenschaften -> Details -> Beschreibung -> Titel -> CLCA-Sekretariat.
Bitte warten ..
Mitglied: colinardo
24.06.2014 um 10:34 Uhr
Sind das alles nur *.doc also Word-Dateien ?
Bitte warten ..
Mitglied: BlackEnding
24.06.2014 um 10:46 Uhr
Von denen ich weiß das ich sie anpassen soll sind es *.doc und *.xls. Da sind aber auch andere Typen drinne.

Aber ich denke welche Typen kann man ja auch nachher noch anpassen. Habe gerade meinen Vorgesetzten diesbezüglich angeschrieben welche Typen alles.
Bitte warten ..
Mitglied: BlackEnding
24.06.2014, aktualisiert um 12:18 Uhr
Wie kann man denn überhaupt den Namen einer Datei und die Attribute auslesen?
Bitte warten ..
Mitglied: colinardo
24.06.2014, aktualisiert um 12:24 Uhr
Zitat von BlackEnding:

Wie kann man denn überhaupt den Namen einer Datei und die Attribute auslesen?
die erweiterten Dateieigenschaften kannst du z.B. mit dieser Powershell Funktion: http://www.administrator.de/wissen/erweiterte-dateieigenschaften-mit-po ... abfragen
oder mit DSOFile:
http://www.administrator.de/forum/objecthandle-funktion-um-dateidetails ...

bin nur gerade beschäftigt, melde mich dazu nochmal ..

Grüße Uwe
Bitte warten ..
Mitglied: BlackEnding
24.06.2014 um 12:26 Uhr
Das überfordert mich doch schon ein bisschen :S Wollte doch nur ein Attribut anpassen...
Bitte warten ..
Mitglied: colinardo
24.06.2014, aktualisiert um 12:28 Uhr
Zitat von BlackEnding:

Das überfordert mich doch schon ein bisschen :S Wollte doch nur ein Attribut anpassen...
das ist aber leider nicht so einfach wie du dir das vorstellst, denn dafür gibt es kein einheitliches Programming-Interface für jeden Dateityp ! Melde mich später nochmal dazu ...
Bitte warten ..
Mitglied: colinardo
24.06.2014, aktualisiert um 15:34 Uhr
So,
hier mal ein Beispiel wie man es mit AutoIT unter Zuhilfenahme der DSOFile.dll aus dem oben verlinkten Beitrag machen könnte:
(RootOrdner in Zeile 4 und Dateierweiterungen in Zeile 5 angeben)
WICHTIG: Hier können keine beliebigen Dateiendungen angegeben werden. Die DSOFile.dll ist primär für Office-Dateien gedacht! Und nicht vergessen die DLL mit regsvr32 zu registrieren.
01.
#NoTrayIcon 
02.
#include <File.au3> 
03.
#include <Array.au3> 
04.
$folder = "C:\Ordner" 
05.
Global $arrExtensions[] = [".docx",".xlsx"] 
06.
 
07.
$odocument = ObjCreate("DSOFile.OleDocumentProperties") 
08.
$allFiles = ListFilesRecurse($folder,$arrExtensions) 
09.
 
10.
SplashTextOn("","Dateien werden bearbeitet ... Bitte warten","350","50","-1","-1",35,"","","") 
11.
 
12.
for $i = 0 to UBound($allFiles) -1 
13.
	$odocument.open($allFiles[$i]) 
14.
	Local $sDrive = "", $sDir = "", $sFilename = "", $sExtension = "" 
15.
	Local $aPathSplit = _PathSplit($allFiles[$i], $sDrive, $sDir, $sFilename, $sExtension) 
16.
	$odocument.SummaryProperties.title = $aPathSplit[3] 
17.
	$odocument.Save() 
18.
	$odocument.Close() 
19.
Next 
20.
SplashOff() 
21.
msgbox(0,"","Fertig",2) 
22.
 
23.
 Func ListFilesRecurse($sSourceFolder,$filter) 
24.
     Local $sFile 
25.
	 Local $foundFiles[0] 
26.
     ; Force a trailing \ 
27.
     If StringRight($sSourceFolder, 1) <> "\" Then $sSourceFolder &= "\" 
28.
     ; Create an array to hold the folders to be searched 
29.
     Local $aFolderList[10] = [1, $sSourceFolder] 
30.
     ; Search within listed folders until all have been searched 
31.
     While $aFolderList[0] > 0 
32.
         ; Get path of folder to search 
33.
         Local $sSearchPath = $aFolderList[$aFolderList[0]] 
34.
         ; Remove folder from list 
35.
         $aFolderList[0] -= 1 
36.
         ; Start the search 
37.
         Local $hSearch = FileFindFirstFile($sSearchPath & "*.*") 
38.
         ; If failure then return 
39.
         If $hSearch = -1 Then Return 
40.
         ; Now run through the contents of the folder 
41.
         While 1 
42.
             ; Get next match 
43.
             $sFile = FileFindNextFile($hSearch) 
44.
             ; If no more files then close search handle and return 
45.
             If @error Then ExitLoop 
46.
             ; If a folder then add to array to be searched 
47.
             If @extended Then 
48.
 
49.
                 ; ####################################### 
50.
                 ; Increase folder count 
51.
                 $aFolderList[0] += 1 
52.
                 ; Double array size if too small (fewer ReDim needed) 
53.
                 If UBound($aFolderList) <= $aFolderList[0] Then ReDim $aFolderList[UBound($aFolderList) * 2] 
54.
                 ; Add folder 
55.
                 $aFolderList[$aFolderList[0]] = $sSearchPath & $sFile & "\" 
56.
                 ; ####################################### 
57.
             Else 
58.
                 ; If a file ... 
59.
				 Local $sDrive = "", $sDir = "", $sFilename = "", $sExtension = "" 
60.
				 Local $aPathSplit = _PathSplit($sSearchPath & $sFile, $sDrive, $sDir, $sFilename, $sExtension) 
61.
 
62.
				 if _ArraySearch($filter,$aPathSplit[4]) <> -1 then 
63.
					_ArrayAdd($foundFiles, $sSearchPath & $sFile) 
64.
				 endif 
65.
             EndIf 
66.
         WEnd 
67.
         ; Close search handle 
68.
         FileClose($hSearch) 
69.
 
70.
     WEnd 
71.
	Return $foundFiles 
72.
 EndFunc
Viel Erfolg
Grüße Uwe
Bitte warten ..
Mitglied: BlackEnding
24.06.2014 um 14:52 Uhr
Hmm wenn ich es ausführe kommt nur die MassageBox mit "Fertig", aber es hat sich nichts geändert. Soll heißen das das Attribut Titel nicht gleich dem Dateinamen ist. Außerdem geht der Prozess ziemlich schnell (1-2 Sekunden). Die dsofile.dll registriere ich doch mit "cmd -> regsvr32 dsofile.dll" oder? Kommt jedefalls die Meldung das sie erfolgreich registriert wurde...
Bitte warten ..
Mitglied: colinardo
24.06.2014, aktualisiert um 14:57 Uhr
Zitat von BlackEnding:
Die dsofile.dll registriere ich doch mit "cmd -> regsvr32 dsofile.dll" oder? Kommt jedefalls die Meldung
das sie erfolgreich registriert wurde...
Bitte ins C:\windows\system32 Verzeichnis kopieren, bzw C:\windows\SysWOW64 bei einem 64Bit System und dort registrieren.
Wenn du alles richtig angepasst hast (Dateierweiterungen mit Punkt aber ohne Sternchen!) dann läuft das, hier erfolgreich getestet.
Bitte warten ..
Mitglied: BlackEnding
24.06.2014 um 15:23 Uhr
Ist 32bit. Datei in Sys32 (btw die ist 89,4kB groß - das ist richtig oder?) verschoben, dann mit regsvr32 dsofile.dll registriert. Meldung DllRegisterServer in dsofile.dll erfolgreich durchgeführt. Autoit gestartet dein Script reinkopiert Pfad auf $folder = "D:\BEQS_NOR" und Endungen auf Global $arrExtensions[] = [".doc",".xls"] angepasst. Build geklickt - exe in D:\BEQS_NOR verschoben. Gestartet, Sekunde gewartet "Fertig". Keine Änderungen.
Bitte warten ..
Mitglied: colinardo
24.06.2014, aktualisiert 25.06.2014
kann ich hier nicht nachstellen, sorry hier läufts auf einem Win7 x32 als auch x64. Schon mal neu gestartet ?
Gab in der Vergangenheit schon mal Systeme auf der die DLL nicht wie erwartet funktioniert, konnte bisher aber nicht herausfinden weswegen.
Bitte warten ..
Mitglied: BlackEnding
24.06.2014 um 15:59 Uhr
Neustart half leider auch nicht. Dann habe ich wohl Pech. Aber jetzt erstmal Feierabend und morgen Berufsschule. Dann nach einer anderen Lösungsmöglichkeit umsehen und wenn alle Stricke reißen = Per Hand O.O

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Erkennung und -Abwehr
Lokale Virenprüfstation : Windows 10: Ändern von Einstellungen verhinden (5)

Frage von TryAndSolve zum Thema Erkennung und -Abwehr ...

Windows Server
gelöst Word 2010 : Absatz - Abstand per GPO ändern (3)

Frage von johanna-p zum Thema Windows Server ...

Exchange Server
Exchange 2013, Outlook 2010 Standard-Absendeadresse ändern (4)

Frage von ingoue zum Thema Exchange Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...