Avancées de Windows fichier correspondant
Je suis en train d'utiliser un fichier de commandes pour la liste des fichiers dans un répertoire tel que seul le nom du fichier (sans extension) ne correspond qu'à des systèmes numériques, par exemple, quelque chose comme 125646543.pdf, ce qui serait facile à exprimer qu'une regex [\d]+\.pdf mais bien sûr je n'ai pas de telles subtilités, avec Windows uniquement des mécanismes... je suis en train de le faire avec Windows uniquement mécanismes puisque je ne peux pas installer quoi que ce soit d'autre sur les serveurs cible, et il doit être pris en charge au moins sur Windows Server 2000 et 2003.
Je vais prendre une solution spécifique pour cet exemple particulier, ou quelque chose de plus générique qui a quelque chose de plus avancé que juste ye olde * et ?
J'ai déjà essayé de travailler avec set /a pour ajouter un numéro à un nom de fichier, mais depuis il interprète les chaînes de caractères comme des variables d'environnement et 0 s'ils ne sont pas définis, cela ne fonctionne pas bien. J'ai aussi essayé d'utiliser si %%~na GTR 0, mais qui correspond à du texte les noms de fichier du rapport.pdf, puisqu'il semble faire une comparaison de chaînes de caractères dans ce cas.
OriginalL'auteur HerbCSO | 2009-07-26
Vous devez vous connecter pour publier un commentaire.
findstr
peut faire regexes sous Windows bien. Je voudrais essayer:La
"dir /b"
vous donne les noms de fichiers seulement, un par ligne. L'expression régulière correspond à un ou plusieurs chiffres suivis par une période de suivi de votre extension de votre choix. Pour l'extension, vous pouvez faire:Évidemment, si il y a d'autres cas plus complexes, vous pouvez ajuster la regex pour répondre. Il n'a pas la pleine puissance d'UNIX regexes mais il est assez bon.
Le fichier de commande suivant montre comment vous pouvez traiter chaque fichier pdf dans le répertoire en cours qui répond à vos "tout-numérique" exigence.
Le site http://www.robvanderwoude.com/batchfiles.php est une très bonne ressource pour fichier CMD magie (et bien d'autres choses).
/i
interrupteur pour effectuer une casse de recherche:findstr /i "^[0-9][0-9]*\.pdf$"
.Exactement ce que je cherchais. Ne peux pas croire que j'ai manqué findstr! Merci beaucoup.
OriginalL'auteur paxdiablo
windows vous ai fourni avec une amélioration de l'outil de programmation depuis win98. Son appelé vbscript.
pour plus d'informations sur vbscript, lire la manuel
ils sont aussi sécurisés que les personnes qui les utilisent. avec des contrôles appropriés, c'est à dire permettant aux utilisateurs autorisés les autorisations correctes, à l'aide de vbscript a pas de différence, que l'utilisation du lot.
Je suis totalement d'accord, mais je ne fais pas les politiques de sécurité et les gens qui n'en voient pas nécessairement de la même manière. ;]
OriginalL'auteur ghostdog74