banshe
Goto Top

Mit VBS oder Batch - von - bis - hochzählen

Hallo zusammen,

Ich habe noch nie etwas mit VBS und nur sehr wenig mit Batch gemacht, brauche jedoch einen kleinen code... (hab schon gegoogelt, aber nichts wirklich passendes gefunden).

Ich benötige einen Script bei dem ich zwei Zahlen eingeben kann (Von / Bis).
Anschliessend soll mir der Script "Von" "Bis" hochzählen und mir die Zahlen ausgeben. (Die Zahlen mit einem "; " trennen).

Beispiel:

"Von" eingabe: "10"
"Bis" eingabe: "16"
Resultat in der Text Datei: "10; 11; 12; 13; 14; 15; 16; "

Wie soll ich da vorgehen? Benötige den Script so bald wie möglich, gross aus VBS/Batch-Bücher lesen wird leider nichts,...

Bitte um hilfe...

Grüsse

Content-ID: 142035

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

Ausgedruckt am: 23.11.2024 um 04:11 Uhr

bastla
bastla 04.05.2010 um 08:27:59 Uhr
Goto Top
Hallo Banshe und willkommen im Forum!

Etwa so:
@echo off & setlocal enabledelayedexpansion
set "Datei=D:\Die Textdatei.txt"  

set /p "Von=Von: "  
set /p "Bis=Bis: "  

set "Zeile="  
for /L %%i in (%Von%,1,%Bis%) do set "Zeile=!Zeile!%%i; "  
> "%Datei%" echo %Zeile%  
Es erfolgt keinerlei Überprüfung der Eingabewerte ...

Informationen zu den verwendeten Befehlen bekommst Du zB mit "set /?" oder "for /?" ...

Grüße
bastla
57675
57675 04.05.2010 um 08:30:48 Uhr
Goto Top
Also du musst dein Problem mit einer Schleife lösen, entweder einer For-Next- oder eine Do-While-Schleife.

Dazu solltest du massig Beispiele im Netz finden ;)

 
Do while von >= bis
   tue irgendwas bzw. ausgabe "von"  
Loop

Das sollte dir weiterhelfen.

Edith: zu langsam bastla war schneller ;)
Biber
Biber 04.05.2010 um 08:49:12 Uhr
Goto Top
Moin Banshe,

willkommen im Forum.
Nur zur Ergänzung von bastlas Hinweisen.

Zitat von @bastla:
Es erfolgt keinerlei Überprüfung der Eingabewerte ...

Da nicht alles bei M$ einleuchtet oder in der Hilfe erläutert ist -> in der Praxis berücksichtigen:

In der FOR /L-Hochzählanweisung kann dir bei einer vom Anwender eingetippselten VON/BISKombination ja passieren
a) Für VON wird eine Zahl eingegeben, für BIS wird eine Zahl eingegeben, VON ist kleiner als BIS---> alles funktioniert
b) Für VON wird eine Zahl eingegeben, für BIS wird eine Zahl eingegeben, VON ist nicht kleiner als BIS---> Nichts wird geschrieben
c) Für VON wird keine Zahl eingegeben (sondern "abc", für BIS wird eine Zahl eingegeben, VON wird als 0 gewertet und FOR loopt von 0 bis BIS
d) Für VON wird eine Zahl eingegeben für BIS wird keine Zahl eingegeben (sondern "abc", BIS wird als 0 gewertet --> wie Fall b)

Falls du irgendwann die Schrittweite (den 2 Parameter in der FOR /L-Anweisung) auch abfragst:
  • Positive und negative Schrittweite sind möglich, es muss aber zu den VON/BIS-Werten passen. [z.B. von 16 bis 10 Step -1= ok]
  • eine Schrittweit von 0 (oder eine Eingabe von "keiner Zahl") führt zu einer Endlos-Schleife.

Grüße
Biber