Prüfen Sie Datei-Erweiterung
Ich bin mit dem folgenden PowerShell-code, und ich brauche, um zu überprüfen, seine Ausdehnung in eine if-Bedingung
foreach ($line in $lines) {
$extn = $line.Split("{.}")[1]
if ($extn -eq "xml" )
{
}
}
Gibt es eine einfache Möglichkeit, um zu überprüfen, string-Erweiterungen in PowerShell-Skripts im Falle von strings?
- Wenn Sie sich von diese Frage bitte löschen. Es scheint, wie haben Sie es aufgegeben zu Gunsten von diese eine, die das gleiche Problem aber besser formuliert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einfach die
GetExtension
Funktion vonSystem.IO.Path
:Demo:
GetExtension
Funktion betroffen ist,"Test1.xml"
ist noch der name einer Datei.GetExtension
noch funktioniert wie es sollte mittest.c.c2014
. Der einzige Weg, Sie erhöhen könnte, dass der Fehler ist, wenn Ihr strings mit ungültigen Pfad Zeichen wie|
(Bedeutung, sind Sie ungültige Dateinamen). Wenn das der Fall ist, dann müssen Sie die Rolle Ihrer eigenen Lösung.$extn = $line.Split('.')[-1]
funktionieren sollte (es wird alles nach dem letzten Punkt in Ihrem string).$line.Split(".")[-1]
funktionieren sollte. Keine Notwendigkeit für die KlammerGetExtension
gibt die Erweiterung da ist, der unteren oder Großbuchstaben, so könnte man das auch wollen.ToLower()
es vor dem Vergleich.Verwenden
Sehen PowerShell Vergleichs-Operatoren.