Neu Batch Datei erstellen

wegweiser98

Neues Mitglied
15. Februar 2023
5
0
Hallo zusammen,
ich bin leider ein absoluter Neuling im Umgang mit JTL Wawi und hoffe, dass mir hier jemand weiterhelfen kann :)
Mein Ziel ist es Dropshipping-Bestellungen im CSV Format automatisch den den Lieferanten per FTP Upload zu übermitteln.
Dazu hab ich mich an diese tolle Anleitung gehalten, jedoch komm ich bei der Erstellung der Batch Datei nicht zum Ziel.
https://guide.jtl-software.de/jtl-wawi/versand/dropshipping-automatisieren/
Kann mir möglicherweise jemand eine Übersicht geben, wie ich meine Daten in die .bat Datei eintragen soll?
Ich gebe hier einfach mal Beispieldaten an und hänge ein Textdokument zur Vorlage der Batch-Datei an 😊
Vorab schonmal vielen Dank.

FTP-Servername: w01eeb0e.kasserver.com
FTP-Serververzeichnis: w01eeb0e/test
Port: 3028
User: w01eeb0e
Passwort: test123
Lokales Laufwerk mit CSV Datein: C:\User\Desktop\Dropshipping-Lieferant
 

Anhänge

  • Vorlage Batchdatei.txt
    1,1 KB · Aufrufe: 16

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.344
839
Aktuell bin ich auch dabei, das umzusetzen. Ich versuche es allerdings ohne Batch-Datei, hänge aber genau deshalb wahrscheinlich auch noch ein bisschen.

Weiß jemand, wie man Befehle zur Ausführung in der Kommandozeile in der Wawi in den Workflows hinterlegen muss?
Müssen das immer Batchdateien sein oder kann man auch direkt ein "Batch-Script" bzw. Befehlsketten im Workflow hinterlegen?
Wie müssen Pfade und Anführungszeichen gesetzt werden, damit die Befehle korrekt ausgeführt werden?
Und wie genau wird die CMD angesprochen/aufgerufen und auch wieder terminiert?

Im Ideal-Fall erfolgt die Übertragung per SFTP, da ja auch personenbezogene Daten bei Dropshipping-Bestellungen übertragen werden.
Dazu würde ich ein Tool wie WinSCP einsetzen. Hier kannst Du dann auch die Zugangsdaten zum Server/Sitzung speichern und brauchst diese nicht extra nochmal in einer Batch oder direkt in der Wawi hinterlegen.
Das Speichern in WinSCP ist allerdings auch nicht 100% sicher und mit Zugriff auf den Rechner ist auch ein Auslesen möglich.

Wenn ich das richtig verstehe, hast Du auch schon alles umgesetzt, bis zu dem FTP-Upload, korrekt?
In der .txt ist dann ja 1zu1 das Beispiel von JTL aus dem Guide enthalten.

Da sind aus meiner Sicht ein paar Fehler drin. Meines Erachtens stimmen die Pfade nicht mit dem Beispiel darüber überein und es gibt ein paar kleinere Probleme, die das Batch-Script in eine Endlosschleife schicken können.

Möchtest Du denn CSV-Dateien uploaden oder XML?

Hier mal ein paar Tipps für Dich:

Code:
c:
cd "c:\temp\connect\ftp\Dropshipper"
REM Set vars
set server=ftpserver.de
set user=username
set password=password
:TRYAGAIN
set csvCount=0
for %%f in (*.csv) do set csvCount=%csvCount%+1
echo %csvCount%
IF %csvCount%==0 GOTO NOTHINTODO
REM login
echo open %server%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo %user%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo %password%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
del c:\temp\connect\ftp\Dropshipper\ausgabe.txt
REM execute stuff
echo cd Dropshipper>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
for %%f in (*.xml) do echo put "c:\temp\connect\ftp\Dropshipper\%%f">> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo dir>>"c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo bye>>"c:\temp\connect\ftp\Dropshipper\temp.tmp"
REM run the ftp script
ftp -s:"c:\temp\connect\ftp\Dropshipper\temp.tmp" >> "c:\temp\connect\ftp\Dropshipper\ausgabe.txt"
REM delete temp file
del "c:\temp\connect\ftp\Dropshipper\temp.tmp"
move "c:\temp\connect\ftp\Dropshipper\*.xml" "c:\temp\connect\ftp\Gesendet"
GOTO DONE
:NOTHINTODO
ping 192.0.0.0 -n 1 -w 1000
GOTO TRYAGAIN
:DONE

