WinFuture-Forum.de: Batch programmierung Exist - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Batch programmierung Exist


#1 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 17. Februar 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Java Spiele programmieren, eigene Decompiler und am Arbeiten: Ein mini Roboter selber bauen ^^.

geschrieben 25. Juli 2018 - 17:21

Hallo liebe User *Erneut* :rolleyes:

Ich programmiere schon seit langer Zeit an einem Batch Chat der über meine Cloud läuft. (kurze Erklärung): Ich will einen Benutzer umbenennen, aber hab damit ein paar Probleme.
:ubPasswort
cls
title Passwort eingabe!
echo.
echo.
echo Bitte gebe das Passwort fuer den Benutzer "%ub%" ein,
echo um fortzufahren!
echo.
echo.
set /p ubEingabe=Eingabe: 

if "\\DieCloud\Public\Chat\User\locallocallocallocallocallocallocallocallocallocal%loginP%local%loginB%locallocallocallocallocallocallocallocal.local"=="\\WDMYCLOUD\Public\Chat\User\locallocallocallocallocallocallocallocallocallocal%ubEingabe%local%ub%locallocallocallocallocallocallocallocal.local" goto UserRename


if not "\\DieCloud\Public\Chat\User\locallocallocallocallocallocallocallocallocallocal%loginP%local%loginB%locallocallocallocallocallocallocallocal.local"=="\\WDMYCLOUD\Public\Chat\User\locallocallocallocallocallocallocallocallocallocal%ubEingabe%local%ub%locallocallocallocallocallocallocallocal.local" goto UserRenameFehler




ub = Der Benutzer

ubEingabe = Das Passwort des Benutzers.


So: Mein Problem: Angenommen ub ist "Test1" und ubEingabe ist "123". Dann komme ich in dieses Interface rein und gebe das Passwort des Benutzer ein den ich vorhin mit dem Hier

:rename
title umbenennen

cls
echo.
echo Welchen Benutzer willst du umbennenen?
echo.
echo.
set /p ub=Eingabe: 

if exist "\\DieCloud\Public\Chat\User\%ub%.chatuser" goto ubPasswort
if not exist "\\DieCloud\Public\Chat\User\%ub%.chatuser" goto ubFehler



angegeben hatte. Wenn ich das Passwort eingebe bekomme ich nur meinen Fehler d.h. Ich komme zum Abschnitt :UserRenameFehler.

kurz gefasst: Ich gebe meinen richtigen Benutzer ein und mein richtiges Passwort und komme Trozdem zu :UserRenameFehler.


Ich hoffe ihr könnt mir weiterhelfen.

mfg cool_brick24


PS: Der Name "DieCloud" ist nur erfunden.

PSS: Der Code sieht ein wenig komisch aus. In Notepad++ eingefügt und schon sieht er besser aus :woot:
Meep! Meep!
set Coding=off
echo Start Coding in 3
ping Localhost -n 1 >NUL
cls
echo Start Coding in 2
ping Localhost -n 1 >NUL
cls
echo Start Coding in 1
cls && echo START CODING!
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 25. Juli 2018 - 17:51

Da sieht er immer noch komisch aus. :huh:

Cloud? Batch? Irgendwas läuft doch da totalschief. :huh:

Na jedenfalls, Batch IF kennt auch ELSE:

IF 1 EQU 0 (
  Echo Ungleich
) ELSE (
  Echo Gleich
)




und Du sparst Dir das mit dem identischen IF/IF NOT.

Bei dem Code ist leider nicht durchzusehen - was sollen die vielen "local"s da drin? --- aber ein übliches Problem mit Batch ist immer die Variablenexpandierung.

Wenn nicht schon probiert, ganz oben SETLOCAL ENABLEDELAYEDEXPANSION reinschreiben und dann statt % ! verwenden:

echo !TEMP!


Mit %% werden Variablen mit Ausführung der Batchdatei initialisiert und sind dann unveränderlich.

Mit !! und EnableDelayedExpansion werden Variablen dagegen erst zur Auswertungszeit expandiert, also in dem Moment, wo der jeweilige Befehl tatsächlich ausgeführt wird und NICHT bereits mit Start der Batchdatei.

Probier das erstmal.


Und dann überleg Dir nochmal, ob Du nicht vielleicht doch irgendwas anderes außer Batch nehmen möchtest. Insbesondere etwas, was übersichtlicher bleibt und wo solche Späßchen wie GOTO nicht nur nicht notwendig sind, sondern erst gar nicht funktionieren.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0