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, 3535 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
Router & Routing

192.168er Adresse im öffentlichen Netz

(2)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Batch & Shell
gelöst Mit Powershell schwarzes CMD-Fenster unterdrücken? (4)

Frage von Yauhun zum Thema Batch & Shell ...

Windows Server
RemoteDesktopService auf TS 2008R2 Verhalten nach Zertifikatsablauf (1)

Frage von Yannosch zum Thema Windows Server ...

CPU, RAM, Mainboards
gelöst Seltsames Verhalten vom Netzteil (14)

Frage von FFSephiroth zum Thema CPU, RAM, Mainboards ...

Batch & Shell
Ungewolltes Ausgabeformat in CMD (Befehlszeile+ Befehl) (3)

Frage von DerArne zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

SAN, NAS, DAS
Backupserver für KMU (14)

Frage von Leo-le zum Thema SAN, NAS, DAS ...