c:
cd "c:\temp\connect\ftp\Dropshipper"
REM Set vars
set server=ftpserver.de
set user=username
set password=password
:TRYAGAIN
set csvCount=0
for %%f in (*.csv) do set csvCount=%csvCount%+1
echo %csvCount%
IF %csvCount%==0 GOTO NOTHINTODO
REM login
echo open %server%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo %user%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo %password%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
del c:\temp\connect\ftp\Dropshipper\ausgabe.txt
REM execute stuff
echo cd Dropshipper>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
for %%f in (*.xml) do echo put "c:\temp\connect\ftp\Dropshipper\%%f">> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo dir>>"c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo bye>>"c:\temp\connect\ftp\Dropshipper\temp.tmp"
REM run the ftp script
ftp -s:"c:\temp\connect\ftp\Dropshipper\temp.tmp" >> "c:\temp\connect\ftp\Dropshipper\ausgabe.txt"
REM delete temp file
del "c:\temp\connect\ftp\Dropshipper\temp.tmp"
move "c:\temp\connect\ftp\Dropshipper\*.xml" "c:\temp\connect\ftp\Gesendet"
GOTO DONE
:NOTHINTODO
ping 192.0.0.0 -n 1 -w 1000
GOTO TRYAGAIN
:DONE

1.) In diesem Verzeichnis muss die hochzuladende Datei liegen.
2.) Hier die Platzhalter durch die Zugangsdaten ersetzen.
3.) An allen 3 Stellen muss das gleiche stehen, also je nach Dateityp *.xml oder *.csv.

Das Script macht dann im Idealfall folgendes:
- Upload der Dateien in c:\temp\connect\ftp\Dropshipper auf den Server
- Verschieben der Dateien nach Ausführung des Scripts in c:\temp\connect\ftp\Gesendet

Allerdings landet das Script in einer Endlosschleife, wenn es ausgeführt wird, ohne dass eine Datei zum Upload bereit ist, bzw. wenn Du es so verwendest, wie es im Guide steht und .xml Dateien hochgeladen werden sollen, weil es von "GOTO NOTHINTODO" wieder zu "GOTO TRYAGAIN" geschickt wird und das ein endloser Kreislauf ist, bis eine hochzuladende Datei gefunden/gezählt wird und damit der Durchlauf mal zu "GOTO DONE" kommt.
 
Zuletzt bearbeitet:

wegweiser98

Neues Mitglied
15. Februar 2023
5
0
Aktuell bin ich auch dabei, das umzusetzen. Ich versuche es allerdings ohne Batch-Datei, hänge aber genau deshalb wahrscheinlich auch noch ein bisschen.

Im Ideal-Fall erfolgt die Übertragung per SFTP, da ja auch personenbezogene Daten bei Dropshipping-Bestellungen übertragen werden.
Dazu würde ich ein Tool wie WinSCP einsetzen. Hier kannst Du dann auch die Zugangsdaten zum Server/Sitzung speichern und brauchst diese nicht extra nochmal in einer Batch oder direkt in der Wawi hinterlegen.
Das Speichern in WinSCP ist allerdings auch nicht 100% sicher und mit Zugriff auf den Rechner ist auch ein Auslesen möglich.

Wenn ich das richtig verstehe, hast Du auch schon alles umgesetzt, bis zu dem FTP-Upload, korrekt?
In der .txt ist dann ja 1zu1 das Beispiel von JTL aus dem Guide enthalten.

Da sind aus meiner Sicht ein paar Fehler drin. Meines Erachtens stimmen die Pfade nicht mit dem Beispiel darüber überein und es gibt ein paar kleinere Probleme, die das Batch-Script in eine Endlosschleife schicken können.

