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 Was ist Part, eine Funktion?

Frage Entwicklung Batch & Shell

Mitglied: Progfreund

Progfreund (Level 1) - Jetzt verbinden

19.06.2011, aktualisiert 20:28 Uhr, 3956 Aufrufe, 2 Kommentare

set x=aaabbb
set FindLetter=a
set /a i=0
set /a Counter=0
:loop
call set "Part=%%x:~%i%,1%%
if "%Part%"=="%FindLetter%" set /a Counter+=1
set /a i+=1
if defined Part goto loop

Hallo.
Ich habe bei Batch Zeichen zählen einen nützlichen Beitrag
zur Stringzählung gefunden.
Ich habe aber keine Idee, was %Part% ist bzw. konnte keine Antwort finden.
Es dürfte wohl keine Umgebungsvariable sein, aber könnte es eine Art
globale Funktion sein?
Ich wollte %Part% umbenennen, aber dann gab es keine richtigen
Ergebnisse, d.h. "0".
Bei EnableDelayedExpansion funktioniert die batch nicht, weil
der call Aufruf nicht abgearbeitet wird.

Wer weiß, was es ist und kann mir gegebenenfalls Tipps zu anderen
"Tools" dieser Art geben?

LG

01.
@echo off &setlocal 
02.
 
03.
set x=aaabbb 
04.
set FindLetter=a 
05.
 
06.
set /a i=0 
07.
set /a Counter=0 
08.
:loop 
09.
call set "Part=%%x:~%i%,1%%" 
10.
if "%Part%"=="%FindLetter%" set /a Counter+=1 
11.
set /a i+=1 
12.
if defined Part goto loop 
13.
 
14.
echo %Counter% 
15.
pause 
Mitglied: Skyemugen
19.06.2011 um 20:33 Uhr
Aloha,

... Part ist eine normale, manuell gesetzte Variable, du kannst sie auch umbenennen (dann natürlich alle drei Vorkommnisse)

set Part = logisch: ausgewählte Variable wird gesetzt
%Part% = logisch: auch klar, oder
if defined part = Abfrage, ob die Variable Part mit Inhalt definiert wurde

greetz André
Bitte warten ..
Mitglied: Biber
20.06.2011 um 00:13 Uhr
Moin ProgFreund,

eine Rückfrage hätte ich noch...
Wieso meinst du "bei EnableDelayedExpansion arbeitet die Batch nicht"?
Ich komme - selbst bei völligem Verzicht auf die Stützrad-Variable %Part% nicht zu diesem Schluss.

01.
:: --DemoSchnipsel countLetters.cmd -- 
02.
@echo off & setlocal enabledelayedExpansion 
03.
set "x=WTF sollte DelayedExpansion hier nicht funktionieren?" 
04.
set "FindLetter=a" 
05.
Set /a i=0 
06.
:loop 
07.
if "!x:~%i%,1!"=="%FindLetter%" set /a Counter+=1 
08.
set /a i+=1 
09.
if "!x:~%i%,1!" NEQ "" goto loop 
10.
echo Das Zeichen "%findletter%" wurde %Counter%mal im String "%x%" gefunden.
Beispielaufruf und -ausgabe:
>d:\temp\countLetters.cmd 
Das Zeichen "a" wurde 2mal im String "WTF sollte DelayedExpansion hier nicht funktionieren?" gefunden.
Musst nicht alles so blind glauben, was irgendwo in Internet-Foren geschrieben steht,

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Linux Tools
Clonezilla Backups, 4GB Parts, fehlende Parts ersetzen?
Frage von FalkITLinux Tools10 Kommentare

Hi zusammen, ich habe ein mit Cloenzilla erstelltes Backup von einem Notebook, welches aus insgesamt 122 4GB Dateien bestehen ...

Batch & Shell
Batch Programm (Ping funktion)
gelöst Frage von MedicalAdBatch & Shell1 Kommentar

Servus Leute, ich versuche ein Batch Pprogramm zu schreiben das die Eingabe des Users Pingt. Ich habe es auch ...

Windows 7
Windows Funktionen per Batch deaktivieren
gelöst Frage von stefan641Windows 74 Kommentare

Hallo Forum Ich hab da ein kleines Problem und zwar, ich setze in letzter Zeit viele Maschinen neu mit ...

CMS
Appdata in Batch-Datei für Word-Funktionen
gelöst Frage von FuryStageCMS5 Kommentare

Hallo zusammen, ich möchte gerne eine Datei verteilen, sobald der User sich einloggt und die Batch-Datei ausgeführt wird. Es ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 15 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 17 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.