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
GELÖST

Die Eigenschaften einer Datei mit einer Batchdatei auslesen

Frage Entwicklung Batch & Shell

Mitglied: Farmer

Farmer (Level 1) - Jetzt verbinden

06.04.2006, aktualisiert 27.07.2009, 25496 Aufrufe, 13 Kommentare

Eigenschaften eine Datei per cmd auslesen und weiterverarbeiten

Hallo

wenn ich mir z.B. bei der Datei kentbcli.exe die eigenschaften anzeigen lasse, habe ich mehrere Registerkarten
(Allgemein, Version, Kompatibilität, Sicherheit, Dateiinfo)
f55415ceabcef6cce597953def7aaaa9-eigenschaften - Klicke auf das Bild, um es zu vergrößern
unter dem Register Version bekomme ich z.B. die Versionsnummer angezeigt.
Ist es möglich diese Anzeige per cmd auszulesen????
so in der Art:
dir kentbcli.exe /Version
und bekomme dann angezeigt:

Version:4.00.54


oder so ähnlich.

vielen Dank schon mal im voraus

Mit freundlichen Grüßen
Farmer
Mitglied: Beli23
20.07.2006 um 09:58 Uhr
Mich würde es auch sehr interressieren ob es da im CMD etwas gibt! Aber so wie es aussieht wohl nicht!
Bitte warten ..
Mitglied: sub273
13.01.2007 um 17:55 Uhr
Keine Antwort = Es ist nicht möglich ?

Ich würde auch gerne nicht nur den Dateinamen z.B mit

dir C:\pfadZuDenDateien /B >> dateiListe.txt

sondern auch die Dateieigenschaften, insbesondere den Kommentar in die Datei schreiben. Irgendwie ist das recht schwer zu finden ;)

Wäre schön wenn jemand etwas genaueres weiß.
Bitte warten ..
Mitglied: Biber
14.01.2007 um 19:19 Uhr
Moin alle,

die Formulierung "Geht nicht" im Zusammenhang mit Batch-Skripting solltet ihr in diesem unseren Forum sparsamer verwenden...

Die Einschränkung ist allerdings, dass die so genannten Extended File Properties naturgemäß nur unter NTFS-Filesystemen zur Verfügung stehen und deshalb auch nur den Skript-Sprachen zugänglich sind, die dieses File-System kennen. Die CMD.exe als Command-Interpreter fällt da raus - mit der PowerShell als Shell wird es wieder möglich sein.

Mögliche Variante vom CMD-Prompt aus ist ein Billich-VBSkript.

Beispiel:
01.
' ---snipp GetExtFilePropsInFolder.vbs 
02.
Dim arrHeaders(34) 
03.
Set objShell = CreateObject("Shell.Application") 
04.
Set objFolder = objShell.Namespace(Wscript.arguments(0)) 
05.
For i = 0 to 33 
06.
    arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i) 
07.
Next 
08.
For Each strFileName in objFolder.Items 
09.
    For i = 0 to 33 
10.
        Wscript.echo i & vbtab & arrHeaders(i) _ 
11.
            & ": " & objFolder.GetDetailsOf(strFileName, i)  
12.
    Next 
13.
Next 
14.
' ---snapp GetExtFilePropsInFolder.vbs
Dieser Schnipsel listet beim Aufruf vom CMD-Prompt mit:
01.
cscript //nologo GetExtFilePropsInFolder.vbs d:\MeineMusi
...alle Extended File Properties der Dateien in "d:\MeineMusi" auf.

HTH
Biber
Bitte warten ..
Mitglied: sub273
15.01.2007 um 11:10 Uhr
Vielen, vielen Dank ! Das hat mir wirklich sehr geholfen ! (Formatieren der Ausgabe ist mir tatsächlich selbst gelungen ;))
Bitte warten ..
Mitglied: Biber
15.01.2007 um 11:27 Uhr
Moin sub273,

dann lass uns an Deiner Musterlösung teilhaben bitte...

Grüße
Biber
Bitte warten ..
Mitglied: sub273
15.01.2007 um 16:46 Uhr
Gerne, wobei ich ja eigentlich nichts selber gelöst habe ;)

Ich brauchte eine Textdatei im Format:

01.
dateiname kommentar 
02.
dateiname kommentar 
03.
....
Also lese ich nur die beiden benötigten Felder aus und schreibe sie in eine Zeile:

01.
Dim arrHeaders(34) 
02.
Set objShell = CreateObject("Shell.Application") 
03.
Set objFolder = objShell.Namespace(Wscript.arguments(0)) 
04.
 
05.
arrHeaders(0) = objFolder.GetDetailsOf(objFolder.Items, 0) 
06.
arrHeaders(14) = objFolder.GetDetailsOf(objFolder.Items, 14) 
07.
 