Möchtest Du denn CSV-Dateien uploaden oder XML?
Danke für deine Nachricht :)
Im Ideal-Fall erfolgt die Übertragung per SFTP, da ja auch personenbezogene Daten bei Dropshipping-Bestellungen übertragen werden.
Da muss ich selbst nochmal korrigieren. Die Übertragung soll, wie du schon sagtest auch per SFTP passieren.

Wenn ich das richtig verstehe, hast Du auch schon alles umgesetzt, bis zu dem FTP-Upload, korrekt?
Richtig, ich habe die Dateien auch schon manuell mit Filezilla übertragen.
Mein Problem ist aktuell noch die Bash Datei.

In der .txt ist dann ja 1zu1 das Beispiel von JTL aus dem Guide enthalten.
Genau, ich hatte gehofft, dass mir jemand möglicherweise angegebenen Beispieldaten in die .txt datei einsetzen könnte,
damit ich einen Überblick erhalte, wie die funktionierende Batch Datei auszusehen hat.
Natürlich bin ich auch für andere Lösungsansätze bezüglich der Batch Datei offen.
Leider hatte ich mit der Google Suche noch nicht das richtige Glück :(
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.344
839
Genau, ich hatte gehofft, dass mir jemand möglicherweise angegebenen Beispieldaten in die .txt datei einsetzen könnte,
damit ich einen Überblick erhalte, wie die funktionierende Batch Datei auszusehen hat.
Natürlich bin ich auch für andere Lösungsansätze bezüglich der Batch Datei offen.
Leider hatte ich mit der Google Suche noch nicht das richtige Glück :(

Hatte scheinbar zu früh auf "Senden" gedrückt, der Beitrag war noch nicht fertig. (s.o.)

Guck Dir mal WinSCP an. Wenn hier noch der ein oder andere "Crack" mithilft, bekommen wir das vielleicht fertig, das darüber sauber laufen zu lassen.

Das Batch-Script von JTL müsste man an ziemlich vielen Stellen ändern, um das genau anzupassen, so wie oben sollte es aber erstmal funktionieren, nur sftp kann Windows halt so nicht einfach.
 
Zuletzt bearbeitet:

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.296
352
Danke für deine Nachricht :)

Da muss ich selbst nochmal korrigieren. Die Übertragung soll, wie du schon sagtest auch per SFTP passieren.
Wenn du per SFTP übertragen willst, kommst du mit dem Script aus dem ursprünglichen Link nicht weiter, denn dort wird per FTP übertragen (SFTP und FTP sind zwei völlig verschiedene Protokolle)
In dem Beispiel wird das bei Windows standardmäßig installierte Programm ftp.exe benutzt. Ich glaube, dieser Client kann nicht mal den Passive Mode benutzen.
Aber wie auch immer, wenn du sowieso per SFTP übertragen willst/musst, dann brauchst du sowieso einen anderen Client. WinSCP wie vom @Verkäuferlein vorgeschlagen ist schonmal ein ganz guter Vorschlag.
Eine andere Möglichkeit wäre scp.exe bzw. sftp.exe. Diese Programme sollten eigentlich bereits installiert sein, denn Win10 kommt ja jetzt auch mit OpenSSH.

EDIT:
Du schreibst ja oben, dass du schon mit Filezilla rumgemacht hast.
Dieses Programm geht auch - der Filezilla kann auch SFTP ;)
 
  • Gefällt mir
Reaktionen: wegweiser98

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.344
839
@mh1 hat Recht, seit 2018 scheint OpenSSH in Windows 10 integriert worden zu sein.

Mit Filezilla und WinSCP sind die Wege eigentlich recht ähnlich, WinSCP gefällt mir persönlich allerdings ein bisschen besser.

Das Problem ist immer nur, dass bei der Workflow-Ausführung die Meldung "Das Verzeichnis ist ungültig." kommt. Ich habe den Verdacht, dass die Wawi "C:\Program Files (x86)\WinSCP\" nicht klar kommt und dies nicht sauber in die Konsole übergibt, weil da Leerzeichen drin sind.

