buddha92
Goto Top

If Funktion von der Zeichenlänge einer Variable abhängig machen

Hallo ihr Lieben, ich bin noch neu in der Welt der Batch Dateien =)
und brauche an dieser Stelle eure Hilfe.

Und zwar: will ich von der Zeichenlänge einer Variable eine IF funktion abhängig machen.
ist das überhaupt möglich?

es sollte in etwa so aussehen
@echo off

set /p var=Bitte Name des Computers eingeben:

Zeichenlänge von var ermitteln

if %var% == 3(
\\PC%var%\C$)
else(
\\%var%\C$)

Pause
oder im idealfall:
@echo off

set /p var=Bitte Name des Computers eingeben:

Zeichenlänge von var ermitteln

if %var% == 3(
\\PC%var%\C$)
if %var% == 5(
\\%var%\C$)

Pause

bitte um eure hilfe =)

lg buddha

Content-Key: 124506

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

Printed on: April 16, 2024 at 18:04 o'clock

Member: Biber
Biber Sep 08, 2009, updated at Oct 18, 2012 at 16:39:16 (UTC)
Goto Top
Moin buddha92,

willkommen im Forum.

Im Batch gibt es keine fertig benutzbare Len()-oder vergleichbare Funktion.
Von daher -da du dir dann selbst eine Ausweichstrategie überlegen musst- solltest Du diese Strategie davon abhängig machen, was am performantesten ist.
Bei "kleinen" zu erwartenden Textlängen (< 100 Zeichen) könntest Du mit einer FOR/L -Zählschleife drüberwackeln von links nach rechts oder rechts nach links, um festzustellen, wo "der String keine Zeichen mehr hat".

Hört sich etwas archaisch an, aber es tut. Beispiel Anzahl Zeichen einer Variable zählen.

Wenn die zu prüfenden Strings im erwarteten Normalfall eher > 100 Zeichen sind, dann würde ich den Variableninhalt in eine temporäre Textdatei schreiben, die Größe dieser Datei ermitteln und 2 abziehen (für CR-LF).

Das Beispiel findest Du u.a. im Tutorial "Workshop Batch for Runaways - FindLongPath" im Bereich Batch & Shell.

Grüße
Biber
Mitglied: 81825
81825 Sep 08, 2009, updated at Oct 18, 2012 at 16:39:16 (UTC)
Goto Top
Hallo buddha02 und willkommen im Forum.

Eine entsprechendes Beispiel, wie man die Länge einer Variablen ermitteln kann, findest du hier.

Für Beispielcodes wäre es hilfreich, wenn du sie in < code > - Tags setzen würdest, wie in der beschrieben, das erhöht die Lesbarkeit und vereinfacht das Übernehmen. face-wink

Im Batch-Bereich findest du auch #Batch.

Gruß