Top-Themen

Aktuelle Themen (A bis Z)

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 Batch Zeichen (bsp x) nach Variablen-Anzahl setzen

Mitglied: OKIDOKI

OKIDOKI (Level 1) - Jetzt verbinden

26.01.2012, aktualisiert 18.10.2012, 3510 Aufrufe, 8 Kommentare

Guten Tag,
nach schon einigen Fragen und vielen gefundenen Anworten bin ich von diesem Forum total begeistert! Das Beste was es gibt in dieser Art!

Nach der Feststellung der Länge einer Variable (die dann als Zahl in einer Datei gespeichert wird) möchte ich die Anzahl als Zeichen x anzeigen lassen.
Also: Eingabe: Wort = 4 (Zeichen) in *.txt, dann 4 (Variable) auslesen und anzeigen als: xxxx

01.
set #=%MyVar% 
02.
set length=0 
03.
 
04.
:loop 
05.
if defined # (set #=%#:~1%&set /A length += 1&goto loop) 
06.
>anzahl.txt echo %MyVar% 
07.
 
08.
???
Gruß OKIDOKI
Mitglied: bastla
26.01.2012 um 16:37 Uhr
Hallo OKIDOKI!

So ganz klar ist mir Dein Vorhaben nicht ...

Wozu soll (abgesehen davon, dass Deine Zeile 6 das ursprüngliche Wort schreibt) die Länge in die Datei geschrieben werden, bzw was willst Du letztlich erreichen?

Dein bisheriger Ansatz ermittelt ja schon die Zeichenanzahl - wenn dann ein String aus lauter "x" mit der Länge der gefundenen Anzahl nur ausgegeben werden soll, könnte das zB so gehen:
01.
@echo off & setlocal 
02.
set "#=%myVar%" 
03.
set /a length=0 
04.
 
05.
:loop 
06.
if defined # (set #=%#:~1% & set /a length+=1& goto loop) 
07.
 
08.
for /L %%i in (1,1,%length%) do <nul set /p=x 
09.
echo\ 
10.
echo Das war's.
Alternativ könntest Du einfach einen String mit der maximal möglichen Länge vorgeben, also
set "String=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
und danach das gewünschte Stück "abschneiden":
call set "TeilString=%%String:~-%length%%%"
Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
26.01.2012 um 17:06 Uhr
Hallo bastla,

mein Kopf ist verdreht, ich hole noch einmal aus:

In einer Datei *.txt steht eine Zahl (an einer bestimmten Stelle). Diese Zahl soll ausgelesen werden und die Zahl als Zeichen ausgegeben werden. Hierbei handelt es sich um die Anzahl eines Passwortes, das als xxxx angezeigt werden soll:

01.
@echo off &setlocal enabledelayedexpansion 
02.
for /f "usebackq delims=" %%i in ("pass.txt") do set Zeile=%%i & goto out 
03.
 
04.
:out 
05.
set len=%Zeile:~3,1% 
06.
... nun soll %len% als x-Zeichen ausgegeben werden!
Gruß OKIDOKI
Bitte warten ..
Mitglied: bastla
26.01.2012 um 17:09 Uhr
Hallo OKIDOKI!

Bis auf die Tatsache, dass die Länge nun eben nicht in %length%, sondern in %len% steht, sollten eigentlich beide Vorschläge oben passen ...

Grüße
bastla

P.S.: Das "goto out" ist sicher nicht nötig (und ein Sprung aus einer "for"-Schleife auch nicht empfehlenswert) ...
Bitte warten ..
Mitglied: OKIDOKI
26.01.2012 um 17:12 Uhr
... sag jetzt nichts bastla

01.
@echo off & setlocal 
02.
@echo off &setlocal enabledelayedexpansion 
03.
for /f "usebackq delims=" %%i in ("pass.txt") do set Zeile=%%i & goto out 
04.
 
05.
:out 
06.
set len=%Zeile:~3,1% 
07.
 
08.
for /L %%i in (1,1,%len%) do <nul set /p=x 
09.
echo\ 
10.
echo Das war's 
11.
Pause


Vielleicht noch die Frage, ob die Diskussion um ein Passowrtgenerator auf Batch-Basis weitergeführt werden soll (wie schon an anderer Stelle)? Ich behelfe mir mit Selbstgasteltem:
Passworteingabe, Zufallszahl, Passwort dahinter, weitere Zufallszahl -> dann Auslesen / Sicherheit ist natürlich nicht unendlich...

So long, danke bastla

OKIDOKI

PS: Oko, du warst schneller ...

