For Schleife für CSV Export (Dateiname + Erstellungsdatum) für 14.000 Files
Hallo liebe Community,
eine neue Herausforderung liegt wieder auf meinem Tisch.
Bei 14.000 Bildern soll das Erstelldatum, der Filename ausgelsen und in ein CSV übergeben werden. Das Ergebnis sieht man weiter unten.
Eine mögliche Lösung habe ich, zumindest glaubte ich das. Denn sie ist zu langsam 10 Bilder in einer Minute ist definitiv zu langsam.
Mit dem Befehl dir /b (nur für die FIlenames) ging das relativ flott. Aber die SChleife haut jetzt echt rein.
Was könnte ich eurer Meinung nach an dieser Abfrage anpassen?
Ergebnis:
47336106_DSC_9104.jpg;03.10.2018 16:02:49
LG
Rob
eine neue Herausforderung liegt wieder auf meinem Tisch.
Bei 14.000 Bildern soll das Erstelldatum, der Filename ausgelsen und in ein CSV übergeben werden. Das Ergebnis sieht man weiter unten.
Eine mögliche Lösung habe ich, zumindest glaubte ich das. Denn sie ist zu langsam 10 Bilder in einer Minute ist definitiv zu langsam.
Mit dem Befehl dir /b (nur für die FIlenames) ging das relativ flott. Aber die SChleife haut jetzt echt rein.
Was könnte ich eurer Meinung nach an dieser Abfrage anpassen?
@ECHO OFF &SETLOCAL
D:
cd \scripts\Bildimport\OUTPUT_V2\
del filenames.csv
net use X: /delete /Y
net use X: \\NAS-Q700\Public\Produktbilder\650px_jpg
if errorlevel 1 (goto :Fehler) else (goto :weiter)
:Fehler
cls
powershell "D:\scripts\Bildimport\Mail\Alert.ps1"
goto ende
:weiter
cls
X:
ping 127.0.0.1
cd /d "X:"
for /f "tokens=2delims=:" %%a in ('chcp') do set /a mychcp=%%a 2>nul
chcp 1252 >nul
(for /f "delims=" %%a in ('dir /b /a-d') do call:process "%%~fa")>"D:\scripts\Bildimport\OUTPUT_V2\filenames.csv"
chcp %mychcp% >nul
type filenames.csv
goto:eof
:process
setlocal
set "fname=%~1"
for /f "tokens=2delims=," %%b in ('wmic path cim_datafile where name^="%fname:\=\\%" get creationdate /format:csv^|find "."') do set "crd=%%b"
echo(%~nx1;%crd:~6,2%.%crd:~4,2%.%crd:~0,4% %crd:~8,2%:%crd:~10,2%:%crd:~12,2%
exit /b
REM ,%crd:~15,4%
ping 127.0.0.1
Pause
REM call "D:\Scripts\Bildimport\BATCH\startsqlimport_V2.bat"
:ende
Exit
Ergebnis:
47336106_DSC_9104.jpg;03.10.2018 16:02:49
LG
Rob
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 393934
Url: https://administrator.de/contentid/393934
Ausgedruckt am: 26.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Mit der PS ein schneller Einzeiler
Gruß A.
gci 'c:\ordner' -filter *.jpg -file | %{[pscustomobject]@{Name=$_.Name;Erstelldatum=$_.CreationTime.toString('G')}} | export-csv filenames.csv -delimiter ";" -NoType -Encoding UTF8
Zitat von @137846:
Mit der PS ein schneller Einzeiler
Mit der PS ein schneller Einzeiler
> gci 'c:\ordner' -filter *.jpg -file | %{[pscustomobject]@{Name=$_.Name;Erstelldatum=$_.Creationdate.toString('G')}} | export-csv filenames.csv -delimiter ";" -NoType -Encoding UTF8
>
Da warst Du schneller. Die Felder umzubenennen ist natürlich keine schlechte Idee.
Alternativ geht's mit Spaltenumbenennung natürlich auch so
Tut sich aber nicht viel dran.
Jetzt kann er sich selbst austurnen bis zum Abwinken.
gci 'c:\ordner' -filter *.jpg -file |
select @{n='Name';e={$_.Name}},@{n='Erstelldatum';e={$_.CreationTime.toString('G')}} | export-csv filenames.csv -delimiter ";" -NoType -Encoding UTF8
Jetzt kann er sich selbst austurnen bis zum Abwinken.