1 votes

VBS ou batch pour identifier les dossiers contenant plus de deux mots

J'ai une série de ~10 000 dossiers, et la plupart d'entre eux ont deux mots (un prénom et un nom) qui doivent être échangés. C'est la partie facile. La partie qui me pose problème est l'identification programmatique des noms de dossiers qui ont plus de deux mots, car le positionnement du nom de famille doit être traité différemment. Des suggestions ? Je vous remercie.

2voto

dbenham Points 10555

Vous pouvez le faire assez facilement avec JREN.BAT - un utilitaire de renommage par expression régulière . JREN.BAT est un pur script (hybride batch/JScript) qui fonctionne nativement sur n'importe quelle machine Windows à partir de XP - aucun fichier exe tiers n'est nécessaire. Une documentation complète est disponible en ligne de commande via jren /? ou jren /?? pour l'aide paginée.

Vous ne dites pas exactement comment vous voulez gérer les trois noms, je vais donc vous donner quelques exemples. Pour chaque exemple, j'ajoute l'élément /T option de mode test qui énumère simplement les modifications qui seraient apportées. Supprimer l'option /T et le renommage aura lieu. Ces exemples ne renommeront que les dossiers contenant exactement 2 ou 3 "mots".

A B ==> B A または A B C ==> C A B

jren "^(\S+)\s*(\s\S+)?\s+(\S+)$" "$3 $1$2" /d /t

A B ==> B A または A B C ==> A C B

jren "^(\S+\s)?\s*(\S+)\s+(\S+)$" "$1$3 $2" /d /t

Si le format de trois noms est totalement différent de celui de deux noms, vous pouvez soit exécuter deux commandes distinctes, l'une pour deux noms et l'autre pour trois, soit ajouter la commande /J et de mettre du JScript fourni par l'utilisateur dans l'argument de remplacement pour obtenir des résultats arbitrairement complexes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X