boris1
Goto Top

String oder Zeichenkette mit batch erstellen

Hallo,

ich möchte eine Windows Batch erstellen, die nach Eingabe einer bestimmten Anzahl einen String erstellt.

z.B. wenn ich eine 10 eingebe, soll er einen String erstellen, der 10 x AB enthält und in eine Variable schreiben.

Also test="ABABABABABABABABABAB".

Ich habe es mit einer for Schleife versucht, bekomme es aber einfach nicht hin.

Content-ID: 3195704967

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

Ausgedruckt am: 21.11.2024 um 17:11 Uhr

cse
cse 20.08.2024 um 11:53:20 Uhr
Goto Top
moin, zeig doch mal was du hast bisher.
boris1
boris1 20.08.2024 aktualisiert um 12:12:10 Uhr
Goto Top
Ich kenne mich noch nicht gut genug aus. Folgendes habe ich ausprobiert.

SET AB =AB

anzahlziffern soll die Eingabe enthalten z.B. 10.

for %%i IN (1,1,%anzahlziffern%) do (SET anzahl = %anzahl%%AB%)

echo %anzahl%

Aber das funktioniert überhaupt nicht. Er gibt dann nur einmal AB aus.
cse
Lösung cse 20.08.2024 aktualisiert um 12:16:49 Uhr
Goto Top
hier, das hat ein Chatbot gemacht, bin grad zu faul um mich da reinzudenken ;)

@echo off
setlocal enabledelayedexpansion

set /p count=Bitte geben Sie eine Zahl ein: 
set result=

for /l %%i in (1,1,%count%) do (
    set result=!result!AB
)

echo Der erstellte String ist: !result!

(vermutlich hattest du die variablen nicht gesetzt?)
boris1
Lösung boris1 20.08.2024 um 12:32:05 Uhr
Goto Top
Danke, dass funktioniert schon mal. Aber wenn ich Anstelle von AB eine Variable setze, bekomme ich keine Ausgabe mehr.

@echo off
setlocal enabledelayedexpansion

set /p count=Bitte geben Sie eine Zahl ein: 
set result=

set /p string=bitte String eingeben
set string=

for /l %%i in (1,1,%count%) do (
    set result=!result!%string%
)

echo Der erstellte String ist: !result!
cse
Lösung cse 20.08.2024 um 13:03:48 Uhr
Goto Top
sorry, aber ich glaube du musst dich noch mehr mit batch beschäftigen ;)

set /p string=bitte String eingeben
set string=

denn du sagst 1. hier bitte string her um dann 2. den string zu nullen.

mach am Ende noch eine Pause rein:

@echo off
setlocal enabledelayedexpansion

set /p count=Bitte geben Sie eine Zahl ein:
set result=

set /p string=bitte String eingeben


for /l %%i in (1,1,%count%) do (
set result=!result!%string%
)

echo Der erstellte String ist: !result!

pause
boris1
boris1 20.08.2024 um 13:38:43 Uhr
Goto Top
denn du sagst 1. hier bitte string her um dann 2. den string zu nullen.

Das ist natürlich dumm!

Danke für die Hilfe!
cse
Lösung cse 20.08.2024 um 15:18:40 Uhr
Goto Top
darfst gerne noch die Lösung markieren ;)
pieh-ejdsch
pieh-ejdsch 09.09.2024 um 14:21:39 Uhr
Goto Top
Moin

Alles was vor dem Gleichheitszeichen steht wird zum setzen in den Variablennamen genommen.

Es gab doch ein Tutorial....Wie Arbeite ich mit Batch UmgebungsVariablen? Erstellung Umgang Erweiterungen Veränderungen

Gruß Phil