Le Script de commandes de Programmation — Comment permettre à un utilisateur de sélectionner un fichier par un nombre à partir d'une liste de fichiers dans un dossier?
J'ai un dossier avec des fichiers. Je suis à essayer de comprendre comment effectuer les opérations suivantes:
Afficher une liste des fichiers avec des nombres à côté de la sélection:
01 - FileA.pdf
02 - FileB.pdf
03 - FileC.pdf
...
Ensuite, demandez à l'utilisateur de sélectionner le fichier qu'il souhaite utiliser en tapant le numéro correspondant. Je n'ai aucune idée où commencer avec celui-ci.
OriginalL'auteur m-y | 2012-01-18
Vous devez vous connecter pour publier un commentaire.
Le lot suivant de script devrait faire ce que vous voulez, l'explication ci-dessous:
Tout d'abord ce script utilise quelque chose comme un tableau pour stocker les noms de fichier. Ce tableau est rempli dans le
FOR
en boucle. Le corps de la boucle est exécuté une fois pour chaque nom de fichier trouvé dans le répertoire courant.Le tableau est en fait constitué d'un ensemble de variables, tous commençant par
file
et avec un numéro ajouté (commefile1
,file2
. Le numéro est stocké dans la variableindex
et est incrémenté à chaque itération de boucle. Dans le corps de la boucle que le numéro et le nom de fichier correspondant sont également impriméDans la prochaine partie de la
SET /P
commande demande à l'utilisateur d'entrer un nombre qui est ensuite stocké dans la variableselection
. La deuxièmeSET
de commande et le suivantIF
sont utilisés pour vérifier si le numéro entré donnera un tableau valide index de contrôle pour unfileX
variable.Enfin la
RESOLVE
sous-routine est utilisé pour copier le contenu de la variable formée parfile
+ le numéro entré dansselection
à une variable nomméefile_name
qui peuvent ensuite être utilisés pour un traitement ultérieur.Espère que donne quelques conseils.
FOR %%f IN (*.*) DO (
Après:FOR /F %%f IN ('dir /b /ad') DO (
ne fonctionne pas si vous avez une virgule dans le nom de fichier
OriginalL'auteur Frank Bollack