soidberg
Goto Top

Variable auf 20 Zeichen begrenzen

Batch vs. Temp vbs, übergebene Variable des vbs auf 20 Zeichen begrenzen

Hallo ihr lieben,

ich habe mir ein Skript gebastelt das auch soweit sehr gut funktioniert. Einzigstes Problem ist das die Usereingabe noch auf Zeichenlänge überprüft werden müsste.

Es dürfen nicht mehr als 20 Zeichen eingeben werden bzw. später übergeben werden.

Anbei mein Skript:

setlocal
cls
echo.
Echo 	Starte Eingabeskript (Intern)...

:: Setze Variable und erstelle vbs
set "Eingabe=%temp%\Eingabe.vbs"  
echo WScript.Echo InputBox("Bitte den Namen eingeben", "Internen-FTP anlegen", "1234567-TestoriusGMBH")>"%Eingabe%"  
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i"  
del "%Eingabe%"  
if "%Neu%"=="" goto :eof  

<HIER MÜSSTE GEPRÜFT WERDEN>

::übergebe die Eingabe an das alte Skript
cls
d:
cd \
cd Inetpub\ftproot\homedir\intern
@Echo on
cls
md %Neu%
iisftp.vbs /SetADProp %Neu% FTPRoot D:\Inetpub\homedir\intern
iisftp.vbs /SetADProp %Neu% FTPDir \%Neu%
pause
goto eof

Die Variable %Neu% müsste nach eingabe überprüft werden und wenn es mehr als 20 Zeichen sind zu einer Marke (:ERROR) springen, ansonsten ganz normal ab ":übergebe die Eingabe an das alte Skript" weitermachen.

Vermutlich ist es ganz einfach aber mir fehlt hierzu der Ansatz.

LG Soidberg

Content-Key: 109671

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: paulepank
paulepank 22.02.2009 um 09:46:42 Uhr
Goto Top
Hallo Soidberg,

<HIER MÜSSTE GEPRÜFT WERDEN>

könnte so gehen:
echo %Neu:~20,1%|findstr ECHO || goto :error
Hintergrund:Es wird versucht das 21. Zeichen auszugeben.
Falls das nicht möglich ist wird ein ECHO .... ausgegeben, d.h. es wird in der Batch der nächste Befehl abgearbeitet
Falls ein 21. Zeichen existiert wird dieses ausgegeben und damit wird zur :error-Marke gesprungen.

EDIT:Kommentar entfernt

cu paulepank
Mitglied: bastla
bastla 22.02.2009 um 10:18:52 Uhr
Goto Top
Hallo Soidberg und paulepank!

Gleiches Prinzip, andere Formulierung:
if "%Neu:~20%" neq "" goto :ERROR
Grüße
bastla
Mitglied: Soidberg
Soidberg 22.02.2009 um 15:52:03 Uhr
Goto Top
Hallo bastla,
Hallo paulepank.

Vielen lieben Dank für die funktionierenden Lösungen.

Es funktionieren beide, ich habe mich jetzt für bastla seine Methode entschieden, bin euch aber beiden für eure Hilfe sehr dankbar.

LG Soidberg