Batch "dir B" nebeneinander statt untereinander mit , getrennt
Hallo zusammen,
Mein erst Post und dann doch wahrscheinlich was einfaches. Leider reichen meine Kenntnisse dafür nicht aus, daher muss ich euch fragen.
Für einen Import von Artikel und die dazugehörigen Bildern benötige ich eine batch, welche mir eine csv Datei erstellt aus den Dateinamen der Bilder.
Die Artikelnummer sollte erst einen Timestamp beinhalten. Ablauf wäre halt, ich mache die Fotos und löse die Batch aus, danach werden Bilder und csv verschoben.
Danach kommt der nächste Artikel.
aussehen könnte sie so.
Ich denke es muss mit einer schleife gehen aber da hört es bei mir schon auf.
Hat wer vielleicht einen Ansatz?
Mein aktuelle Ansatz läuft mit, somit kann ich viele Artikel fotografieren, habe aber dann auch nur ein Bild vorhanden pro Artikel, weil die ja untereinander stehen.
Daher lieber den Ansatz oben, Fotoreihe machen und importieren lassen. Danach den nächsten Artikel.
Vielen Dank für eure Unterstützung.
Mein erst Post und dann doch wahrscheinlich was einfaches. Leider reichen meine Kenntnisse dafür nicht aus, daher muss ich euch fragen.
Für einen Import von Artikel und die dazugehörigen Bildern benötige ich eine batch, welche mir eine csv Datei erstellt aus den Dateinamen der Bilder.
Die Artikelnummer sollte erst einen Timestamp beinhalten. Ablauf wäre halt, ich mache die Fotos und löse die Batch aus, danach werden Bilder und csv verschoben.
Danach kommt der nächste Artikel.
aussehen könnte sie so.
Artikel;Bild1;Bild2;Bild3;Bild4
20191114_141825;dsc1.jpg;dsc2.jpg;dsc3.jpg;dsc4.jpg
Ich denke es muss mit einer schleife gehen aber da hört es bei mir schon auf.
Hat wer vielleicht einen Ansatz?
Mein aktuelle Ansatz läuft mit
dir /B *.jpg > import.csv
Daher lieber den Ansatz oben, Fotoreihe machen und importieren lassen. Danach den nächsten Artikel.
Vielen Dank für eure Unterstützung.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 515147
Url: https://administrator.de/forum/batch-dir-b-nebeneinander-statt-untereinander-mit-getrennt-515147.html
Ausgedruckt am: 21.04.2025 um 18:04 Uhr
16 Kommentare
Neuester Kommentar
Probier mal was in der Art:
Steffen
@echo off &setlocal
for /f %%i in ('wmic OS GET LocalDateTime /value') do for /f %%j in ("%%i") do set "%%j"
set "timestamp=%LocalDateTime:~0,8%_%LocalDateTime:~8,6%"
for /f %%i in ('dir /a-d /b *.jpg^|find /c /v ""') do set "count=%%i"
md "%timestamp%"
<nul >"%timestamp%.csv" (
set /p "=Artikel"
for /l %%i in (1 1 %count%) do set /p "=;Bild%%i"
echo(
set /p "=%timestamp%"
for /f "delims=" %%i in ('dir /a-d /b *.jpg') do (
set /p "=;%%i"
>nul move "%%i" "%timestamp%\"
)
)
>nul move "%timestamp%.csv" "%timestamp%\"
Moin,
??? Woran unterscheidest Du denn dann, welche Bilder zu welchem Artikel gehören?
??? Die Logik verstehe ich nicht.
Liebe Grüße
Erik
Zitat von @plentm:
Mit mehreren Artikel wäre cool, aber man weiß ja nicht wann der neue Artikel anfängt.
Mit mehreren Artikel wäre cool, aber man weiß ja nicht wann der neue Artikel anfängt.
??? Woran unterscheidest Du denn dann, welche Bilder zu welchem Artikel gehören?
Daher würde ich lieber einen Artikel immer haben wollen. Anzahl der Bilder können variieren bis zu 20. bei einen Artikel daher auch den timestamp als Artikelnummer,
??? Die Logik verstehe ich nicht.
Liebe Grüße
Erik
Moin,
So, nun ist das Problem klar. Hier das Powershell-Skript, das das löst:
hth
Erik
Zitat von @plentm:
Ablauf wäre wie folgt. Ich mache z.B. 6 Fotos, die landen mit dem Dateinamen der Cam in einem Ordner, wo auch die batch liegt.
Nachdem 1 Artikel fotografiert wurde führe ich die batch aus, die mir dann, wie im Post 1, eine CSV Datei erzeugen sollte. Liegt alles im gleichen Ordner. Sobald die batch ausgeführt wurde und die csv erstellt wurde wird am Ende der batch noch der Importer ausgeführt.
sobald das durchgelaufen ist, können die Bilder und csv im "_Archiv Ordner" verschoben werden. Die csv bekommt am Ende des Dateinamens noch YYYYMMDD angehängt.
Dann ist der Ordner wieder leer bis auf batch und _Archiv und der nächste Artikel kann fotografiert werden.
Ablauf wäre wie folgt. Ich mache z.B. 6 Fotos, die landen mit dem Dateinamen der Cam in einem Ordner, wo auch die batch liegt.
Nachdem 1 Artikel fotografiert wurde führe ich die batch aus, die mir dann, wie im Post 1, eine CSV Datei erzeugen sollte. Liegt alles im gleichen Ordner. Sobald die batch ausgeführt wurde und die csv erstellt wurde wird am Ende der batch noch der Importer ausgeführt.
sobald das durchgelaufen ist, können die Bilder und csv im "_Archiv Ordner" verschoben werden. Die csv bekommt am Ende des Dateinamens noch YYYYMMDD angehängt.
Dann ist der Ordner wieder leer bis auf batch und _Archiv und der nächste Artikel kann fotografiert werden.
So, nun ist das Problem klar. Hier das Powershell-Skript, das das löst:
$timestamp = get-date -Format "yyMMdd_hhmmss"
$files = Get-ChildItem *.jpg
$csv_object = New-Object PSObject
$csv_object | Add-Member NoteProperty "Artikel" "$timestamp"
$i = 1
foreach($file in $files) {
$csv_object | Add-Member NoteProperty "Bild$i" "$($file.name)"
$i++
}
$csv_object | Export-Csv standardname.csv -NoTypeInformation -delimiter ";" -Encoding utf8
importer.exe standardname.csv # Oder wie auch immer der importer aufgerufen wird.
move-item * -Destination "Pfad zum Archivordner" -exclude name_des_skripts.ps1
hth
Erik
Moin,
klar geht das.
hth
Erik
klar geht das.
$timestamp = get-date -Format "yyMMdd_hhmmss"
$files = Get-ChildItem *.jpg
$csv_object = New-Object PSObject
$csv_object | Add-Member NoteProperty "Artikel" "$timestamp"
$i = 1
foreach($file in $files) {
$csv_object | Add-Member NoteProperty "Bild$i" "$($file.name)"
$i++
}
$csv_object | Export-Csv import.csv -NoTypeInformation -delimiter ";" -Encoding utf8
importer.exe standardname.csv # Oder wie auch immer der importer aufgerufen wird.
$newname = "import_" + $timestamp + ".csv"
rename-item import.csv $newname
move-item * -Destination "Pfad zum Archivordner" -force
hth
Erik
Zitat von @plentm:
Ok, das per Doppelklick scheint ja soweit zu klappen und die Policy steht auf "Unrestricted"
der Fehler in der console ist
Ok, das per Doppelklick scheint ja soweit zu klappen und die Policy steht auf "Unrestricted"
der Fehler in der console ist
Export-Csv : Der Zugriff auf den Pfad "C:\WINDOWS\system32\import.csv" wurde verweigert.
>
Da soll die Datei ja auch nicht hin.
cd x:\pfad_auf_dein_Verzeichnis
.\name_des_skripts.ps1
eintippst. Dann löpt dat.
hth
Erik