J'essaie de supprimer tous les fichiers d'un répertoire Windows 7 avec des noms de fichiers contenant des crochets; (
et )
:
Utilisation de MinGW:
rm *(*)*
Je reçois une erreur:
sh: syntax error near unexpected token '('
Je suppose que c'est parce que le rm
La commande voit un crochet comme une sorte d’entrée spéciale. Que pourrais-je faire à la place?
rm '*(*)*'
Donne moirm: cannot lstat
* ( ) ': Aucun fichier ou répertoire de ce nom.
rm * (*) * `fonctionne (mais veut aussi supprimer les répertoires avec cette correspondance, mais c'est ce que l'original du PO veut aussi, donnant une ligne d'erreur).*(*)*
, mais OP veut travailler tout des dossiers contenant(
et)
. Essayez vous-même avec untouch 'a(b)c'
. ensuiterm '*(*)*'
ne fonctionne pas tout ces fichiers. Pas aussi bash sur Linux! lerm *\(*\)*
ne fonctionne à la fois sur Linux et mingw.Vous pouvez faire ce qui suit:
Pour tester je voudrais utiliser le
-print
argument en premier:Si vous voulez le faire dans tous les sous-répertoires, vous pouvez omettre le
-maxdepth 1
Si la
-delete
ne fonctionne pas, vous pouvez essayer:Modifier: Inclus le
-type f
faire cela uniquement sur les fichiers (et non sur les répertoires) comme dansrm
.la source