Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 10897 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 Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(6)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(25)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (25)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...

Windows Server
Änderung Subnetz an AD Standort (13)

Frage von hansdampf zum Thema Windows Server ...