Vielleicht hat ja jemand ähnliche Erfahrungen und weiß, wie man das der Funktion "Ausführen" in den Workflows beibringt, einfach nur die entsprechenden Befehle in die Konsole zu schreiben.
 

ple

Sehr aktives Mitglied
20. August 2019
450
59
Ich bastel gerade ebenfalls an eine Lösung, wie man mehrere Wawis an eine Masterwawi anbinden kann. Also 5 Wawis als Dropshipper an meiner Wawi. Setzen deine Lieferanten auch die Wawi ein?
Davon abgesehen, dass ich noch nicht weiß, ob das so der richtige Weg ist, weil ich noch keine richtige Lösung habe deren Artikel bei mir vernünftig zu importieren, kann ich aber doch ein wenig hier beisteuern.

Die ganze Geschichte mit Datei hochladen usw. das würde ich mit Powershell machen und Winscp (windows Boardmittel habe ich noch nicht ausprobiert). Ich mache sowas ähnliches, wo ein Ordner bei mir synchron gehalten wird mit dem FTP, damit ein externer Marktplace die Artikeldaten.csv hat und die aktuellen Bilder.

Das schöne bei Powershell ist, man kann sich seinen Code zusammenschreiben und testen und wenn der funktioniert, kann man diesen base64 Encoden lassen, dann hat man ne Menge Zeichen, welches das Programm ist.
Dann müsste man nur noch im Workflow Powershell ausführen und als Parameter den Base64 Code dahinter.
So hat man alles in der Wawi ohne eine Powershelldatei auf den Rechner.
https://mikefrobbins.com/2017/06/15/simple-obfuscation-with-powershell-using-base64-encoding/

Aber vielleicht wäre ein Powershell script, welches vom Aufgabenplaner alle 5 min getriggert wird besser. Somit wäre ein Abbruch der Internetverbindung nicht tragisch, da beim nächsten mal die Bestellungen wieder synchronisiert werden.

ist nur eben dahingeschrieben, aktuell wenig Zeit, sorry. Aber mache hier gerne mit.

Gruß
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.296
352
Ich habe den Verdacht, dass die Wawi "C:\Program Files (x86)\WinSCP\" nicht klar kommt und dies nicht sauber in die Konsole übergibt, weil da Leerzeichen drin sind.
Das kannst du ja testen, indem du WinSCP einfach in einen Ordner ohne Leerzeichen schiebst und schaust, ob es dann ausgeführt wird.

...oder du führst einfach einfach "scp.exe" aus. Nur zum eine Datei kopieren ist WinSCP eigentlich überflüssig, da du dies auch mit OpenSSH erledigen kannst und wie du auch geschrieben hast:
@mh1 hat Recht, seit 2018 scheint OpenSSH in Windows 10 integriert worden zu sein.

