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

cmd - merkwürdiges Verhalten bei for und set

Frage Entwicklung Batch & Shell

Mitglied: visum-bl

visum-bl (Level 1) - Jetzt verbinden

14.11.2009 um 18:53 Uhr, 3545 Aufrufe, 3 Kommentare

mehrmals die gleiche Zeile gelesen?

Hallo zusammen!

Ich hab mit folgendem kurzen Abschnitt ein Problem:

01.
    setlocal enabledelayedexpansion 
02.
 
03.
    set line="sometext" 
04.
    for /f %%c in (meineDatei) do ( 
05.
      set workstring=%%c 
06.
      if "%workstring:~0,8%"==%line% ( 
07.
        set found2=true 
08.
      )       
09.
    )
Es geht darum eine Datei durchzulesen und festzustellen, ob eine der Zeilen mit dem Inhalt von %line% beginnt.
Ein zusätzliches set zeigt, dass die Datei wohl auch richtig gelesen wird.

Aber: In der if-Abfrage wird zum einen keine Übereinstimmung gefunden und zum anderen wird immer nur die letzte Zeile der Datei zum Vergleich
verwendet (zumindest behauptet das ein weiteres set workstring zwischen dem ersten und dem if).


Ich hoffe ihr könnt mir helfen. Ich sitz jetzt seit einer gefühlten Ewigkeit hier dran und blick echt nicht mehr weiter ...
gruß,
vis
Mitglied: rubberman
14.11.2009 um 21:03 Uhr
Hallo visum-bl und willkommen im Forum.

Das enabledelayedexpansion ist ja schon der richtige Ansatz, nur dann bitte auch an der richtigen Stelle ! statt % nutzen
01.
    setlocal enabledelayedexpansion 
02.
 
03.
    set line="sometext" 
04.
    for /f %%c in (meineDatei) do ( 
05.
      set workstring=%%c 
06.
      if "!workstring:~0,8!"==%line% ( 
07.
        set found2=true 
08.
      )       
09.
    )
Grüße
rubberman
Bitte warten ..
Mitglied: visum-bl
14.11.2009 um 21:23 Uhr
Wow, so klappts! Danke vielmals

Ich kannte das !var! nur im zusammenhang mit variable in variable (!text:%anfang%,%ende%!) .. aber wenn ich drüber nachdenke gibt das Sinn ..
Bitte warten ..
Mitglied: bastla
14.11.2009 um 21:57 Uhr
Hallo visum-bl und willkommen im Forum!
Es geht darum eine Datei durchzulesen und festzustellen, ob eine der Zeilen mit dem Inhalt von %line% beginnt.
Nur als Anmerkung: Mit
findstr /b /c:"%line%" "meineDatei">nul && set "found2=true"
ginge es auch ganz ohne Schleife und "delayedExpansion" ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Druckertreiber - Merkwuerdiges Verhalten (3)

Frage von joehuaba zum Thema Windows Server ...

Windows 10
gelöst Merkwürdige CMDs die sofort verschwinden (14)

Frage von Mazenauer zum Thema Windows 10 ...

Batch & Shell
Wie arbeitet das cmdlet "Set-HPBiosUEFIBootOrder" ? (3)

Frage von MasterBaiter zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...