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

gelöst Batch "dir B" nebeneinander statt untereinander mit , getrennt

Mitglied: plentm

plentm (Level 1) - Jetzt verbinden

14.11.2019 um 14:28 Uhr, 307 Aufrufe, 16 Kommentare

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.
01.
Artikel;Bild1;Bild2;Bild3;Bild4
02.
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
01.
dir /B *.jpg > import.csv
, 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.
Mitglied: erikro
14.11.2019 um 17:04 Uhr
Moin,

soll das ein csv pro Artikel werden oder eins für alle? Sind es immer die gleiche Anzahl Bilder oder variieren die?

Liebe Grüße

Erik
Bitte warten ..
Mitglied: plentm
14.11.2019, aktualisiert um 17:31 Uhr
Mit mehreren Artikel wäre cool, aber man weiß ja nicht wann der neue Artikel anfängt.
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, den würde ich dann in jtl dann ändern wollen nach dem import
Bitte warten ..
Mitglied: rubberman
14.11.2019 um 21:40 Uhr
Probier mal was in der Art:
01.
@echo off &setlocal
02.
for /f %%i in ('wmic OS GET LocalDateTime /value') do for /f %%j in ("%%i") do set "%%j"
03.
set "timestamp=%LocalDateTime:~0,8%_%LocalDateTime:~8,6%"
04.
for /f %%i in ('dir /a-d /b *.jpg^|find /c /v ""') do set "count=%%i"
05.
md "%timestamp%"
06.

