Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Variable auf 20 Zeichen begrenzen

Frage Entwicklung Batch & Shell

Mitglied: Soidberg

Soidberg (Level 1) - Jetzt verbinden

22.02.2009, aktualisiert 02:46 Uhr, 7797 Aufrufe, 3 Kommentare

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:

01.
setlocal 
02.
cls 
03.
echo. 
04.
Echo 	Starte Eingabeskript (Intern)... 
05.
 
06.
:: Setze Variable und erstelle vbs 
07.
set "Eingabe=%temp%\Eingabe.vbs" 
08.
echo WScript.Echo InputBox("Bitte den Namen eingeben", "Internen-FTP anlegen", "1234567-TestoriusGMBH")>"%Eingabe%" 
09.
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i" 
10.
del "%Eingabe%" 
11.
if "%Neu%"=="" goto :eof 
12.
 
13.
<HIER MÜSSTE GEPRÜFT WERDEN> 
14.
 
15.
::übergebe die Eingabe an das alte Skript 
16.
cls 
17.
d: 
18.
cd \ 
19.
cd Inetpub\ftproot\homedir\intern 
20.
@Echo on 
21.
cls 
22.
md %Neu% 
23.
iisftp.vbs /SetADProp %Neu% FTPRoot D:\Inetpub\homedir\intern 
24.
iisftp.vbs /SetADProp %Neu% FTPDir \%Neu% 
25.
pause 
26.
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
Mitglied: paulepank
22.02.2009 um 09:46 Uhr
Hallo Soidberg,

<HIER MÜSSTE GEPRÜFT WERDEN>

könnte so gehen:
01.
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
Bitte warten ..
Mitglied: bastla
22.02.2009 um 10:18 Uhr
Hallo Soidberg und paulepank!

Gleiches Prinzip, andere Formulierung:
if "%Neu:~20%" neq "" goto :ERROR
Grüße
bastla
Bitte warten ..
Mitglied: Soidberg
22.02.2009 um 15:52 Uhr
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
Bitte warten ..
Ähnliche Inhalte
Tipps & Tricks
PC Nutzung zeitlich begrenzen? (17)

Frage von Peter1985 zum Thema Tipps & Tricks ...

VB for Applications
gelöst Bestimmtes Arrayfeld mit Variable aufrufen? - VBS (10)

Frage von gabrixl zum Thema VB for Applications ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (21)

Frage von tobias.mock zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

Netzwerke
VPN-Server einrichten PPTPD-Einrichtung gescheitert (15)

Frage von MIlexx zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...