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-Key: 113628

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

Printed on: April 27, 2024 at 01:04 o'clock

Member: bastla
bastla Apr 09, 2009 at 17:00:46 (UTC)
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
Mitglied: 42687
42687 Apr 09, 2009 at 18:21:33 (UTC)
Goto Top
Habs noch net probiert, aber im vorhinaus, tank ju weri mutsch. Achso, bastla haste auch ne Idee zu meinem anderen Beitrag? thx
Mitglied: 42687
42687 Apr 10, 2009 at 12:55:34 (UTC)
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
Member: bastla
bastla Apr 10, 2009 at 13:30:43 (UTC)
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?
Mitglied: 42687
42687 Apr 10, 2009 at 15:20:45 (UTC)
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.
Member: bastla
bastla Apr 10, 2009 at 15:54:20 (UTC)
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
Member: 19Fl081
19Fl081 Jun 27, 2022 at 06:51:45 (UTC)
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.