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.157
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

  • Probleme mit dem DOS-Befehl "ren" in Batch-Dateien

    Probleme mit dem DOS-Befehl "ren" in Batch-Dateien: Hallo Community! In meinem Windows 10 (1909) ist die cmd.exe mit dem Zeitstempel 20.01.2020 17:01 und der Versionsnummer 10.0.18362.449...
  • Wie erzeuge ich per Batch eine Batch-Datei, wenn clip und exit darin vorkommen?

    Wie erzeuge ich per Batch eine Batch-Datei, wenn clip und exit darin vorkommen?: F:\ ist meine RAM-Disk, aber egal. Ich habe hier eine Batchdatei erstellt mit folgendem Inhalt: echo "%var1%%var2%%var3% | clip&del...
  • Lässt sich per Batch/CMD unter Win10 ermitteln, welche Major Release man hat?

    Lässt sich per Batch/CMD unter Win10 ermitteln, welche Major Release man hat?: Frohe Weihnachten. :) Lässt sich per Batch/CMD unter Win10 ermitteln, welche Major Release man hat? Also z.B 1511 oder 1903? Mit dem Befehl...
  • Batch called Taskkill.bat causes problems!

    Batch called Taskkill.bat causes problems!: I just created a simple batch and came into doubt. The command: taskkill /T /IM notepad.exe pause Lead to an endless loop in the cmd window...
  • 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