![So finden Sie unter Windows problemlos Dateien ohne Erweiterung](https://rvso.com/image/1558051/So%20finden%20Sie%20unter%20Windows%20problemlos%20Dateien%20ohne%20Erweiterung.png)
Auf meiner Festplatte befinden sich einige Dateien ohne jegliche Erweiterung. Sie manuell zu finden, ist sehr schwierig. Mir gefällt die Tatsache nicht, dass ich meine Maus früher ersetzen müsste, da die Hardware zwar nicht sehr stark, aber dennoch stark beschädigt ist, weil ich ständig klicke und scrolle und versuche, diese Dateien zu finden, da es sich um ein paar Hundert von Tausenden von Dateien in einem einzigen Ordner handelt.
Kennt hier jemand einen cmd
oder PowerShell
Befehl oder eine erweiterte Abfragesyntax für die Windows Explorer-Suche, um diese Aufgabe zu vereinfachen?
Antwort1
Suchen von Dateien ohne Dateierweiterungen unter Windows
Windows Explorer – Erweiterte Abfragesyntax
GemäßPetSerAlhier sind einige derErweiterte Abfragesyntax für den Datei-ExplorerMethode, aber lesen Sie weiter unten für die entsprechendeBefehlszeileUndBatch-SkriptMethoden für diese Aufgabe.
Rekursive Suche
kind:= -folder type:= -[] extension:= []
Nicht rekursiv
Wählen Sie dazu einfach das "Aktueller Ordner" Option über die GUI "SuchenRegisterkarte "
oder
kind:= -folder type:= -[] extension:= [] folder:"C:\folder\path"
Sie können einfür /fSchleife, die die Ausgabe einesdirBefehl mit den /B
Parametern /A-D
und und verwenden Sie dann einige bedingteWennLogik, um nur Dateien ohne Erweiterungen auszugeben, indem Ersetzungen für die iterierten Dateien im angegebenen Verzeichnis verwendet werden.
Befehlszeile
Notiz: Dies setzt voraus, dass das Verzeichnis, in dem Sie sich in der Befehlszeile befinden, das Verzeichnis ist, das Sie durchsuchen müssen, um die Dateien ohne Erweiterungen anzuzeigen.
FOR /F "TOKENS=*" %A IN ('dir /B * /A-D') DO IF /I [%~nxA]==[%~nA] ECHO %~A
Batch-Skript
Notiz: Dies ist ein Batch-Skript, bei dem Sie den SET Src=
Wert auf das Verzeichnis festlegen, in dem Sie suchen müssen, um Dateien ohne Erweiterungen anzuzeigen.
@ECHO ON
SET Src=C:\folder\path
FOR /F "TOKENS=*" %%A IN ('DIR /B "%Src%\*" /A-D') DO IF /I [%%~nxA]==[%%~nA] ECHO %%~A
PAUSE
EXIT
Weitere Ressourcen
Antwort2
Für die PowerShell-Lösung:
Get-ChildItem -Path $Path -Recurse -File -Filter '*.'
Oder:
Get-ChildItem -Path $Path -Recurse -File | Where-Object Extension -eq ''
Beachten Sie, dass der -File
Parameter PowerShell v3+ erfordert.
Antwort3
Geben Sie in der Eingabeaufforderung einfach Folgendes ein *.
:
C:\Verzeichnisname> dir 24.08.2018 03:33 Uhr . 24.08.2018 03:33 Uhr .. 24.08.2018 03:33 Uhr 16 Uhr 24.08.2018 03:33 Uhr 18 v. Chr. 24.08.2018 03:33 Uhr 20 def 3 Datei(en) 54 Bytes C:\Verzeichnisname> Verzeichnis *. 24.08.2018 03:33 Uhr . 24.08.2018 03:33 Uhr .. 24.08.2018 03:33 Uhr 16 Uhr 1 Datei(en) 16 Bytes C:\Verzeichnisname>
Denken Sie daran, dass die Windows-Eingabeaufforderung kein Unix ist. In Unix-Dateinamen ist ein Punkt (.
) ist ein ganz normales Zeichen (mit Ausnahme der Tatsache, dass Dateinamen, die mit einem Punkt beginnen, ausgeblendet werden). Unter Unix *e*
bedeutet alle Dateinamen, die ein enthalten e
, und *.*
bedeutet alle Dateinamen, die(ausdrücklich)enthalten eine.
.
Die Regeln für die Eingabeaufforderung sind komplizierter.
*
bedeutet alle Dateinamen (auch solche mit einer Erweiterung). Und *.*
bedeutet auch alle Dateinamen (auch solche, die keine.
). *.
Gemeint sind damit aber alle Dateinamen ohne Erweiterung.
Antwort4
ls | ? {$_.Extension -eq ''}
Dies verwendet die maximale Kurzschrift. Aber es ist eigentlich der gleiche Code wie @BaconBits. Ich bevorzuge Kurzschrift. Es ist für Anfänger schwieriger zu lesen, aber ausdrucksvoller und prägnanter