07.
<nul >"%timestamp%.csv" (
08.
  set /p "=Artikel"
09.
  for /l %%i in (1 1 %count%) do set /p "=;Bild%%i"
10.
  echo(
11.
  set /p "=%timestamp%"
12.
  for /f "delims=" %%i in ('dir /a-d /b *.jpg') do (
13.
    set /p "=;%%i"
14.
    >nul move "%%i" "%timestamp%\"
15.
  )
16.
)
17.
>nul move "%timestamp%.csv" "%timestamp%\"
Steffen
Bitte warten ..
Mitglied: plentm
15.11.2019 um 11:30 Uhr
Leider nicht ganz das ist mir zur Zeit auch alle sehr cryptisch und übersteigt mein Horizint.
Dein Script erzeugt einen neuen Ordner und darin sind die sind die Bilder sowie die csv.
Der Name der csv muss ich gleich bleiben, damit JTL die immer importieren kann.

Der Inhalt der Datei sieht nun wie folgt aus.

01.
Artikel
02.
C:\Intel\mhl\Bilder import>set /p "=;Bild1" 
03.
;Bild1
04.
C:\Intel\mhl\Bilder import>set /p "=;Bild2" 
05.
;Bild2
06.
C:\Intel\mhl\Bilder import>set /p "=;Bild3" 
07.
;Bild3
08.
C:\Intel\mhl\Bilder import>set /p "=;Bild4" 
09.
;Bild4
10.
C:\Intel\mhl\Bilder import>set /p "=;Bild5" 
11.
;Bild5
12.
C:\Intel\mhl\Bilder import>set /p "=;Bild6" 
13.
;Bild6
14.
C:\Intel\mhl\Bilder import>set /p "=;Bild7" 
15.
;Bild7
16.
20191115_112636
17.
C:\Intel\mhl\Bilder import>(
18.
set /p "=;DSC05039.JPG"  
19.
 move "DSC05039.JPG" "20191115_112636\" 1>nul 
20.
) 
21.
;DSC05039.JPG
22.
C:\Intel\mhl\Bilder import>(
23.
set /p "=;DSC05040.JPG"  
24.
 move "DSC05040.JPG" "20191115_112636\" 1>nul 
25.
) 
26.
;DSC05040.JPG
27.
C:\Intel\mhl\Bilder import>(
28.
set /p "=;DSC05041.JPG"  
29.
 move "DSC05041.JPG" "20191115_112636\" 1>nul 
30.
) 
31.
;DSC05041.JPG
32.
C:\Intel\mhl\Bilder import>(
33.
set /p "=;DSC05042.JPG"  
34.
 move "DSC05042.JPG" "20191115_112636\" 1>nul 
35.
) 
36.
;DSC05042.JPG
37.
C:\Intel\mhl\Bilder import>(
38.
set /p "=;DSC05043.JPG"  
39.
 move "DSC05043.JPG" "20191115_112636\" 1>nul 
40.
) 
41.
;DSC05043.JPG
42.
C:\Intel\mhl\Bilder import>(
43.
set /p "=;DSC05044.JPG"  
44.
 move "DSC05044.JPG" "20191115_112636\" 1>nul 
45.
) 
46.
;DSC05044.JPG
47.
C:\Intel\mhl\Bilder import>(
48.
set /p "=;DSC05045.JPG"  
49.
 move "DSC05045.JPG" "20191115_112636\" 1>nul 
50.
) 
51.
;DSC05045.JPG
Bitte warten ..
Mitglied: erikro
15.11.2019 um 11:45 Uhr
Moin,

Zitat von plentm:

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
Bitte warten ..
Mitglied: plentm
15.11.2019 um 12:12 Uhr
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.

Meine alte Vorgehensweise war mit dir /B. Dabei konnte ich viele Artikel importieren, jedoch nur mit einem Foto. Um viele Artikel zu importieren mit mehreren Bilder müsste ja wissen, wann bei den Bildern der neue Artikel anfängt. Da müsste ich an der Cam schauen, ob ich per Knopf die Dateien anders nennen kann. Denke aber der Aufwand wäre zu groß, dann lieber nach jeden Artikel die batch ausführen.

Mein alter Stand sieht wie folgt aus. Da Frage ich auch noch die 20 ab, da die Bilder alle mit 2019 beginnen.

01.
@echo off
02.
rem Variablen setzen für Datum und Zeit für Ordner und Dateiangaben
03.
set YYYY=%date:~-4%
04.
set MM=%date:~-7,2%
05.
set DD=%date:~-10,2%
06.
set hr=%time:~0,2%
07.
if "%hr:~0,1%" == " " SET hr=0%hr:~1,1%
08.
set min=%time:~3,2%
09.
set sek=%time:~6,2%
10.

11.

12.
rem prüfen ob _archiv\ vorhanden ist, ansonsten erstellen
13.
 If not exist "./_archiv" (
14.
 mkdir "./_archiv"
15.
)
16.

17.

18.
rem dir liste erstellen und in JTL importieren mit Dateinamen.
19.
dir /B 20* > import.csv
20.
"C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=XXXXXX --database=XXXXXX --dbuser=XXXXX --dbpass=XXXXXXXX --templateid=XXXX --inputfile=import.csv
21.
rem csv und Bilder verschieben 
22.
move .\20* .\_archiv\
23.
move .\import.csv .\_archiv\%YYYY%%MM%%DD%_%hr%%min%%sek%.csv
Bitte warten ..
Mitglied: erikro
15.11.2019, aktualisiert um 12:53 Uhr
Moin,

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.

So, nun ist das Problem klar. Hier das Powershell-Skript, das das löst:

01.
$timestamp = get-date -Format "yyMMdd_hhmmss"
02.
$files = Get-ChildItem *.jpg
03.
$csv_object = New-Object PSObject
04.
$csv_object | Add-Member NoteProperty "Artikel" "$timestamp"
05.
$i = 1
06.
foreach($file in $files) {
07.

08.
    $csv_object | Add-Member NoteProperty "Bild$i" "$($file.name)"
09.
    $i++
10.

11.
}
12.

13.
$csv_object | Export-Csv standardname.csv -NoTypeInformation -delimiter ";" -Encoding utf8
14.

15.
importer.exe standardname.csv # Oder wie auch immer der importer aufgerufen wird.
16.
move-item * -Destination "Pfad zum Archivordner" -exclude name_des_skripts.ps1
hth

Erik
Bitte warten ..
Mitglied: rubberman
15.11.2019 um 13:13 Uhr
Der Name der csv muss ich gleich bleiben
Zeile 7
01.
<nul >"irgendeinimmergleichername.csv" (
Der Inhalt der Datei sieht nun wie folgt aus.
Sicher nur dann wenn du das Script geändert hast und in der ersten Zeile ein ECHO ON statt ECHO OFF steht.

Steffen
Bitte warten ..
Mitglied: plentm
15.11.2019, aktualisiert um 14:14 Uhr
An deinem Script habe ich nichts mehr geändert, einfach nur copy paste. Habe es gerade noch mal gemacht, aber die ausgabe der CSV ist immer gleich. oder ich mache Grundlegend was verkehrt, dass schließe ich mal nicht aus

@ Erik: Danke für dein Script, so hatte ich mir das ungefähr vorgestellt. Wenn jetzt in der csv die "" entfernt wären und die Datei vor dem Verschieben umbenannt wird mit Datum am Ende, also import_20191115_141322.csv wäre das schon mal echt super. Kann man beim verschieben auch sagen, dass er bestehende gleiche Dateien überschreiben soll? Hatte vorhin das Problem, dass er nicht verschoben hat, weil schon vorhanden.

Dann müsste ich nur noch gucken, wie ich das per Doppelclick ausführe, das war immer schön an der batch Datei.

Gruß
Bitte warten ..
Mitglied: erikro
15.11.2019 um 14:29 Uhr
Moin,

klar geht das.

01.
$timestamp = get-date -Format "yyMMdd_hhmmss"
02.
$files = Get-ChildItem *.jpg
03.
$csv_object = New-Object PSObject
04.
$csv_object | Add-Member NoteProperty "Artikel" "$timestamp"
05.
$i = 1
06.
foreach($file in $files) {
07.

08.
    $csv_object | Add-Member NoteProperty "Bild$i" "$($file.name)"
09.
    $i++
10.

11.
}
12.

13.
$csv_object | Export-Csv import.csv -NoTypeInformation -delimiter ";" -Encoding utf8
14.

15.
importer.exe standardname.csv # Oder wie auch immer der importer aufgerufen wird.
16.
$newname = "import_" + $timestamp + ".csv"
17.
rename-item import.csv $newname
18.
move-item * -Destination "Pfad zum Archivordner" -force
hth

Erik
Bitte warten ..
Mitglied: plentm
15.11.2019, aktualisiert um 14:45 Uhr
Wird gleich mal ausgetestet, wenn die ps nicht immer versuchen würde den system32 zu verschieben
Hatte es mit dem doppelklick versucht und Standardprogramm
01.
Pfad: C:\Windows\System32\WindowsPowerShell\v1.0\powerShell.exe

nur leider nimmt er dann die Pfade wo die ps.exe liegt.
Eigentlich müsste ich ja nur mit relativen Pfaden arbeiten, also da wo sich die ps befindet.
Geht das auch?
Sorry, ich muss mir echt überlegen ps mehr zu lernen, scheint ja recht mächtig zu sein.

Gruß und besten Dank
Bitte warten ..
Mitglied: plentm
15.11.2019 um 15:13 Uhr
Ok, das per Doppelklick scheint ja soweit zu klappen und die Policy steht auf "Unrestricted"

der Fehler in der console ist
01.
Export-Csv : Der Zugriff auf den Pfad "C:\WINDOWS\system32\import.csv" wurde verweigert.
Kann das denn was mit den Pfaden zu tun haben, weil das Script jetzt per "öffnet mit" auf Powershell bezogen ist?
Wenn ich das wieder auf Notepad ändere und rechtsklick "Mit Powershell ausführen" klicke klappt alles wieder soweit.

Gruß und Danke für deine Unterstützung.
Bitte warten ..
Mitglied: erikro
15.11.2019 um 15:45 Uhr
Zitat von plentm:

Ok, das per Doppelklick scheint ja soweit zu klappen und die Policy steht auf "Unrestricted"

der Fehler in der console ist
01.
Export-Csv : Der Zugriff auf den Pfad "C:\WINDOWS\system32\import.csv" wurde verweigert.
02.
> 

Da soll die Datei ja auch nicht hin. Am Einfachsten ist es, wenn Du Dir eine PS-Konsole aufmachst, dort dann

01.
cd x:\pfad_auf_dein_Verzeichnis
02.
.\name_des_skripts.ps1
eintippst. Dann löpt dat.

hth

Erik
Bitte warten ..
Mitglied: plentm
15.11.2019 um 17:38 Uhr
Ok, das muss ich Sonntag mal testen. Wenn nicht, dann melde ich mich noch mal.
Vielen Dank
Bitte warten ..
Mitglied: plentm
15.11.2019 um 20:31 Uhr
habs gerade erst gerafft, ist ja wie linux mit ./script

Aber das war nicht ganz so gemeint von mir. Wenn ich die Datei Import.ps1 habe, dann kann ich ja nicht einfach doppelklick machen, da sich dann der Editor öffnet. Ein Rechtsklick ausführen mit ps geht soweit.
Nun habe ich gelesen, wenn man Rechtsklick>eigenschaften>öffnet mit> und dann ps aussucht, dann geht es auch mit doppelklick, aber dann befindet er sich in
01.
C:\Windows\System32\WindowsPowerShell\v1.0\powerShell.exe
und führ dort den Code aus.
Ich habs erst mal mit absoluten Pfad gemacht, das geht soweit. Wüsste jetzt nicht, wie er sich den Pfad merken könnte, wo die Datei ausgeführt wird.
01.
$csv_object | Export-Csv C:\mhl\Bilder_import\import.csv -NoTypeInformation -delimiter ";" -Encoding utf8
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch - Spalte von 1 hochzähle Spalte b fester Wert

gelöst Frage von freshman2017Batch & Shell2 Kommentare

Hallo Ihr, ich habe mit nachfolgendem Skript die Zahlen in "Spalte A" von 1 hochzählen lassen: in Spalte B ...

Windows 7

Remotedesktopverbindung getrennt: keine Clientzugriffslizenzen

gelöst Frage von BuggerTWindows 76 Kommentare

Guten Abend, in meinem Büro läuft ein Server mit Windows Server 2008 R2. Vor ca. 9 Monaten habe ich ...

Windows Server

Heruntergefahren statt Neustart

gelöst Frage von GrEEnbYteWindows Server12 Kommentare

Hallo Folgendes Problem tritt bei einem Server 2012R2 auf. Wenn er neu gestartet wird fährt er statt dessen herunter. ...

Linux

Startscript PID statt PPID

gelöst Frage von schneerunzelLinux5 Kommentare

Hallo zusammen, ich habe auf Grundlage des Beispiels ein Startscript für Java Applikation geschrieben nun habe ich folgendes Problem ...

Neue Wissensbeiträge
Internet

(NetzDG) .und Ihr heult über Limux in München, schon gehört, was die SPD vor hat?

Information von certifiedit.net vor 1 TagInternet10 Kommentare

Na dann, Gute Nacht Bürgerrechte. Wofür dann eigentlich die DS-GVO? Ich bezeichne mich als Polizist und hol mir einfach ...

Sicherheit

Chrome 79 übermittelt eingegebene Kennwörter nach Hause

Information von DerWoWusste vor 3 TagenSicherheit16 Kommentare

Ab sofort warnt Chrome standardmäßig Nutzer davor, wenn aus Leaks bekannte Passwörter zum Einsatz kommen. Beim Besuch einer Website, ...

Viren und Trojaner
Trend Micro WFBS 10 SP1 Patch 2185
Tipp von Abramelin vor 4 TagenViren und Trojaner3 Kommentare

Hi, Hab gerade gesehen das Patch 2185 für TM WFBS 10 SP1 erschienen ist! Werde mal Morgen den Patch ...

Viren und Trojaner

Neuer Virus lässt Windows im abgesicherten Modus starten

Tipp von transocean vor 4 TagenViren und Trojaner7 Kommentare

Moin, lest selbst. Grüße Uwe

Heiß diskutierte Inhalte
Windows 7
Windows 7 - Ein DSL Speedtest - Mehrere Browser - Unterschiedliche Ergebnisse
gelöst Frage von AusAltwirdNeuWindows 725 Kommentare

Hallo zusammen, mein PC hat zwei Rj45 Anschlüsse. Beide sind auf Gigabit Vollduplex eingestellt. An beiden Anschlüssen erreiche ich ...

DSL, VDSL
Fritz Box 7490 Internettelefonie
Frage von daveshuterDSL, VDSL13 Kommentare

Tach zusammen, ich bin gerade dabei meine neue Fritzbox (7490) für den Einsatz in meinem privaten Netz einzustellen (DSL ...

LAN, WAN, Wireless
UniFi AP AC Pro wenig Durchsatz
Frage von matze2090LAN, WAN, Wireless11 Kommentare

Hallo, ich habe mir zwei UniFi AP AC Pros gekauft, da sie eine sehr gute Rezzesion haben. Ich habe ...

Internet
(NetzDG) .und Ihr heult über Limux in München, schon gehört, was die SPD vor hat?
Information von certifiedit.netInternet10 Kommentare

Na dann, Gute Nacht Bürgerrechte. Wofür dann eigentlich die DS-GVO? Ich bezeichne mich als Polizist und hol mir einfach ...