42687
Goto Top

Per Batch MSGBox (vsb) schreiben mit JA Nein und Abfrage in Batch

Hallo,

ich habe eine kurze Frage.
Ich habe ein Batch, welche eine VBS schreibt, welche eine Frage stellt. Die Antwort soll wieder in der Batch verarbeitet werden.
Format der Batch:
echo msgbox "Möchte Sie über weiterhin über Neuigkeiten im SNW-Netz der Grundschule Zug informiert werden?",4,"Weiterhin Info?">>%temp%\info_frage.vbs  
%temp%\info_frage.vbs
if Antwort == yes goto sonstewo
if Antwort == no goto anderswo
del %temp%\info_frage.vbs

Wie kann ich das realisieren? Mit fehlt die Variable. Danke.

Content-ID: 113628

Url: https://administrator.de/contentid/113628

Ausgedruckt am: 23.11.2024 um 21:11 Uhr

bastla
bastla 09.04.2009 um 19:00:46 Uhr
Goto Top
Hallo Peter161!

Eher so:
@echo off & setlocal
echo WScript.Echo MsgBox("Möchten Sie weiterhin über Neuigkeiten im SNW-Netz der Grundschule Zug informiert werden?",4,"Weiterhin Info?")>%temp%\info_frage.vbs  
for /f "delims=" %%i in ('cscript //nologo %temp%\info_frage.vbs') do set "Antwort=%%i"  
del %temp%\info_frage.vbs
if "%Antwort%"=="6" goto :Ja  
if "%Antwort%"=="7" goto :Nein  
Grüße
bastla
42687
42687 09.04.2009 um 20:21:33 Uhr
Goto Top
Habs noch net probiert, aber im vorhinaus, tank ju weri mutsch. Achso, bastla haste auch ne Idee zu meinem anderen Beitrag? thx
42687
42687 10.04.2009 um 14:55:34 Uhr
Goto Top
Hallo
ich habe selbst zum Feiertag dazu nochmal eine Frage, bitte helft mir.

Ich habe diese Zeilen:
@echo on & setlocal
set "infodatei=H:\info.csv"  
for /f "tokens=1 delims=;" %%a in ('findstr /b /i /c:"info;" "%infodatei%"') do (  
set "last=%%a"  
)
if %last% == yes goto ja
if %last% == no goto nein


Inhalt der H:\info.csv ist info:yes oder eben no. (was die frage oben ausgegeben hat)
So und nun kommt, dass er %%a an dieser Stelle syntaktisch nicht verarbeiten kann. Was mache ich falsch?
Danke
bastla
bastla 10.04.2009 um 15:30:43 Uhr
Goto Top
Hallo Peter161!

Wenn in "info.csv" tatsächlich
info;yes
(also mit Semikolon) steht, benötigst Du das "token" 2, also:
@echo on & setlocal
set "infodatei=H:\info.csv"  
for /f "tokens=2 delims=;" %%a in ('findstr /b /i /c:"info;" "%infodatei%"') do set "last=%%a"  
if "%last%"=="yes" goto ja  
if "%last%"=="no" goto nein  
echo Ungueltiger Wert enthalten & goto :eof
Wäre das Trennzeichen, wie in Deiner Erklärung oben, ein ":", müsstest Du diesen (zusätzlich) nach "delims=" angeben.

Grüße
bastla

P.S.: Zur ausführlichen Beschäftigung mit Deinem anderen Thread komme ich leider weiterhin nicht ...
P.P.S.: Könntest Du Dich dazu entschließen, ""-Formatierung einzusetzen?
42687
42687 10.04.2009 um 17:20:45 Uhr
Goto Top
Hallo bastla,
leider nicht funktioniert.
Das gibt er mir aus:

@echo on & setlocal

C:\Dokumente und Einstellungen\Willi>set "infodatei=H:\info.csv"  

C:\Dokumente und Einstellungen\Willi>for /f "tokens=2 delims=;" %%a in ('findstr  
 /b /i /c:"info;" "%infodatei%"') do set "last=%%a"  
"%%a" ist syntaktisch an dieser Stelle nicht verarbeitbar.  

C:\Dokumente und Einstellungen\Willi>if "%last%"=="yes" goto ja  

C:\Dokumente und Einstellungen\Willi>if "%last%"=="no" goto nein  
Danke.
bastla
bastla 10.04.2009 um 17:54:20 Uhr
Goto Top
Hallo Peter161!

Sorry - kann ich weder nachstellen, noch nachvollziehen ...

... vor allem die Tatsache, dass in der Ausgabe (in Zeile 5) immer noch %%a (und nicht nur %a) aufscheint, hätte ich eigentlich nur für möglich gehalten, wenn Du die Zeilen einzeln am Prompt eingegeben und ausgeführt hättest - in einem Batch müssten sich die beiden Prozentzeichen zu einem reduzieren.

Grüße
bastla
19Fl081
19Fl081 27.06.2022 um 08:51:45 Uhr
Goto Top
Moin zusammen, das Script ist Super und auch fast was ich brauche face-smile

Hat jemand eine Idee wie man einen Timer einbauen könnte?

Meine wenn die Box kommt und 1 Min keine Auswahl getroffen wird, das Automatisch eine Auswahl ausgeführt wird.