Jump to content

Problem Batch mit ()


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hi,

und zwar habe ich in meinem Code ein paar Klammern, was Probleme bei dem echo Befehl verursacht.

Hoffe mir kann da jemand helfen:

 

bis denne

 

@echo off

 

IF EXIST "%temp%\login.sql" (

del "%temp%\login.sql"

)

IF EXIST "%temp%\logintime" (

IF EXIST "%temp%\logindate" (

 

del "%temp%\logoutdate"

del "%temp%\logouttime"

 

for /F "tokens=1,2,3 delims=. " %%i in ('date/t') do set da=%%k-%%j-%%i

echo %da%>>%temp%\logoutdate

time /t >>%temp%\logouttime

 

FOR /F %%i in (%temp%\logindate) do SET logindate=%%i

FOR /F %%i in (%temp%\logintime) do SET logintime=%%i

FOR /F %%i in (%temp%\logoutdate) do SET logoutdate=%%i

FOR /F %%i in (%temp%\logouttime) do SET logouttime=%%i

 

echo use pcusing;>>%temp%\login.sql

echo insert into id (userid, pcid, logintime, logouttime) values ('%username%', '%computername%', '%logindate% %logintime%:00', '%logoutdate% %logouttime%:00');>>%temp%\login.sql

 

del %temp%\logindate

del %temp%\logintime

del %temp%\logoutdate

del %temp%\logouttime

 

)) else (

 

echo use timemissing;>>%temp%\login.sql

echo insert into timemissing (userid, pcid) values ('%username%', '%computername%');>>%temp%\login.sql

 

)

Geschrieben

Hi,

die echo Ausgabe nicht. denke es liegt daran, dass ich da Klammern benutze, da der Fehler heißt:

"values" ist syntaktisch an dieser Stelle nicht verarbeitbar.

 

und values gehört ja eigentlich noch zur echo Ausgabe

Geschrieben

Hallo,

 

ersetze doch den Texte hinter echo jeweils durch etwas einfaches, ein Wort und teste es durch. An der Klammerung als solche sollte es nicht liegen. Ich habe das Skript natürlich nicht getestet.

 

Viel Erfolg

 

Edgar

Geschrieben

Ich kann leider nicht helfen im Sinne von: Das geht so oder so.

 

Du kannst versuchen die Textinhalte mit SET in eine variable zu bringen und diese mit Echo auszugeben.

 

Möglicherweise liegt es aber doch an dieser mir etwas seltsam erscheinenden Konstruktion von Bedingung und Dual-Block. Wurde das schon mal anders probiert, nur mit einer Klammer?

 

if ..... if ....(

.........

)

 

Zum Verständnis, If ist keine Schleife, es ist eine Abfrage auf Erfüllung oder Nichterfüllung einer Bedingung.

Geschrieben
Ok, danke sehr. habs mir einem goto Befehl gelöst :)
Du kennst die Möglichkeit der struktierenten Programmierung, den Aufruf von Unterprogrammen mit Call innerhalb einer Batch und den Rücksprung mit goto :eof?
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...