Frage von Rapo123, 79

Einen Teil des Dateinamens suchen?

Hallo, ich habe mehrere datein die sich nur unterscheiden im namen mit den jeweiligen sprachen bsp: beispiel_german.exe; beispiel_russia.exe; beispiel_english.exe

Ich habe eine globale die ich auf $Language = "German" gestellt habe damit ich sie schnell immer wieder ändern kann

Ich würde gerne wissen mit welchen Quellcode ich die ausgewählten dateien filtern kann.

Ich erwarte keine endgültige lösung ich bräuchte nur einen Lösungsansatz den rest schaffe ich dann wohl selber. :)

PS: das läuft unter Powershell

Danke für die Hilfe !

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Etter, 14

Also so wie ich es verstehe hast du einen Haufen *.exe Dateien. Diese sind alle gleich benannt, nur mit dem Unterschied der Sprache.

Sollte so funzen. Du musst u.U. nurnoch bei Get-ChildItem den Pfad angeben.

Mein Vorschlag:

$language = "german"

Get-ChildItem | where{$_.Name -like "*_$language.exe"}

Damit sollten dir jetzt alle Dateien angezeigt werden, welche _german.exe am Ende stehen haben.

Das ganze kannste dann noch in ne Variable schreiben, um später damit weiter zu arbeiten.

Antwort
von Odorwyn, 18

Hallo Rapo123,

Versuche es doch mal mit Regular Expressions?

LG

Antwort
von Rapo123, 57

natürlich vergessen zu erwähnen das ich das mit powershell mache ...

Antwort
von Karaseck, 49

Normalerweiseunter Windows  mit einem * für mehrere Zeichen als Platzhalter und einem ? für ein Zeichen.

Versuche es mal.☺️

Kommentar von flaglich ,

Geht ohne Powershell, auch im dos war das schon so und unter Linux auch.

Antwort
von Smexah, 44

Mit Wildcards zb. oder du musst über die Menge an Datein iterrieren und nach dem pattern suchen. Also

for(dateiListe : datei)

if (datei.name == pattern) <- dabei kann das pattern überall vorkommen also wieder mit wildcards. ps keine Ahnung, aber bei Java gibt es etwas wie: datei.name.contains(pattern) villt  gibts das da auch

Hoffe du meintest was in der Richtung.
Nebenbei: Welche Sprache? :D


Antwort
von iwolmis, 9

Installiere "cygwin" mit Bash Shel

Dann zB.

cd zum deine Directory wo du es suchst;

Oder wo der Punk ist die nahmen von Deinen Directories eingeben

find . -type f -name 'beispiel.*exe'

oder nur

find . -type f > xxMeineDateien.txt

vi xxMeineDateien.txt

   :set ignorecase

/beispiel

-----------

oder grep -i  beispiel xxMeineDateien.txt

Mit UNIX LINUX kann man alles finden

Keine passende Antwort gefunden?

Fragen Sie die Community