146101
22.09.2020
2540
12
0
Batch: Ordnerinhalt WAV-Dateien mit Dateiname und Dauer in Minuten:Sekunden sowie Erstellungs- oder Änderungsdatum in CSV schreiben
Habe gesehen, dass vor kurzem dieser Bedarf für Millisekunden beantwortet wurde. Ist das auch wie im Betreff angegeben möglich?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 606619
Url: https://administrator.de/contentid/606619
Ausgedruckt am: 24.11.2024 um 01:11 Uhr
12 Kommentare
Neuester Kommentar
- - keine Begrüßung- -
- - keine Verabschiedung
PS: diesen Thread bitte umgehend bearbeiten, siehe auch: Wie Du eine Frage richtig stellst
Ansonsten muss ich deine Frage leider löschen, aber ein Mindestmaß an Höflichkeit und Beachtung unserer Forenregeln und der Netiquette kann man ja erwarten
Gerade als neues Mitglied hier möchtest du ja, dass dir geholfen wird.
tomolpi
Moderator
Zitat von @146101:
Habe gesehen, dass vor kurzem dieser Bedarf für Millisekunden beantwortet wurde. Ist das auch wie im Betreff angegeben möglich?
Gewiss.Habe gesehen, dass vor kurzem dieser Bedarf für Millisekunden beantwortet wurde. Ist das auch wie im Betreff angegeben möglich?
- - keine Verabschiedung
PS: diesen Thread bitte umgehend bearbeiten, siehe auch: Wie Du eine Frage richtig stellst
Ansonsten muss ich deine Frage leider löschen, aber ein Mindestmaß an Höflichkeit und Beachtung unserer Forenregeln und der Netiquette kann man ja erwarten
Gerade als neues Mitglied hier möchtest du ja, dass dir geholfen wird.
tomolpi
Moderator
Servus,
Joa, ein Minima an Höflichkeit und Anstand gebührt sich eigentlich überall in der Öffentlichkeit, hier antworten dir ja immerhin noch Menschen, keine Roboter!
Du meinst vermutlich diesen Beitrag hier:
Länge von wav-Dateien (in ms) per Batch ermitteln (und speichern)
[OT]Du hättest es der Community hier einfacher gemacht indem du zumindest den Link in deinen Post eingestellt hättest, aber dafür hat die zeit ja wohl auch nicht mehr gereicht. Kurzes anschreiben per PN hätte für diese Kleinigkeit übrigens auch gereicht, dann wäre der Thread hier überflüssig gewesen.[/OT]
Pure Powershell
Batch
Grüße Uwe
Joa, ein Minima an Höflichkeit und Anstand gebührt sich eigentlich überall in der Öffentlichkeit, hier antworten dir ja immerhin noch Menschen, keine Roboter!
Du meinst vermutlich diesen Beitrag hier:
Länge von wav-Dateien (in ms) per Batch ermitteln (und speichern)
[OT]Du hättest es der Community hier einfacher gemacht indem du zumindest den Link in deinen Post eingestellt hättest, aber dafür hat die zeit ja wohl auch nicht mehr gereicht. Kurzes anschreiben per PN hätte für diese Kleinigkeit übrigens auch gereicht, dann wäre der Thread hier überflüssig gewesen.[/OT]
Pure Powershell
# Ausgabedatei
$csv = 'D:\ausgabe.csv'
# Ordner mit den *.WAV
$ordner = 'D:\Lieder'
# shell object erstellen
$shell = New-Object -Com Shell.Application
# Dateien auslesen und in CSV exportieren
ls $ordner -File -Filter *.wav | select Name,@{n='Dauer';e={[timespan]::FromTicks($shell.NameSpace((split-path $_.Fullname -Parent)).ParseName((Split-Path $_.Fullname -Leaf)).ExtendedProperty('{64440490-4C8B-11D1-8B70-080036B11A03} 3')).toString('hh\:mm\:ss')}},@{n='Änderungsdatum';e={$_.LastwriteTime.toString('G',[cultureinfo]'de')}} | export-csv $csv -Delimiter ";" -NoType -Encoding UTF8
# csv öffnen
start $csv
@echo off & setlocal
chcp 1252 >nul
set "csv=D:\ausgabe.csv"
set "ordner=D:\Lieder"
powershell -EP Bypass -C "$shell = New-Object -Com Shell.Application;ls '%ordner%' -File -Filter *.wav | select Name,@{n='Dauer';e={[timespan]::FromTicks($shell.NameSpace((split-path $_.Fullname -Parent)).ParseName((Split-Path $_.Fullname -Leaf)).ExtendedProperty('{64440490-4C8B-11D1-8B70-080036B11A03} 3')).toString('hh\:mm\:ss')}}, @{n='Änderungsdatum';e={$_.LastwriteTime.toString('G',[cultureinfo]'de')}} | export-csv '%csv%' -Delimiter ';' -NoType -Encoding UTF8"
Zitat von @146101:
Viele Grüße
Michael
Siehe entsprechende Änderungen im Code oben.- Wenn ich jetzt nicht den ganzen Pfad im CSV brauche, sondern nur die Dateinamen mit Extension, was muss ich ändern?
- LastWriteTime,CreationTime geht das auch direkt auf deutsch in die CSV auszugeben?
- Möchte ich jetzt nur LastWriteTime im CSV haben, reicht es ",CreationTime" aus dem Code zu löschen?
Viele Grüße
Michael
Grüße Uwe
Zitat von @146101:
Scheinbar muss der Umlaut im Änderungsdatum noch berücksichtigt werden, da ein Zeichen zusätzlich im Tabellenfeld landet und das Ä ist kleingeschrieben:
Für die Verwendung von Umlauten in der Batch musste noch ein chcp in den Code und das File muss mit ANSI Kodierung gespeichert werden, ist oben korrigiert.Scheinbar muss der Umlaut im Änderungsdatum noch berücksichtigt werden, da ein Zeichen zusätzlich im Tabellenfeld landet und das Ä ist kleingeschrieben:
Siehst du noch die Möglichkeit die Millisekunden wegzulassen?
Das Format kannst du in der ToString() Methode nach Gusto anpassen also bspw hh\:mm\:ss. Habs dir oben mal hinterlegt.Siehe dazu auch
https://docs.microsoft.com/de-de/dotnet/standard/base-types/custom-date- ...
Zitat von @146101:
Hab die Batch in UTF-8 mit Notepad++ abgespeichert. Ist das falsch?
Ja, speichere sie als ANSI (codepage 1252).Hab die Batch in UTF-8 mit Notepad++ abgespeichert. Ist das falsch?
Da du jetzt raus bist, noch kurz: Wo kann man die Befehle die man nutzen kann nachsehen? Falls ich mal was ändern will?
Gebe ich dir gerne:
Powershell Leitfaden für Anfänger
Pflichtlektüre
- Kapitel 1: Erste Schritte mit PowerShell
- Kapitel 2: Das Hilfesystem
- Kapitel 3: Entdecken von Objekten, Eigenschaften und Methoden
- Kapitel 4: Einzeiler und die Pipeline
- Kapitel 5: Formatierung, Aliase, Anbieter, Vergleich
- Kapitel 6: Flusssteuerung
- Kapitel 7: Arbeiten mit WMI
- Kapitel 8: PowerShell-Remoting
- Kapitel 9: Funktionen
- Kapitel 10: Skriptmodule
- Anhang A: Hilfesyntax
Erweiterte Grundlagen
- Alles, was Sie schon immer über Arrays wissen wollten
- Alles, was Sie schon immer über Hashtabellen wissen wollten
- Was Sie schon immer über PSCustomObject wissen wollten
- docs.microsoft.com/de-de/powershell/scripting/learn/deep-dives/everything-about-string-substitutions?view=powershell-7
- Alles, was Sie schon immer über die IF-Anweisung wissen wollten
- Alles, was Sie schon immer über die switch-Anweisung wissen wollten
- Alles, was Sie schon immer über Ausnahmen wissen wollten
- Alles, was Sie schon immer über $null wissen wollten
- Alles, was Sie schon immer über ShouldProcess wissen wollten
- Verwenden von Erweiterung mit der TAB-TASTE