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:
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 109671
Url: https://administrator.de/contentid/109671
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Soidberg,
könnte so gehen:
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
<HIER MÜSSTE GEPRÜFT WERDEN>
könnte so gehen:
echo %Neu:~20,1%|findstr ECHO || goto :error
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