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, 3534 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
Schleife mit todos CMD

Frage von TommyDerWalker zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...