Der entsprechende Befehl wäre dann: scp datei1.dta user@8.8.8.8:/data/upload
Du solltest dann die SSH-Authentifizierung des Servers auf Public Key umstellen, damit du nicht jedesmal ein Passwort eingeben musst.
Man sollte aber generell auf Authentifizierung über öffentliche Schlüssel umstellen und Authentifizierung mit Passwort dann auch gleich abschalten (braucht man dann ja nicht mehr).
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Export CSV Datei inkl. Bilder Schnittstellen Import / Export 1
Neu JTL 1.8.12.0 - Artikelattribut für Shop importieren - Format CSV-Datei / Hilfe bei Import von individuellen Attributen für JTL-Shop (googlekat) JTL-Ameise - Ideen, Lob und Kritik 1
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
In Bearbeitung Artikel über csv-Datei bearbeiten und importieren Allgemeine Fragen zu JTL-POS 3
Neu Exportformate - Zeitstempel Datei automatisiert erstellen Betrieb / Pflege von JTL-Shop 1
Neu Wie kann ich eine Inventurliste als Excel- oder csv-Datei erstellen? Gelöste Themen in diesem Bereich 3
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Gelöst Servicedesk Workflow Datei erstellen um einen Auftrag zu ändern Gelöste Themen in diesem Bereich 1
Texte aus Webshop Datei ziehen Einrichtung JTL-Shop5 0
Neu DHL Leitcodierung => DataFactoryCargo Datei User helfen Usern - Fragen zu JTL-Wawi 0
Neu SCSS-Datei bearbeiten über FTP Allgemeine Fragen zu JTL-Shop 6
Kopie Lieferschein erstellen JTL-Wawi 1.7 1
Neu leeres Textfeld erstellen für einen Hinweis auf der Rechnung User helfen Usern - Fragen zu JTL-Wawi 2
Fehler beim erstellen von Aufträgen JTL-Wawi App 2
Testmandantenumgebung in Wawi als Duplikat vom Echtzeitmandanten erstellen? JTL-Wawi 1.8 5
Neu Mehrere Sprachen aktivieren und verschiede Preise pro Land erstellen Betrieb / Pflege von JTL-Shop 1
Vorab bezahlte Rechnung erstellen JTL-Wawi 1.8 3
Neu Eigene Seiten mit Plugin erstellen Technische Fragen zu Plugins und Templates 1
JTL Shop Gutscheine über JTL-Vouchers erstellen Allgemeine Fragen zu JTL-Vouchers 2
Neu JTL Shop Gutscheine über JTL-Vouchers erstellen Allgemeine Fragen zu JTL-Shop 2
Landingpage Header und Footer erstellen zwecks Vorbestellung Einrichtung JTL-Shop5 0
Neu Fehler beim erstellen von Aufträgen. Digitale Unterschrift im Auftrag. JTL-Wawi - Fehler und Bugs 0
Neu Erstellen eines Sets, als Variation in Zusammenhang mit einer Stückliste Arbeitsabläufe in JTL-Wawi 2
Neu Email Vorlage erstellen Wawi 1.8.12.0 User helfen Usern - Fragen zu JTL-Wawi 7
Neu Email Vorlage in Wawi 1.8 erstellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Provisionsrechnung erstellen JTL-Wawi 1.8 0
Abhängige Variationen erstellen JTL-Wawi 1.8 1
Rechnungskorrektur in JTL bei OTTO Retoure erstellen? Otto.de - Anbindung (SCX) 1
Workflow für Amazon Zahlart erstellen JTL-Wawi 1.7 0
Neu E-Rechnung erstellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Gutscheine mit Anzahl und Code erstellen ? Allgemeine Fragen zu JTL-Shop 1
Neu Wareneingang gebucht ... Pickliste erstellen ... Eazyshipping und Versandboxen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 5
Neu Neue Tab in JTL 5 Shop erstellen Allgemeine Fragen zu JTL-Shop 3
Gelöst GLS Probleme beim Erstellen von Versandetiketten Gelöste Themen in diesem Bereich 1
[JTL-WAWI API] Versandposition in Auftrag erstellen? JTL-Wawi 1.8 3
Neu Nach Update auf 1.8.11 - teilweise kein "Amazon - Neue Produkteseite erstellen" möglich Amazon-Lister - Fehler und Bugs 1
Neu Subdomain für eine Seite erstellen Allgemeine Fragen zu JTL-Shop 0
Teilrechnung Erstellen über/nach Packtisch+ JTL-Wawi 1.8 1
Neu Landingpage erstellen? User helfen Usern 2
Neu Wunschzettel von Kunden einsehen - Angebot erstellen Allgemeine Fragen zu JTL-Shop 1
Neu Zusammengesetzte Artikel erstellen Arbeitsabläufe in JTL-Wawi 1
Neu Rechnungen Sofort erstellen (ohne Auftrag!) User helfen Usern - Fragen zu JTL-Wawi 1
Workflow Bug: Rechnungskorrektur erstellen aus Retoure JTL-Wawi 1.8 4
Neu Lager nach Gewicht erstellen JTL-Wawi 1.8 Gelöste Themen in diesem Bereich 6
Monatsrechnung erstellen - JTL Wawi 1.8.10.0 JTL-Wawi 1.8 3

Ähnliche Themen