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

Batch - IF variable beinhaltet Zeichenfolge

Frage Entwicklung Batch & Shell

Mitglied: 47674

47674 (Level 1)

01.09.2009, aktualisiert 10:01 Uhr, 10747 Aufrufe, 3 Kommentare

Prüfen, ob eine Variable eine festgelegte Zeichenfolge beinhaltet.

Hallo zusammen,

ich möchte gerne überprüfen, ob eine Buchstabenfolge in einer Variablen vorkommt. Die Variable heißt currentfile und enthält einen Dateinamen mit Dateityp-Erweiterung. Wenn es sich um ein PDF handelt (also %currentfile% beinhaltet .pdf) soll ein Befehl ausgeführt werden.

Mit
01.
IF NOT %currentfile%==.pdf echo Dies ist kein PDF
kann ich zwar prüfen, ob currentfile und .pdf 100%ig übereinstimmen, jedoch nicht, ob .pdf nur ein Teil von currentfile ist.

Ist das irgendwie möglich?

Vielen Dank un Gruß
daedalus
Mitglied: Biber
01.09.2009 um 10:40 Uhr
Moin daedalus,

wenn die Formulierung der Aufgabenstellung leicht (aber vermutlich zulässig) variiert wird, dann lässt sich doch sagen
"Geprüft werden soll, ob die Endung der Datei ".pdf" ist.

Und das wiederum geht ja mit den "abgeleiteten" dynamischen Variablen der FOR-Anweisungen.

Beispiel am CMD-Prompt (die Zeile mit ">" am Anfang ist die eingegebene Zeile)
>for %i in (h*.*) do @if /i "%~xi"==".pdf" @echo "%i" ist ein PDF-File. 
"Hein Blöd 2009-123456.pdf" ist ein PDF-File. 
"Hund Katze Maus 2008-122332.pdf" ist ein PDF-File.
Übertragen auf Dein Konstrukt im Batch:
01.
... 
02.
FOR %%i in ("%currentfile%") DO IF /i "%%~xi" NEQ ".pdf" echo "%%i" ist kein PDF.
Grüße
Biber
Bitte warten ..
Mitglied: bastla
01.09.2009 um 11:11 Uhr
... um aber auch auf die Fragestellung "Teilstring prüfen" einzugehen:
echo %currentfile%|findstr /i "\.pdf">nul||echo ".pdf" nicht enthalten
Kleine Besonderheit: Damit der Punkt als solcher interpretiert wird, muss er per vorangestelltem "\" gekennzeichnet werden - siehe "findstr /?".

Falls Du umgekehrt (auf "enthalten") prüfen willst, "||" durch "&&" ersetzen.

Grüße
bastla
Bitte warten ..
Mitglied: 47674
01.09.2009 um 12:33 Uhr
Danke, es funktioniert!!! Genau das habe ich gesucht
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Entwicklung
gelöst Dateiname auf bestimme Zeichenfolge überprüfen? (8)

Frage von matzetto zum Thema Entwicklung ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (21)

Frage von tobias.mock zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (58)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (16)

Frage von Kirdy1301 zum Thema Windows Server ...