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, 3543 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
Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...

Windows 7
Link auf Desktop um CMD Befehl auszuführen (7)

Frage von XPFanUwe zum Thema Windows 7 ...

Windows Server
Cmd-Fenster blitzt bei periodischer GPO-Aktualisierung ganz kurz auf (9)

Frage von marc-1303 zum Thema Windows Server ...

Batch & Shell
Findstr Path CMD ja - Batch Script nein - FireFox Profiles (2)

Frage von ChrisIO zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...