moelle
Goto Top

Batch Datei für 2 Programme

Hallo,

ich habe folgendes Problem.

Wir arbeiten mit einem Handscanner der Artikel einliest mit Menge, diese soll er dann in eine Textdatei c:\ScanTest.txt schreiben. WICHTIG zum reinschreiben muss diese Textdatei geöffnet sein. Anschließend muss zusätzlich eine c:\Test.exe (Programm zum Übertragen an einem Shop) gestartet werden.

Nachdem diese Daten übertragen sind soll beim schließen der Textdatei der Inhalt der Textdatei wieder geleert werden ohne die Änderung mit Meldung Speichern.

Zusammenfassung
Batch Datei öffnet die beiden Programme, Textdatei wird geschlossen und geleert (ohne Hinweis Speichern)
Übertragungsprogramm muss zusätzlich geschlossen werden


Bisher sieht es so aus
Start C:\Test.exe (Meldung. Die Anmeldung wurde nicht richtig installiert oder nicht im Arbeitsverzeichnis der Anwendung ausgeführt) Desktop Verknüpfung funktioniert
Start C:\TestScan.txt

Problem Textdatei wird geöffnet aber die Exe nicht und Textdatei bekommt beim Schließen immer den Hinweis Speichern

Bitte um Hilfe

Content-ID: 132881

Url: https://administrator.de/contentid/132881

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

Miyamoto
Miyamoto 07.01.2010 um 13:23:23 Uhr
Goto Top
Hi,
habe da mal eine frage,
wenn die Information übertragen wird, muss vorher die Text-Datei gespeichert worden sein oder nicht???
Und deine Batch soll doch so ablaufen

1. Programm 1 starten
2. Text-Datei öffnen
3. Programm 2 starten
4.Text-Datei bereinigen

oder habe ich es falsch verstanden????

Gruß Miyamoto
m3adow
m3adow 07.01.2010 um 13:28:26 Uhr
Goto Top
Verstehe ich das richtig, dass der Scanner bei einem Scan die Daten direkt weitergibt?

Ich würde in die txt-Datei über die CMD schreiben, dann musst du das Notepad nicht aufrufen.

Aber könntest du den Sinn der ganzen Idee erläutern? Ich glaube nicht, dass das der optimalste Weg ist, den du gehen willst.

set /p SCANVAR="Scanergebnis: "  
echo %SCANVAR% >> c:\TestScan.txt
start "c:\Test.exe"  
del /q "C:\TestScan.txt"  
Das Eingabefenster wartet auf die Eingabe, die dann durch den Scanner kommt. Dann mit Enter bestätigen und die Eingabe wird in die txt-Datei TestScan.txt geschrieben. Die Test.exe wird ausgeführt. Danach wird die TestScan.txt wieder gelöscht.
Moelle
Moelle 07.01.2010 um 14:36:47 Uhr
Goto Top
HAllo,

also es läuft wie folgt,

1. EAN Codes werden mit dem Scanner erfasst
2. Um die Daten des Scanners zu übergeben muss eine Text Datei TestScan.txt geöffnet sein damit der Scanner diese dort reinschreiben kann.
3. Anschließend muss man in der Exe sagen Einlesen und übertragen.
4. Jetzt wird der Inhalt der Textdatei nicht mehr benötigt. Die Datei muss allerdings erhalten bleiben.

Sinn dieser Batch soll sein, das der Anwender nicht immer erst die Textdatei und die Exe öffnen muss. Es soll durch einen Klick geschehen.
das Leeren der Textdatei habe ich inzwischen wie folgt gelöst.

Start C:\TestScan.txt
echo. >C:\TestScan.txt

Das Problem was bleibt ist das er die Anwendung nicht per Batch startet "Meldung" Die Anwendung wurde nicht richtig installiert oder nicht im Arbeitsverzeichnis der Anwendung ausgeführt.
m3adow
m3adow 07.01.2010 um 14:50:59 Uhr
Goto Top
Die Datei leeren geht wohl am Besten über
type nul > "C:\TestScan.txt"  
Dann ist sie auch wirklich leer und keine Leerzeichen stehen drin.

Bezüglich des zweiten Problems bin ich mir unschlüssig. Das Problem hatte ich bei einer meiner Batches auch mal, weiß allerdings nicht mehr, wie ich es behoben habe.
Funktionier das manuelle Ausführen der Datei über die CMD?

Ist mein Vorschlag ansonsten akzeptabel? Die Lösung über das Notepad ist umständlich und vermutlich überflüssig.
Moelle
Moelle 07.01.2010 um 15:42:18 Uhr
Goto Top
Hey,

über cmd lässt sich die Anwendung starten. Leider immer noch nicht per Batch

Ich habe deine Lösung etwas verändert,

set /p SCANVAR="Scanergebnis: "
echo %SCANVAR% >> c:\TestScan.txt
Start C:\TestScan.txt
type nul > "C:\TestScan.txt"

Aber auch hier gibt es Probleme.

Also es ist zwingend erforderlich das die Textdatei offen ist, damit er was reinschreiben kann. Anschließend muss sie halt manuell wieder geschlossen werden.
Im Moment macht der Scanner Probleme muss erst das wieder lösen.

Einfachste Lösung wäre per Batch Datei

Textdatei öffnen und exe starten

REST Manuell
Moelle
Moelle 07.01.2010 um 16:40:55 Uhr
Goto Top
Also Scanner läuft wieder

Batch Datei soll so aussehen, das er die txt Datei öffnet und Exe Anwendung.

Start C:\TestScan.txt
Start C:\Test.exe (hier erhalte ich Die Anwendung wurde nicht richtig installiert oder nicht im Arbeitsverzeichnis der Anwendung ausgeführt.)
Miyamoto
Miyamoto 07.01.2010 um 17:11:02 Uhr
Goto Top
Hi,
ist es das was du möchtest???
@echo off
echo.
echo TestScan.txt wird geoeffnet...
REM Die Batch läuft erst weiter wenn notepad beendetworden ist
Start wait notepad.exe "C:\TestScan.txt"  

echo uebertragung laeuft...
REM Die Batch läuft erst weiter wenn Test.exe beendet worden ist
Start wait C:\Test.exe

echo TestScan.txt wird bereinigt...
Rem Löschen des Inhaltes der txt Datei
type nul > "C:\TestScan.txt"  
wie heißen eigentlich die Programme?

Gruß Miyamoto
Moelle
Moelle 08.01.2010 um 07:33:00 Uhr
Goto Top
Hey Miyamoto,

Der Wait Befehl wird nicht erkannt, um es ganz einfach zu halten soll er nur die txt und die exe starten, mehr braucht gar nicht mehr sein.
Aber die Anwendung lässt sich nicht per Batch starten entweder habe "Die Anwendung wurde nicht richtig installiert oder nicht im Arbeitsverzeichnis der Anwendung ausgeführt" oder ein Eingabeaufforderungsfenster.
m3adow
m3adow 08.01.2010 um 08:07:39 Uhr
Goto Top
Er hat nur den Parameter falsch benutzt:

Start /wait C:\TestScan.txt 
Start  /wait C:\Test.exe
type nul > "C:\TestScan.txt"  

Was war denn das Problem mit der Eingabe über die CMD? Das würde mich doch mal interessieren.