Essayer de trouver des fichiers de certains motifs dans un répertoire et ses sous-répertoires. J'ai essayé:
C:\test\workspace>dir *.*.r[0-9]* /s /b File Not Found
Dans l'espoir de trouver des fichiers comme
abc.txt.r12222 tjy.java.r9994
Lorsqu'un numéro est ajouté après la lettre r, effectuée par SVN.
Qu'est-ce que je fais mal?
Je viens de répondre à cela sur Stack Overflow il y a quelques jours. https://stackoverflow.com/questions/15648679/find-text-string-or-part-of-text-with-dot-in-grepwin/15648872#15648872
Dans votre cas, il ressemblerait à:
dir * /s/b | findstr \.r[0-9]+$
Mettre à jour
Le * dans l'un des autres exemples ".r [0-9] * $" trouve également des enregistrements qui finissent dans 'r' puisque le * quantificateur signifie 0 ou plus.
Ma suggestion pour vous est de le faire avec grep
– un utilitaire pour les systèmes UNIX qui a été porté à Windows et peut correspondre à des lignes à l'aide d'expressions régulières.
grep
est inclus avec le paquet MSYS de MinGW, l'installateur peut être trouvé ici . (Installez uniquement MSYS)
Ensuite, vous devrez ajouter des outils MSYS à votre variable PATH, le répertoire dfeult pour MSYS est C:\MinGW\msys\1.0\bin
Enfin, vous pouvez faire votre serach avec cette commande:
ls -a | grep ^.+\..+\.r[0-9]+$
… ce qui signifie: "obtenir la sortie de ls -a
(liste de fichiers incluant les fichiers cachés) et passer à grep
, correspondre les lignes qui ressemblent .r [0-9] * (avec au moins un caractère symbolisé par chaque astérisque ) ".
Vous pouvez essayer ceci:
dir /a| findstr .r[0-9]*$
Pour obtenir de l'aide, tapez findstr /?
.