Guest User

Untitled

a guest
Oct 18th, 2013
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. rem ##Kommentare im Quellcode sind mit "rem ##" gekennzeichnet
  2. rem ##Mit "rem" markierte Zeilen sind funktionslose Zeilen die jedoch aus verschiedenen Gründen nicht gelöscht werden sollten.
  3.  
  4. @echo off
  5. if exist "\\server\prog\transfer\Lagerplatz.txt" goto existimport
  6. rem ##Prüft ob im Importverzeichnis eine Lagerplatz.txt besteht
  7.  
  8. copy "C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt" list.txt
  9. rem ##kopiert list.txt aus dem ActiveSync Verzeichnis in sein eigenes Verzeichnis
  10.  
  11. if NOT exist list.txt goto nolist
  12. if exist Lagerplatz.txt goto existinglist
  13. rem ##prüft auf Dateien aus vorherigen Durchläufen und springt zu entsprechenden Hinweisen.
  14.  
  15. set d=%date:~0,2%.%date:~-7,2%.%date:~-4,4%
  16. set d=%d: =_%
  17. set t=%time:~0,2%.%time:~3,2%
  18. set t=%t: =0%
  19. set dt=_%d%_%t%
  20. rem ##setzt einen Zeitstempel
  21.  
  22. for /F "delims=|" %%f IN (list.txt) DO echo %%f>> temp.txt
  23. del list.txt
  24. rename temp.txt list.txt
  25. rem ##löscht leere Zeilen aus der list.txt
  26.  
  27. for /f "tokens=1,* delims=:" %%i in ('findstr /n $ list.txt') do @(
  28. rem ##für jede Zeile in der Datei list.txt wird nachfolgendes ausgeführt 
  29.     for /L %%a in (1,1,1999) do @if %%i==%%a set satz=%%a && set wert1=%%j
  30.     rem ##setzt den Wert der Variable wert1 zum Inhalt der entsprechenden Zeile
  31.     call :blub
  32.     rem ##ruft :blub auf
  33. )
  34. goto end
  35. rem ##springt zu :end
  36.  
  37. :blub
  38.     if %wert1:~0,1% GTR 9 set Lager=%wert1%
  39.     if %wert1:~0,1% LEQ 9 set ISBN=%wert1%
  40.     if NOT defined Lager goto erroratfirstline
  41.     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
  42.     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
  43.     rem ##wenn die Variable Lager nicht definiert ist, was dafür spricht, dass ein Fehler in der list.txt besteht, wird zu :erroratfirstline gesprungen
  44.    
  45.     set NUll0=0
  46.     if not %satz%==1 echo %ISBN%;%Lager%;%Null0% >>Lagerplatz.txt
  47.     rem ##in Satz 1 wurden noch nicht beide Variablen vergeben daher wird dieser Satz bei der Fehlerlistung übersprungen
  48.     exit /b
  49.     rem ##kehrt dahin zurück von wo :blub aufgerufen wurde
  50.  
  51. :end
  52.     for /f "tokens=1,* delims=:" %%o in ('findstr /n $ Lagerplatz.txt') do @(
  53.     rem ##für jede Zeile in Lagerplatz.txt    
  54.         for /L %%b in (1,1,1999) do @if %%o==%%b echo %%p>>Lagerplatz_a.txt
  55.         rem ##wird jede 2te Zeile in Lagerplatz_a.txt geschrieben
  56.     )
  57.     if exist Lagerplatz.txt (
  58.         del Lagerplatz.txt
  59.     )
  60.     rem ##Wenn Lagerplatz.txt vorhanden ist Lagerplatz.txt löschen
  61.  
  62.     if exist Lagerplatz_a.txt (
  63.         if NOT exist Lagerplatz.txt (
  64.             rename Lagerplatz_a.txt Lagerplatz.txt
  65.         )
  66.     )
  67.     rem ##Wenn Lagerplatz_a.txt vorhanden und Lagerplatz.txt nicht vorhanden ist Lagerplatz_a.txt in Lagerplatz.txt umbenennen 
  68.     goto replaceSemi
  69.  
  70. :replaceSemi
  71.     for /f "delims=" %%j in ('cd') do set currentd=%%j
  72.     rem ##setzt die Variable %currentd% zum Ausgang vom Befehl cd
  73.     set Datei=%currentd%\Lagerplatz.txt
  74.     rem ##Definiert Pfad der Lagerplatz.txt
  75.     set R=%temp%\Replacer.vbs
  76.     rem ##Definiert Pfad der Replacer.vbs
  77.     >%R% echo Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("%Datei%").ReadAll: fso.CreateTextFile("%Datei%",True).Write Replace(T,";",vbTab)
  78.     rem ##Erstellt Replacer.vbs welche alle ";" durch Tabstopps ersetzt
  79.     if exist Lagerplatz.txt cscript //nologo %R%
  80.     rem ##Ruft die Replacer.vbs auf
  81.     if exist %R% del %R%
  82.     rem ##löscht die Replacer.vbs falls sie existiert
  83.  
  84.     rename list.txt list%dt%.txt
  85.     move list%dt%.txt \\jcs0010\prog\Plehn\Ordner\lists
  86.     if exist Lagerplatz.txt move Lagerplatz.txt \\server\prog\transfer\
  87.     rem ##verschiebt Dateien und/oder benennt sie um
  88.    
  89.    
  90.     del "C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt"
  91.     echo.>"C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt"
  92.     if exist \\server\prog\transfer\Lagerplatz.txt goto success
  93.     if NOT exist \\server\prog\transfer\Lagerplatz.txt goto fatalerror
  94.     goto unknownstate
  95. exit
  96.    
  97. :fatalerror
  98.     @echo off
  99.     cls
  100.     color 0c
  101.     echo Ein FEHLER ist aufgetreten!
  102.     echo.
  103.     echo Datei Lagerplatz wurde nicht erstellt
  104.     echo Bitte kontaktieren sie einen Administrator!
  105.     color 07
  106.     pause>nul
  107.     exit
  108.     rem ##Fehlermeldung wenn Lagerplatz.txt nicht vorhanden ist
  109.    
  110. :success
  111.     @echo off
  112.     cls
  113.     color 02
  114.     echo Verarbeitung erfolgreich
  115.     echo.
  116.     pause
  117.     cls
  118.     color 07
  119.     exit
  120.     rem ##Benachrichtigung wenn %skipif% nicht gleich 1 ist und Lagerplatz.txt existiert
  121.    
  122. :nolist
  123.     @echo off
  124.     cls
  125.     color 0c
  126.     echo Es besteht keine Liste zur Verarbeitung! Stellen sie sicher, dass die list.txt, welche vom Scanner erzeugt wird sich im richtigen Verzeichnis befindet.
  127.     echo.
  128.     echo Bitte stellen sie die list.txt in C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\list.txt zur Verfuegung.
  129.     pause
  130.     exit
  131.     rem ##Userbenachrichtigung wenn keine list.txt zur Verfügung gestellt wurde
  132.    
  133. :existinglist
  134.     @echo off
  135.     cls
  136.     color 0e
  137.     echo Es besteht bereits eine Lagerlist! Pruefen sie ob diese bereits uebertragen wurde!
  138.     echo Vermutlich ist diese Lagerplatz.txt bei einem vorherigen Durchlauf NICHT ins System uebertragen worden!
  139.     echo.
  140.     echo Sollte sie schon im System vorhanden sein, loeschen sie die Datei Lagerplatz.txt und starten sie den Vorgang neu
  141.     pause
  142.     del list.txt
  143.     exit
  144.     rem ##Userbenachrichtigung wenn bereits eine Lagerliste.txt besteht
  145.  
  146. :erroratfirstline
  147.     @echo off
  148.     cls
  149.     color 0c
  150.     echo Fehler! Es wurde kein Lagerplatz in list.txt angegeben!
  151.     echo.
  152.     echo Bitte ueberpruefen sie diese Datei!
  153.     echo.
  154.     echo Sie finden sie in C:\Dokumente und Einstellungen\%username%\Eigene Dateien\Datalogic_Memor My Documents\
  155.     del list.txt
  156.     pause>nul
  157.     exit
  158.     rem ##Fehlermeldung wenn kein Lagerplatz einer ISBN vorransteht
  159.  
  160. :existimport
  161.     @echo off
  162.     cls
  163.     color 0e
  164.     echo.
  165.     echo Es besteht bereits eine Lagerplatz.txt im Importverzeichnis!
  166.     echo Das Importverzeichnis ist \\server\prog\transfer\
  167.     echo.
  168.     echo Bitte warten sie bis die Datei durch Bookhit importiert wurde und starten sie den Auftrag neu.
  169.     echo.
  170.     pause>nul
  171.     exit
  172.     rem ##Userbenachrichtigung wenn noch eine Lagerliste.txt im Bookhit import Verzeichnis besteht
  173.  
  174. :unknownstate
  175.     @echo off
  176.     cls
  177.     color 07
  178.     echo.
  179.     echo Das Programm hat das Ende des Codes ohne bekannten Fehler oder Erfolg erreicht, bitte kontaktieren sie
  180.     echo.
  181.     echo Gerrit Plehn
  182.     echo E-Mail: gerrit.budders@carlsen-lamich.de
  183.     pause>nul
  184.     exit
RAW Paste Data