01.
@echo off & setlocal 
02.
@echo off &setlocal enabledelayedexpansion 
03.
for /f "usebackq delims=" %%i in ("pass.txt") do set Zeile=%%i 
04.
 
05.
set len=%Zeile:~3,1% 
06.
 
07.
for /L %%i in (1,1,%len%) do <nul set /p=x 
08.
echo\ 
09.
echo Das war's 
10.
Pause
Bleibt für mich noch die Frage, wie ich den Sprung aus der for-Schelife rausbekomme...
Bitte warten ..
Mitglied: bastla
26.01.2012 um 17:18 Uhr
Hallo OKIDOKI!
Bleibt für mich noch die Frage, wie ich den Sprung aus der for-Schelife rausbekomme...
Soferne Du nur die erste Zeile der Datei benötigst, einfach:
set /p Zeile=<pass.txt
Alternative:
01.
set "Zeile=" 
02.
for /f "usebackq delims=" %%i in ("pass.txt") do if not defined Zeile set "Zeile=%%i"
Im bisher geposteten Teil gibt es übrigens noch keine Notwendigkeit für "delayedExpansion" - Du könntest daher vorläufig die Zeile 2 ersatzlos streichen ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
26.01.2012 um 20:35 Uhr
Hallo bastla,

klappt super!
Allerdings habe ich es ausprobiert ""delayedExpansion" zu streichen. Aber dann hat es nicht funktioniert ...
Erste Zeile der txt: 9408di;M;bg6sU6dy ... Ausgegebene Meldung: !Zeile:~944,8! Hat das etwas mit dem Anfang der Zeile zu tun?
Warum es stehen bleiben muss, weiß ich aber nicht!

PS: Könntest du mir noch die Funktion von echo\ deiner o.g. Formel erklären?


Gruß
OKIDOKI
Bitte warten ..
Mitglied: bastla
26.01.2012, aktualisiert 18.10.2012
Hallo OKIDOKI!
Könntest du mir noch die Funktion von echo\ deiner o.g. Formel erklären?
Da die Ausgabe der einzelnen "x" jeweils ohne Zeilenumbruch durchgeführt wird, muss am Ende noch einer her - ob Du dafür
echo.
oder
echo\
oder
echo(
verwendest, ist (fast) egal ...
Ausgegebene Meldung: !Zeile:~944,8! Hat das etwas mit dem Anfang der Zeile zu tun?
Wenn Du keine "delayedExpansion" verwendest (meine Anmerkung war nur auf den hier geposteten Schnipsel bezogen), musst Du natürlich die Variablenschreibweise mit % und nicht mit ! vornehmen ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
26.01.2012 um 21:23 Uhr
Hallo bastla,

ich muss noch viel lernen - eijajeijajei!

Herzlichen Dank!
OKIDOKI
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Variable auf 5 Zeichen begrenzen
gelöst Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hallo zusammen, ich habe folgendes Problem: ich habe ein kleines Batch Programm, welches eine Benutzereingabe erfordert. der Benutzer soll ...

Batch & Shell

Inhalt einer .txt als eine Variable setzen mit Batch

gelöst Frage von AlexIOTBatch & Shell3 Kommentare

Hallo Zusammen, In der Variable.txt steht immer nur ein einziger Rechnername! - wie folgt: EW085IDFV001 Ich möchte das dieser ...

Batch & Shell

BATCH Dateinamen auslesen und an variabler Stelle x Zeichen auschneiden und am Ende wieder einfügen

gelöst Frage von Marco78Batch & Shell6 Kommentare

Ich habe folgendes Problem. Ich möchte Dateinamen um einen bestimmten Teil ändern damit ich diese sortieren kann. Ist Zustand ...

Batch & Shell

Nummer suchen und als Variable setzen

gelöst Frage von Nick.BBatch & Shell7 Kommentare

Ich stehe vor einem Problem und hoffe es kann mir jemand helfen. Ich habe eine Textdatei in der eine ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 19 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 20 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server23 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

LAN, WAN, Wireless
Gigabit-Lan mit zwei 4-adrigen Kabeln?
Frage von ArvedirmerLAN, WAN, Wireless11 Kommentare

Ich habe folgendes Problem: Ich betreue eine kleine Firma die sich im 1.Stock eines Gebäudes befindet. Es existiert ein ...

Router & Routing
Routing Probleme mit Firewall
gelöst Frage von mb1811Router & Routing9 Kommentare

Hallo Zusammen! Ich habe folgende Problematik, wo ich ein wenig Input benötige: Gem. angehängter Skizze habe ich folgenden Stand: ...