Autor Thema: Problem bei ner Batchprogrammierung  (Gelesen 2597 mal)

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Problem bei ner Batchprogrammierung
« am: 24.03.09 - 13:04:18 »
HI@all

ein längst vergessenes Thema Batchprogrammierung...

Habe dennoch ein Problem und hoffe Ihr könnt mir helfen...

Folgendes, ich habe eine BatchDatei geschrieben die je nach Standort unterschiedliche Datein rumkopieren soll etc. Der Standort soll durch den Benutzer durch eine Auswahl eingegeben werden.

Dies klappt soweit auch eigentlcih ganz gut, jedoch bei einem Kollegen von mir passiert folgendes:
- Doppelklick auf die Bat Datei
- Ein Dosfenster wird geöffnet
- man sieht die echos auf dem Bildschirm auftauchen
- Die Eingabeaufforderung (Set /P ....) wird übersprungen
- man sieht noch die Zeile "Fehler []"

Habt ihr ne Idee warum das so passiert? bei mir und 2 anderen Kollegen funktioniert es...

Code

@echo off
CLS
echo ( 1) = Standort1	( 2) = Standort2		( 3) = Standort3

echo.
set /P Standort= Bitte w„hlen Sie Ihren Standort aus. 

if /I "%Standort%"=="1" goto Standort1
if /I "%Standort%"=="2" goto Standort2
if /I "%Standort%"=="3" goto Standort3

echo Fehler: [%Standort%]

Goto Ende

:Standort1 
REM TU WAS ANDERES 
:Standort2 
REM TU WAS ANDERES 
:Standort3
REM TU WAS ANDERES 
:Ende

Viele Grüße

Christian T.

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Problem bei ner Batchprogrammierung
« Antwort #1 am: 24.03.09 - 13:29:04 »
Hallo

ist wirklich schon lange her.

Welche Betriebssystemversionen haben die einzelnen user (bitte mit SP angeben).

muss vor ":Standort2" und ":Standort3" nicht noch jeweils ein "goto Ende" rein?

Wie ist die Datei abgespeichert als ".bat" oder als ".cmd"?

Gruß Werner
PS. mach zum testen auf dem PC nach jeder Zeile eine "Pause" rein, dann siehst Du mehr
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Problem bei ner Batchprogrammierung
« Antwort #2 am: 24.03.09 - 13:50:36 »
Hi,

wegen den Goto Ende ja habe ich vergessenhier rein zu shreiben aber das steht in dem "TU WAS ANDERES" habe es damal hier hinzugefügt....


Ausserdem haben wir Windows XP SP2
und die Datei ist als .BAT gespeichert...

Code

@echo off
CLS
echo ( 1) = Standort1	( 2) = Standort2		( 3) = Standort3

echo.
set /P Standort= Bitte w„hlen Sie Ihren Standort aus.             <--- Diese Zeile wird stumpf übersprungen....

if /I "%Standort%"=="1" goto Standort1
if /I "%Standort%"=="2" goto Standort2
if /I "%Standort%"=="3" goto Standort3

echo Fehler: [%Standort%]

Goto Ende

:Standort1 
REM TU WAS ANDERES 
Goto Ende

:Standort2 
REM TU WAS ANDERES 
Goto Ende

:Standort3
REM TU WAS ANDERES 
Goto Ende

:Ende

Viele Grüße

Christian T.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem bei ner Batchprogrammierung
« Antwort #3 am: 24.03.09 - 14:53:01 »
So habe ich's unter XP SP3 probiert und es funktioniert.

Code
@echo off
CLS
echo ( 1) = Standort1  ( 2) = Standort2  (3) = Standort3

echo
set/p Standort=Bitte waehlen Sie Ihren Standort aus.

if /I "%Standort%"=="1" goto Standort1
if /I "%Standort%"=="2" goto Standort2
if /I "%Standort%"=="3" goto Standort3

echo Fehler: [%Standort%]

Goto Ende

:Standort1 
REM TU WAS ANDERES 
Goto Ende

:Standort2 
REM TU WAS ANDERES 
Goto Ende

:Standort3
REM TU WAS ANDERES 
Goto Ende

:Ende


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Problem bei ner Batchprogrammierung
« Antwort #4 am: 24.03.09 - 14:55:21 »
@Axel
Ja wie gesagt bei 3 von 4 Personen läuft es hier auch.... Ich wollte nur bevor wir es an unsere Dienststellen geben wissen warum es nicht bei der 4.ten Person läuft...
Und ich habe gedacht das jemand von euch dieses Phenomän vielleicht kennt....
Viele Grüße

Christian T.

Offline tschroeder

  • Senior Mitglied
  • ****
  • Beiträge: 302
  • Geschlecht: Männlich
Re: Problem bei ner Batchprogrammierung
« Antwort #5 am: 24.03.09 - 15:00:19 »
Hi,

starte mal eine Eingabeaufforderg (cmd) und starte die Batch hier drin (hat den Charme, daß das Fenster nicht gleich wieder zu geht)

Hast du es mal mit der Eingabe von "pause" nach jeder Zeile zum "debuggen" versucht?

Laß die nach dem setzen der Variable, den Inhalt selbiger mal ausgeben.

LG Thorsten
6 * Domino 6.5.5 auf W2K und W2003
ca. 380 Clients 6.5.1 und höher Windows und MAC

*** Ohne Computer währen wir heute noch nicht hinter dem Mond ***

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Problem bei ner Batchprogrammierung
« Antwort #6 am: 25.03.09 - 08:56:42 »
HI,

ja habe das auch schon direkt in der Eingabeaufforderung gestartet und da läuft dsa Prog einfach durch...

und bei der pausemethode ist leider nichts zu sehen.

Und die Variable lasse ich ja schon nach dem setzten anzeigen, mit folgender Zeile:
Code
echo Fehler: [%Standort%]

udn das ist halt leer
Fehler:[]
Viele Grüße

Christian T.

BigWim

  • Gast
Re: Problem bei ner Batchprogrammierung
« Antwort #7 am: 25.03.09 - 10:23:12 »
Zitat
Ja wie gesagt bei 3 von 4 Personen läuft es hier auch
dann kann eigentlich nur etwas mit der "Umgebung" nicht stimmen.

Set /? wirst Du sicherlich studiert haben. Vorausgesetzt wird die Befehlserweiterung, die standardmäßig ja auch aktiviert ist. Aber das läßt sich auch konfigurieren ....

Auszug aus der cmd.exe /?
Zitat
Befehlserweiterungen sind standardmäßig aktiviert. Erweiterungen können unter
Verwendung der Option "/E:OFF" für einen bestimmten Aufruf des
Befehlsprozessors deaktiviert werden. Erweiterungen können auch für alle
Aufrufe des Befehlsprozessors deaktivieren werden, indem einer oder beide der
folgenden Werte in der Registrierung auf 0x1 oder 0x0 gesetzt werden (unter
Verwendung von REGEDT32.EXE):

In dem Hilfetext werden noch mehrere mögliche Fehlerquellen genannt, die einen Unterschied ausmachen können.

Zum Debuggen kannst Du Dir vielleicht noch den %errorlevel% ausgeben nach Set /p. Vielleicht bringt das noch zusätzliche Informationen, aber am Script selbst kann es nicht liegen.

Viel Erfolg

Markus

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Problem bei ner Batchprogrammierung
« Antwort #8 am: 26.03.09 - 08:27:41 »
@BigWim

ja auf die Befehlserweiterung bin ich auch schon gestoßen und wenn ich die bei mir deaktivieren erhalte ich auch genau das selbe phenomen wie bei meinem Kollegen, jedoch ist die bei Ihm eingeschaltet und ich habe das auch schon ausprobiert mit an und ausschalten... --> Hat nichts gebracht.

Naja wie dem auch sei, ich habe meine Bilanz beim Testen auf 5/6 erfolgreich erhöt und ich werde das jetzt einfach bei der ein oder anderen DIenststelle ausprobieren und den einen Fehlschlag auf die Systemumgebung bzw. was Windows schieben...  ;D ;)

Trotzdem Vielen dank an alle die mitgegrübelt haben....
Viele Grüße

Christian T.

BigWim

  • Gast
Re: Problem bei ner Batchprogrammierung
« Antwort #9 am: 26.03.09 - 09:25:13 »
Zitat
den Fehlschlag auf die Systemumgebung bzw. Windows schieben
Du kannst ja mal bei denen es nicht funktioniert, die Befehlserweiterung explizit einschalten. Dann hättest Du noch einen Beweis ;-)

Auszug aus cmd.exe /?
Zitat
/E:ON   Aktiviert Befehlserweiterungen (siehe unten).
/E:OFF  Deaktiviert Befehlserweiterungen (siehe unten).

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz