azrael995
Goto Top

Batchdatei Eingabe durch den Benutzer echtzeitfiltern

Hi @,

ich würde gerne bei dem Eingabebefehl für den user
 set /P Variable=

sofort die Eingabe eines Lehrzeichens unterbinden oder miteinbeziehen können.

Deshalb meine Frage:

gibt es eine Art Pipe mit der ich gleichzeitig die EIngabe filtern kann???
oder vlt etwas ähnliches, was den selben Erfolg bringt???

Danke für eure Bemühungen,

azrael995
Kommentar vom Moderator Biber am 23.09.2011 um 22:11:13 Uhr
sofort die Eingabe eines Lehrzeichens unterbinden oder miteinbeziehen können
Ich möchte auch gern ein paar Eingaben unterbinden....*seufz*

Content-ID: 173544

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

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

Skyemugen
Skyemugen 22.09.2011 um 16:34:57 Uhr
Goto Top
Aloha,

ich würde es im Nachhinein machen, indem man eventuelle Leerzeichen einfach durch nichts ersetzt

set /p Eingabe=

set Eingabe=%Eingabe: =%

echo test der Variable "%Eingabe%"  


Das mit dem miteinbeziehen verstehe ich nicht ganz aber wenn es nicht schon Zollzeichen tun (die hier nur darstellen sollen, dass es vorne und hinten keine Leerzeichen gibt), dann nutzt dir eventuell noch eine pipe | bei deinem Gesamtvorhaben, mehr dazu gibt es auch in den Batchtutorials von Biber & Co.

greetz André

@bastla und was lehrt uns das? face-wink Dass man auch Variablen leeren kann *gg* gut, uns lehrt das eher wenig
bastla
bastla 22.09.2011 um 16:37:17 Uhr
Goto Top
... und das Ganze vor allem mit Leerzeichen durchführen ... face-wink

Grüße
bastla
azrael995
azrael995 23.09.2011 um 08:23:14 Uhr
Goto Top
Das mit den Antworten ist nett aber das Problem ist, wenn ich ein Lehrzeichen eingebe in der Eingabe -> Er bricht dort die Eingabe y einfach ab
Das würd ich gern abfangen( für den User)
Skyemugen
Skyemugen 23.09.2011 um 08:37:08 Uhr
Goto Top
Aloha,

tut mir leid, kann ich nicht nachvollziehen. Bricht er die Eingabe ab, wenn man mit einem Leerzeichen anfängt? Wenn ja, wird dies unter Windows 7 laufen? (Bei XP gibt es das Problem nämlich nicht)

greetz André

edit: Ah, kann das sein, dass du meinst, dass nur ein Leerzeichen angegeben wird und dann Enter gedrückt wird? Falls ja, macht das nur ein Problem, wenn du danach per
if /i %Eingabe% equ tralala
arbeitest statt mit
if /i "%Eingabe%" equ "tralala"  
BigWim
BigWim 23.09.2011 um 08:48:01 Uhr
Goto Top
Moin azrael995,

vielleicht versteckt sich der Fehler an anderer Stelle, denn

set /p Markus=
echo rc = *%Markus%*

führt zu dieser (fehlerfreien) Ausgabe:

C:\temp>set /p Markus=
Leerzeichen wird mit "ee" geschrieben!!!!  

C:\temp>echo rc = *Leerzeichen wird mit "ee" geschrieben!!!!*  
rc = *Leerzeichen wird mit "ee" geschrieben!!!!*  

Gruß
Markus

[Edit] wieder nicht aktualisiert. Zumindest bin ich nicht auf dem Holzpfad ....[/Edit]
azrael995
azrael995 23.09.2011 um 10:39:03 Uhr
Goto Top
das rc hat gereicht, aber vielen dank

btw das mit dem Leerzeichen hab ich schon verstanden nur wenn ich s jetzt ändere ergeben die Posts darunter keinen sinn mehr

Vielen Dank nochmal gl hf @
funktioniert nur bei benennungen mit
set /p Variabe=
set rc = *%Variable%*

aber nicht beim EInlesen von Verzeichnissen:

 For /F %%i ( 'dir /B "V:\bla\*.mts"') do (set video=%%~ni  

hat jemand vlt hier auch ne Idee???

gl hf
bastla
bastla 23.09.2011 um 14:43:40 Uhr
Goto Top
Hallo azrael995!
hat jemand vlt hier auch ne Idee???
Ja - eröffne einen neuen Thread und beschreibe das Problem ...

Grüße
bastla
Skyemugen
Skyemugen 23.09.2011 um 14:48:04 Uhr
Goto Top
... und am Ende ist es wahrscheinlich doch nur "%video%" ...

btw:
set rc = *%Variable%*
sind wir hier bei VisualBasic?
BigWim
BigWim 23.09.2011 um 15:48:24 Uhr
Goto Top
@Skyemugen

sind wir hier bei VisualBasic?
Sorry - hat sich bei mir eingebrannt, wenn ich "eben" mal was zum Test ausgeben möchte ...
Gelobe (mal wieder) Besserung.

Schönes Wochenende
Markus