08.
For Each strFileName in objFolder.Items 
09.
    
10.
    Wscript.echo objFolder.GetDetailsOf(strFileName, 0) &" "& objFolder.GetDetailsOf(strFileName, 14) 
11.
     
12.
Next
Aufrufen tue ich das Ganze mit:
01.
cscript //nologo NameDesSkripts.vbs c:\PfadZuDenDateien >> Dateiliste.txt
(was ich in eine bat-Datei gepackt habe)

Also keine eigene Leistung, sondern nur Verstümmelung deines Skriptes. ;)

Zwar nicht wirklich elegant aber für meine Zwecke vollkommen ausreichend. Eigentlich wäre es schön wenn ich die einzelnen Strings noch bearbeiten könnte (Abschneiden der Dateiendungen), aber das übersteigt im Moment das Zeit <->Nutzen Verhältnis.

Also: Vielen Dank nochmal !
Bitte warten ..
Mitglied: bastla
15.01.2007 um 20:00 Uhr
Hallo sub273!

Entschuldige, wenn ich hier noch reinplatze, aber vielleicht wäre das "Zeit <->Nutzen Verhältnis" für einen Test der folgenden Variante nicht ganz so übel :

01.
Set objShell = CreateObject("Shell.Application") 
02.
Set objFolder = objShell.Namespace(Wscript.arguments(0)) 
03.
 
04.
For Each strFileName in objFolder.Items 
05.
    
06.
    strName = objFolder.GetDetailsOf(strFileName, 0) 
07.
	If InstrRev(strName, ".") > 1 Then strName = Left(strName, InstrRev(strName, ".") - 1) 
08.
	Wscript.echo strName & " " & objFolder.GetDetailsOf(strFileName, 14) 
09.
     
10.
Next
Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.01.2007 um 20:11 Uhr
@bastla

... ich wusste schon, für wen ich den beitrag noch offen gelassen habe

@Farmer & @Beli23 (evtl jetzt Beli24?):
Falls Ihr noch mitlest: Ist das die Richtung, die ihr im Sinn hattet?
Sprich: können wir hier einen Haken dran setzen demnächst?

Gruß
Biber
Bitte warten ..
Mitglied: bastla
15.01.2007 um 20:19 Uhr
@bastla

... ich wusste schon, für wen ich den beitrag noch offen gelassen habe
Meine Berechenbarkeit ist eine meiner Stärken ...

Grüße
bastla
Bitte warten ..
Mitglied: sub273
15.01.2007 um 20:38 Uhr
Wow, Danke

Das mit dem Zeit<->Nutzen Verhältnis bezog sich natürlich aufs selber einarbeiten. ;)

Wirklich super, wie einem hier geholfen wird !
Bitte warten ..
Mitglied: ArthurDent42
27.07.2009 um 12:42 Uhr
Hallo,

wie würde man denn anstatt den erweiterten Eigenschaften das exakte Erstellungsdatum
auslesen?

Leider habe ich überhaupt keinen Plan von VBS, müsste aber einen Script
mit der gleichen Funktionalität wie oben genannt haben, der mir Dateiname
und Dateierstellungsdatum (objFile.CreationDate) ausgibt.

ggf. könnte mir hier jemand unter die Arme greifen.

01.
> Dim arrHeaders(34) 
02.
> Set objShell = CreateObject("Shell.Application") 
03.
> Set objFolder = objShell.Namespace(Wscript.arguments(0)) 
04.
>  
05.
> arrHeaders(0) = objFolder.GetDetailsOf(objFolder.Items, 0) 
06.
> arrHeaders(14) = objFolder.GetDetailsOf(objFolder.Items, 14) 
07.
>  
08.
> For Each strFileName in objFolder.Items 
09.
>     
10.
>     Wscript.echo objFolder.GetDetailsOf(strFileName, 0) &" 
11.
> "& objFolder.GetDetailsOf(strFileName, 14) 
12.
>      
13.
> Next 
14.
> 
Bitte warten ..
Mitglied: bastla
27.07.2009 um 12:51 Uhr
Hallo ArthurDent42 und willkommen im Forum!
wie würde man denn anstatt den erweiterten Eigenschaften das exakte Erstellungsdatum auslesen?
Andere Baustelle: http://msdn.microsoft.com/en-us/library/ke6a7czx(VS.85).aspx

Grüße
bastla
Bitte warten ..
Mitglied: Biber
27.07.2009 um 19:45 Uhr
...und weil es nicht nur eine andere Baustelle ist, sondern auch dieser Beitrag abgeschlossen ist...

...mach ich mal dicht hier.

Beitrag geschlossen.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
PHP
gelöst Externe XML-Datei in PHP auslesen (18)

Frage von Akrosh zum Thema PHP ...

Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...