Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rem ##Kommentare im Quellcode sind mit "rem ##" gekennzeichnet
- rem ##Mit "rem" markierte Zeilen sind funktionslose Zeilen die jedoch aus verschiedenen Gründen nicht gelöscht werden sollten.
- @echo off
- if exist "\\server\prog\transfer\Lagerplatz.txt" goto existimport
- rem ##Prüft ob im Importverzeichnis eine Lagerplatz.txt besteht
- copy "C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt" list.txt
- rem ##kopiert list.txt aus dem ActiveSync Verzeichnis in sein eigenes Verzeichnis
- if NOT exist list.txt goto nolist
- if exist Lagerplatz.txt goto existinglist
- rem ##prüft auf Dateien aus vorherigen Durchläufen und springt zu entsprechenden Hinweisen.
- set d=%date:~0,2%.%date:~-7,2%.%date:~-4,4%
- set d=%d: =_%
- set t=%time:~0,2%.%time:~3,2%
- set t=%t: =0%
- set dt=_%d%_%t%
- rem ##setzt einen Zeitstempel
- for /F "delims=|" %%f IN (list.txt) DO echo %%f>> temp.txt
- del list.txt
- rename temp.txt list.txt
- rem ##löscht leere Zeilen aus der list.txt
- for /f "tokens=1,* delims=:" %%i in ('findstr /n $ list.txt') do @(
- rem ##für jede Zeile in der Datei list.txt wird nachfolgendes ausgeführt
- for /L %%a in (1,1,1999) do @if %%i==%%a set satz=%%a && set wert1=%%j
- rem ##setzt den Wert der Variable wert1 zum Inhalt der entsprechenden Zeile
- call :blub
- rem ##ruft :blub auf
- )
- goto end
- rem ##springt zu :end
- :blub
- if %wert1:~0,1% GTR 9 set Lager=%wert1%
- if %wert1:~0,1% LEQ 9 set ISBN=%wert1%
- if NOT defined Lager goto erroratfirstline
- rem ##wenn das erste Zeichen von %wert1% größer (GTR) 9 ist (alle Buchstaben werden in Batch größer 9 gewertet) wird der inhalt der Variable %wert1% in Variable %Lager% geschrieben
- rem ##wenn das erste Zeichen von %wert1% kleiner gleich (LEQ) 9 ist (sprich eine Zahl) wird der Inhalt der Variable %wert1% in Variable %ISBN% geschrieben
- rem ##wenn die Variable Lager nicht definiert ist, was dafür spricht, dass ein Fehler in der list.txt besteht, wird zu :erroratfirstline gesprungen
- set NUll0=0
- if not %satz%==1 echo %ISBN%;%Lager%;%Null0% >>Lagerplatz.txt
- rem ##in Satz 1 wurden noch nicht beide Variablen vergeben daher wird dieser Satz bei der Fehlerlistung übersprungen
- exit /b
- rem ##kehrt dahin zurück von wo :blub aufgerufen wurde
- :end
- for /f "tokens=1,* delims=:" %%o in ('findstr /n $ Lagerplatz.txt') do @(
- rem ##für jede Zeile in Lagerplatz.txt
- for /L %%b in (1,1,1999) do @if %%o==%%b echo %%p>>Lagerplatz_a.txt
- rem ##wird jede 2te Zeile in Lagerplatz_a.txt geschrieben
- )
- if exist Lagerplatz.txt (
- del Lagerplatz.txt
- )
- rem ##Wenn Lagerplatz.txt vorhanden ist Lagerplatz.txt löschen
- if exist Lagerplatz_a.txt (
- if NOT exist Lagerplatz.txt (
- rename Lagerplatz_a.txt Lagerplatz.txt
- )
- )
- rem ##Wenn Lagerplatz_a.txt vorhanden und Lagerplatz.txt nicht vorhanden ist Lagerplatz_a.txt in Lagerplatz.txt umbenennen
- goto replaceSemi
- :replaceSemi
- for /f "delims=" %%j in ('cd') do set currentd=%%j
- rem ##setzt die Variable %currentd% zum Ausgang vom Befehl cd
- set Datei=%currentd%\Lagerplatz.txt
- rem ##Definiert Pfad der Lagerplatz.txt
- set R=%temp%\Replacer.vbs
- rem ##Definiert Pfad der Replacer.vbs
- >%R% echo Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("%Datei%").ReadAll: fso.CreateTextFile("%Datei%",True).Write Replace(T,";",vbTab)
- rem ##Erstellt Replacer.vbs welche alle ";" durch Tabstopps ersetzt
- if exist Lagerplatz.txt cscript //nologo %R%
- rem ##Ruft die Replacer.vbs auf
- if exist %R% del %R%
- rem ##löscht die Replacer.vbs falls sie existiert
- rename list.txt list%dt%.txt
- move list%dt%.txt \\jcs0010\prog\Plehn\Ordner\lists
- if exist Lagerplatz.txt move Lagerplatz.txt \\server\prog\transfer\
- rem ##verschiebt Dateien und/oder benennt sie um
- del "C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt"
- echo.>"C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt"
- if exist \\server\prog\transfer\Lagerplatz.txt goto success
- if NOT exist \\server\prog\transfer\Lagerplatz.txt goto fatalerror
- goto unknownstate
- exit
- :fatalerror
- @echo off
- cls
- color 0c
- echo Ein FEHLER ist aufgetreten!
- echo.
- echo Datei Lagerplatz wurde nicht erstellt
- echo Bitte kontaktieren sie einen Administrator!
- color 07
- pause>nul
- exit
- rem ##Fehlermeldung wenn Lagerplatz.txt nicht vorhanden ist
- :success
- @echo off
- cls
- color 02
- echo Verarbeitung erfolgreich
- echo.
- pause
- cls
- color 07
- exit
- rem ##Benachrichtigung wenn %skipif% nicht gleich 1 ist und Lagerplatz.txt existiert
- :nolist
- @echo off
- cls
- color 0c
- echo Es besteht keine Liste zur Verarbeitung! Stellen sie sicher, dass die list.txt, welche vom Scanner erzeugt wird sich im richtigen Verzeichnis befindet.
- echo.
- echo Bitte stellen sie die list.txt in C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt zur Verfuegung.
- pause
- exit
- rem ##Userbenachrichtigung wenn keine list.txt zur Verfügung gestellt wurde
- :existinglist
- @echo off
- cls
- color 0e
- echo Es besteht bereits eine Lagerlist! Pruefen sie ob diese bereits uebertragen wurde!
- echo Vermutlich ist diese Lagerplatz.txt bei einem vorherigen Durchlauf NICHT ins System uebertragen worden!
- echo.
- echo Sollte sie schon im System vorhanden sein, loeschen sie die Datei Lagerplatz.txt und starten sie den Vorgang neu
- pause
- del list.txt
- exit
- rem ##Userbenachrichtigung wenn bereits eine Lagerliste.txt besteht
- :erroratfirstline
- @echo off
- cls
- color 0c
- echo Fehler! Es wurde kein Lagerplatz in list.txt angegeben!
- echo.
- echo Bitte ueberpruefen sie diese Datei!
- echo.
- echo Sie finden sie in C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\
- del list.txt
- pause>nul
- exit
- rem ##Fehlermeldung wenn kein Lagerplatz einer ISBN vorransteht
- :existimport
- @echo off
- cls
- color 0e
- echo.
- echo Es besteht bereits eine Lagerplatz.txt im Importverzeichnis!
- echo Das Importverzeichnis ist \\server\prog\transfer\
- echo.
- echo Bitte warten sie bis die Datei durch Bookhit importiert wurde und starten sie den Auftrag neu.
- echo.
- pause>nul
- exit
- rem ##Userbenachrichtigung wenn noch eine Lagerliste.txt im Bookhit import Verzeichnis besteht
- :unknownstate
- @echo off
- cls
- color 07
- echo.
- echo Das Programm hat das Ende des Codes ohne bekannten Fehler oder Erfolg erreicht, bitte kontaktieren sie
- echo.
- echo Gerrit Plehn
- echo E-Mail: gerrit.budders@carlsen-lamich.de
- pause>nul
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement