GELÖST Batch-Prog soll nur von einem anderen Batch-Script gestartet werden können

Diskutiere Batch-Prog soll nur von einem anderen Batch-Script gestartet werden können im Programmierung Forum im Bereich Software Forum; Ich bin‘s mal wieder Ich hab ein Problem mit einem eigentlich einfachen Batch-Script. Und zwar möchte ich, dass dieser Script kontrolliert, WIE...
P

Palladin007

Threadstarter
Mitglied seit
30.07.2011
Beiträge
159
Ich bin‘s mal wieder
Ich hab ein Problem mit einem eigentlich einfachen Batch-Script.

Und zwar möchte ich, dass dieser Script kontrolliert, WIE ein Programm gestartet wird.

Ich kopiere den Script dann vor ein anderes Programm.

Der Script soll dann dafür sorgen, dass dieses Programm nur von einer anderen, bestimmten Datei ausgeführt werden kann. Wenn es direkt gestartet wird, soll ERROR erscheinen.



Und dafür hab ich mir folgendes ausgedacht:

die Datei, die das Programm starten soll, hat vor dem call Befehl noch diese Zeile:
Code:
set k=1
und dann geht es weiter mit call an das Programm mit dem Script.


Der Script soll dann ungefähr so aussehen:

Code:
@echo off
if %k%==1 goto r
echo ERROR
pause > nul
exit
:r

[Weiter mit dem eigentlichen Programm]
.
Wenn das Programm also von dieser Start-Datei gestartet wurde, wird k dann als 1 verwendet und akzeptiert.
Wenn das Programm aber direkt gestartet wird, dann wird k nicht definiert und nicht akzeptiert.

Aber genau das funktioniert nicht.

Anscheinend kommt die If-Abfrage nicht damit klar, dass k lehr ist, denn alles, was danach kommt, kann dann syntaktisch nicht verarbeitet werden.

ich muss also vor der If-Abfrage k fest legen, aber dann würde der Sinn des Skriptes nicht mehr da sein.

Denn wenn die Start-Datei das Programm dann ausruft, wird k mit 1 definiert und im Programm dann neu fest gelegt. Es würde also immer bei ERROR enden, oder immer akzeptiert.

Und wenn ich k im Programm vorher nicht fest lege, bringt die If-Abfrage alles zum Absturz



Hat jemand eine Idee, wie ich das Problem lösen kann?
Oder hat jemand einen ganz anderen Vorschlag, wie man diese Kontrolle gestalten kann?
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.155
Standort
DE-RLP-COC
Schreib mir der aufrufenden Batch eine Datei in ein bestimmtes Verzeichnis. In der zweiten Batch prüfst du die Existenz dieser Datei. Wenn sie nicht vorhanden ist, beendest du das Programm, andernfalls löschst du die Datei und machst deine Verarbeitung.
 
P

Palladin007

Threadstarter
Mitglied seit
30.07.2011
Beiträge
159
So mein ich das nicht.

Wenn ich z.B. die umfangreiche Passwort-Abfrage, die Jimmy1 mir netterweise geschrieben hat, nehme und am Ende, bei richtiger Eingabe mehrere Datein starten lasse, dann könnte man das auf diese Weise schnell realisieren, dass die anderen Datein nur bei richtiger PW-Eingabe gestartet werden können.

Die Abfrage bei jeder Datei einzubauen würde das ganze dann ziemlich umständlich machen, da man dann ja bei jeder Datei die PWs aufs neue eingeben müsste.

So kann man einmal das PW eingeben und alle starten. Oder man wählt eine oder mehrere aus, die dann gestartet werden.

Aber diese Datein alleine funktionieren nicht.


DAS suche ich.
Verstehst du, was ich meine?
 
D

Dambo

Mitglied seit
06.11.2009
Beiträge
223
Standort
links von Linz (OÖ)
Code:
if %k%==1 goto r
[...] Anscheinend kommt die If-Abfrage nicht damit klar, dass k leer ist, denn alles, was danach kommt, kann dann syntaktisch nicht verarbeitet werden. [...]
Wenn k in %k%==1 nicht definiert ist, steht links vom Vergleichsoperator == nichts, und es kommt daher (wie von Dir berichtet) zum Syntaxfehler.
Das kannst Du vermeiden, indem Du auf beiden Seiten des Vergleichs ein zusätzliches Zeichen einfügst, z.B. so:

Code:
if x%k%==x1 goto r
Oder beide Seiten in Anführungszeichen einschließen:

Code:
"%k%"=="1"
 
P

Palladin007

Threadstarter
Mitglied seit
30.07.2011
Beiträge
159
:aah Das is ne Idee...

Mensch bin ich blöd :wut

Da hätte ich echt selber drauf kommen können^^



Ja, jetzt funktioniert es auch^^
Danke dir :)
 
Thema:

Batch-Prog soll nur von einem anderen Batch-Script gestartet werden können

Batch-Prog soll nur von einem anderen Batch-Script gestartet werden können - Ähnliche Themen

  • Lässt sich per Batch-Skript eine neue CMD-Datei speichern?

    Lässt sich per Batch-Skript eine neue CMD-Datei speichern?: Ich habe z.B. die Datei BatchA.bat und sie soll eigens etwa in einer RAM-Disk die Datei BatchB.bat mit anderem Inhalt als die erste Batchdatei...
  • Einzelnen Ordner verschieben per Batch-Datei

    Einzelnen Ordner verschieben per Batch-Datei: Hallo, ich habe eine Frage zu den verschieben von Ordnern mithilfe einer Batch-Datei. Sprich ich will z.B., dass in einem Ordner, wo mehrere...
  • "reg query"-Abfrage per Batch: Lässt sich diese Meldung unterdrücken? "Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden."

    "reg query"-Abfrage per Batch: Lässt sich diese Meldung unterdrücken? "Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden.": reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ABC /v EigenerDwordeintrag Hiermit frage ich ab, ob der...
  • Batch Datei kann nicht mehr ausgeführt werden

    Batch Datei kann nicht mehr ausgeführt werden: Moin, Ich habe seit gestern ein Problem mit dem Ausführen von Batch Dateien(per Doppelkilck). Auf meinem Windows 10 PC kann ich zwar den Inhalt...
  • Temperaturüberwachung mit Batch-Prog

    Temperaturüberwachung mit Batch-Prog: Hi, hab einen Server laufen der mir regelmäßig über ein von einem Scheduler gestartetes Batch-Programm Temperaturen einliest und die Datei mit...
  • Ähnliche Themen

    Oben