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, 10593 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 In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

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

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

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (1)

Frage von Zendara zum Thema Batch & Shell ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(4)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
Dir tc Befehl unter Windows 10 macht Probleme (12)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...