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

Printed on: September 1, 2024 at 01:09 o'clock

cse
cse Aug 20, 2024 at 09:53:20 (UTC)
Goto Top
moin, zeig doch mal was du hast bisher.
boris1
boris1 Aug 20, 2024 updated at 10:12:10 (UTC)
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
Solution cse Aug 20, 2024 updated at 10:16:49 (UTC)
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
Solution boris1 Aug 20, 2024 at 10:32:05 (UTC)
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
Solution cse Aug 20, 2024 at 11:03:48 (UTC)
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 Aug 20, 2024 at 11:38:43 (UTC)
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
Solution cse Aug 20, 2024 at 13:18:40 (UTC)
Goto Top
darfst gerne noch die Lösung markieren ;)