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

Frage Entwicklung Batch & Shell

GELÖST

BATCH - Dateiname und Erstelldatum auslesen

Mitglied: Memo66

Memo66 (Level 1) - Jetzt verbinden

03.12.2013 um 16:03 Uhr, 2959 Aufrufe, 5 Kommentare, 1 Danke

Hallo zusammen,

ich habe folgendes Problem, vielleicht kann mir einer ja weiterhelfen

Ich möchte die Dateinamen und das Erstellungsdatum aller Dateien im einem Verzeichnis in eine csv datei auslesen.

Mit
dir *Verzeichnis* /b /a-d > *Verzeichnis*

schaffe ich es alle Dateien aufzulisten und mit

for %%f in ("Verzeichnis") do echo %%f: %%~tf > *Verzeichnis

schaffe ich es das Datum und die Uhrzeit von EINER Datei auszulesen allerdings wird hier der Pfad mit ausgegeben was auch nicht sein soll.

Wie schaffe ich es diese beiden zu kombinieren??

Gruß Memo
Mitglied: colinardo
03.12.2013, aktualisiert um 17:24 Uhr
Hallo Memo,
01.
REM Codepage ändern damit Umlaute in Dateinamen korrekt übertragen werden 
02.
chcp 1252 
03.
 
04.
for %%a IN ("C:\Verzeichnis\*.*") do @echo "%%~nxa";"%%~ta">>CSVDatei.csv 
05.
 
06.
REM Codepage auf Defaultwert setzen 
07.
chcp 850
soll das Verzeichnis und alle Unterverzeichnisse rekursiv durchlaufen werden kannst du dies so machen:
for /R "C:\Verzeichnis" %%a IN (1) do @(for %%b in ("%%~dpa*") DO @(echo "%%~nxb";"%%~tb">>CSVDatei.csv))
Grüße Uwe
Bitte warten ..
Mitglied: Endoro
04.12.2013, aktualisiert um 06:41 Uhr
Hey, wenn du das Erstelldatum brauchst, sollte wmic verwendet werden, was leider recht langsam ist und bei XP Home erst installiert werden muss (ist ab XP Prof "serienmässig"). Andere hinreichend stabile Methoden hab ich noch nicht gefunden.
01.
@ECHO OFF &SETLOCAL 
02.
cd /d "%userprofile%" 
03.
for /f "tokens=2delims=:" %%a in ('chcp') do set /a mychcp=%%a 2>nul 
04.
chcp 1252 >nul 
05.
(for /f "delims=" %%a in ('dir /b /a-d') do call:process "%%~fa")>filelist.csv 
06.
chcp %mychcp% >nul 
07.
type filelist.csv 
08.
goto:eof 
09.
 
10.
:process 
11.
setlocal 
12.
set "fname=%~1" 
13.
for /f "tokens=2delims=," %%b in ('wmic path cim_datafile where name^="%fname:\=\\%" get creationdate /format:csv^|find "."') do set "crd=%%b" 
14.
echo("%~nx1","%crd:~6,2%.%crd:~4,2%.%crd:~0,4% %crd:~8,2%:%crd:~10,2%:%crd:~12,2%,%crd:~15,4%" 
15.
exit /b
lg.
Bitte warten ..
Mitglied: Memo66
04.12.2013, aktualisiert um 09:02 Uhr
Hallo Uwe,

vielen lieben Dank erstmal

Allerdings wird das Änderungsdatum ausgegeben und nicht das Erstellungsdatum. Ich könnte Wetten, dass das %%~ta geändert werden muss. Haben bisschen experimentiert aber dann wurde gar kein Datum ausgegeben.

@Endoro
das ganze muss ohne zusätzliche Installationen laufen. Aber danke dir auch, vielleicht brauch ich es an einer anderen Stelle

Beste Grüße
Memo
Bitte warten ..
Mitglied: colinardo
04.12.2013 um 09:05 Uhr
Zitat von Memo66:
Allerdings wird das Änderungsdatum ausgegeben und nicht das Erstellungsdatum. Ich könnte Wetten, dass das %%~ta
geändert werden muss.
Ah sorry das hatte ich übersehen, dann musst du es anders machen z.B. so wie Endoro schreibt, die verfügbaren Parameter dafür kannst du dir mit for /? anzeigen lassen:
Oder am besten gleich ganz zur Powershell wechseln, dann hast du dieses gehöddel nicht ...
Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert. 
Sie können jetzt folgende Syntax verwenden: 
 
    %~I         - Expandiert %I und entfernt alle umschließenden 
                   Anführungszeichen ("). 
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen. 
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I. 
    %~pI        - erstellt nur den Pfad von %I. 
    %~nI        - erstellt nur den Dateinamen von %I. 
    %~xI        - erstellt nur die Dateierweiterung von %I. 
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen. 
    %~aI        - erstellt die Dateiattribute von %I. 
    %~tI        - erstellt Datum und Zeit von %I. 
    %~zI        - erstellt die Dateigröße von %I. 
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen 
                   angegebenen Verzeichnisse und expandiert die erste 
                   gefundene Datei %I zu dem vollständigen Dateinamen. 
                   Wenn der Name der Umgebungsvariablen nicht definiert 
                   ist oder diese Datei bei der Suche nicht gefunden wurde, 
                   wird dieser Parameter zu einer leeren Zeichenfolge 
                   expandiert. 
 
Diese Parameter können auch miteinander kombiniert werden: 
 
    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I. 
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I. 
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur 
                   kurze Dateinamen enthält. 
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen 
                   angegebenen Verzeichnisse nach %I und erstellt den 
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei. 
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR- 
                   Befehls entspricht.
Grüße Uwe
Bitte warten ..
Mitglied: Memo66
04.12.2013 um 09:10 Uhr
Das bringt mich um einiges weiter.

Ich danke dir vielmals, du bist mein Held :P ;)

Gruß Memo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In Batch auf Erstelldatum einer Datei prüfen
gelöst Frage von AS-N00Batch & Shell5 Kommentare

Hallo, foolgendes Problem. Ich muss eine leer Datei "dpd.ini" in "d:\bw50" erstellen, wenn in einem Ordner "d:\bw50\dpd\export\" es keine ...

Batch & Shell
Batch: Dateiname abhängig vom Änderungsdatum auslesen
gelöst Frage von freaktastischBatch & Shell6 Kommentare

Servus zusammen, hab folgende Situation Oberordner: beinhaltet test.bat, Ordner1 und Ordner2 Ordner1, sowie Ordner2 beinhalten .docx Dateien. Mein Anliegen ...

Batch & Shell
Batch: Auslesen von Dateinamen aus Text und Kopieren dieser.
gelöst Frage von gumpo03Batch & Shell2 Kommentare

Hallo. Ich sitze seit ungefähr einer Stunde an einem Problem, dass ich gern endlich lösen würde: Ich habe eine ...

Batch & Shell
Erstelldatum vieler Dateien ändern (aus Dateinamen abgeleitet)
gelöst Frage von X-SpeziBatch & Shell11 Kommentare

Hallo, ich suche ein Batch womit ich das Erstellungsdatum nach den 1. Nummern (Datum) des Dateinamens verändern kann. Beispiel: ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 11 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 11 StundenSicherheit7 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 12 StundenSicherheit8 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 12 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

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

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

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

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen20 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

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 ...