Je travaille dans l'explorateur de fichiers de Windows.
Je dois écrire un petit programme qui réparti les fichiers Word présent et
sélectionnés dans le directory courant dans différents directory en fonction
du nom de ces fichiers.
J'ai deux questions à vous poser:
1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le
directory courant?
Je suis débutant dans le monde Windows.
Merci d'avance pour votre réponse, Alain.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Méta-MCI
Bonjour !
AMHA, on peut le faire en VBS... comme on peut le faire en batch (ou en PowerShell, si tu habites dans le nord, ou en Belgique). Donne-nous quelques précisions sur la forme de noms de fichiers, qu'on puisses faire des suggestions plus pragmatiques.
@+
MCI
Bonjour !
AMHA, on peut le faire en VBS... comme on peut le faire en batch (ou en
PowerShell, si tu habites dans le nord, ou en Belgique).
Donne-nous quelques précisions sur la forme de noms de fichiers, qu'on
puisses faire des suggestions plus pragmatiques.
AMHA, on peut le faire en VBS... comme on peut le faire en batch (ou en PowerShell, si tu habites dans le nord, ou en Belgique). Donne-nous quelques précisions sur la forme de noms de fichiers, qu'on puisses faire des suggestions plus pragmatiques.
@+
MCI
Jacques Barathon [MS]
"Alain" wrote in message news:
Je travaille dans l'explorateur de fichiers de Windows. Je dois écrire un petit programme qui réparti les fichiers Word présent et sélectionnés dans le directory courant dans différents directory en fonction du nom de ces fichiers. J'ai deux questions à vous poser: 1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
D'après ce que tu décris, oui. Un simple batch suffirait même si j'en crois la description de ton besoin (mais bon, ça dépend de la complexité de l'analyse des noms de fichiers).
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le directory courant?
L'approche générale consistera à ajouter une option dans le menu contextuel de l'Explorateur pour pouvoir exécuter ton script. Le choix réside dans le type d'objet auquel ajouter cette option. Plusieurs méthodes sont possibles, selon le scénario d'utilisation préféré:
Scénario 1 - - Je sélectionne plusieurs fichiers d'un même type (documents Word dans ton cas) - Je fais un clic-droit sur ces fichiers, je choisis l'option "Dispatch"
Pour ce scénario, la commande "Dispatch" doit être ajoutée au menu contextuel de l'objet Word.Document.8. Depuis une invite de commande on pourra taper:
Cette commande va ajouter une clé Dispatch dans la clé Shell de l'objet concerné (présent dans HKEY_CLASSES_ROOT). Cette clé Dispatch apparaîtra sous ce même nom dans le menu contextuel de l'objet. Si on sélectionne "Dispatch" sur un document Word, la commande c:scriptsdispatch.vbs "%1" sera exécutée. "%1" correspondra au nom du fichier sélectionné ('' est utilisé comme caractère d'échappement pour ajouter des guillemets dans le texte). Les guillemets sont importants pour couvrir les cas où le nom contient des espaces. Si le chemin d'accès à dispatch.vbs contient aussi des espaces, il faudra également l'entourer de guillemets, comme par exemple:
Si plusieurs fichiers sont sélectionnés, la commande sera appelée plusieurs fois, en recevant les noms de fichiers un à un. Il faut donc construire ton script sur le principe qu'il traite un seul fichier.
Scénario 2 - - Je sélectionne le répertoire racine qui contient les documents en question (y compris dans des sous-répertoires) - Je fais un clic-droit sur ce dossier, je choisis l'option "Dispatch"
Le principe de base est identique (modification de la base de registre pour ajouter la commande "Dispatch" au menu contextuel). Ce qui va changer, c'est d'une part le nom de l'objet qu'on modifie, et d'autre part le type de traitement réalisé dans le script dispatch.vbs:
Là, "%1" correspond au nom du répertoire sélectionné. Le script dispatch.vbs devra donc consister à parcourir tous les fichiers contenus dans ce répertoire et ses sous-répertoires pour y appliquer les traitements requis.
A toi de voir ce qui te convient le mieux.
Jacques
"Alain" <Alain@discussions.microsoft.com> wrote in message
news:E3C94B44-7AC5-43D0-95D0-E261F9414431@microsoft.com...
Je travaille dans l'explorateur de fichiers de Windows.
Je dois écrire un petit programme qui réparti les fichiers Word présent et
sélectionnés dans le directory courant dans différents directory en
fonction
du nom de ces fichiers.
J'ai deux questions à vous poser:
1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
D'après ce que tu décris, oui. Un simple batch suffirait même si j'en crois
la description de ton besoin (mais bon, ça dépend de la complexité de
l'analyse des noms de fichiers).
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le
directory courant?
L'approche générale consistera à ajouter une option dans le menu contextuel
de l'Explorateur pour pouvoir exécuter ton script. Le choix réside dans le
type d'objet auquel ajouter cette option. Plusieurs méthodes sont possibles,
selon le scénario d'utilisation préféré:
Scénario 1 -
- Je sélectionne plusieurs fichiers d'un même type (documents Word dans ton
cas)
- Je fais un clic-droit sur ces fichiers, je choisis l'option "Dispatch"
Pour ce scénario, la commande "Dispatch" doit être ajoutée au menu
contextuel de l'objet Word.Document.8. Depuis une invite de commande on
pourra taper:
Cette commande va ajouter une clé Dispatch dans la clé Shell de l'objet
concerné (présent dans HKEY_CLASSES_ROOT). Cette clé Dispatch apparaîtra
sous ce même nom dans le menu contextuel de l'objet.
Si on sélectionne "Dispatch" sur un document Word, la commande
c:scriptsdispatch.vbs "%1" sera exécutée. "%1" correspondra au nom du
fichier sélectionné ('' est utilisé comme caractère d'échappement pour
ajouter des guillemets dans le texte). Les guillemets sont importants pour
couvrir les cas où le nom contient des espaces. Si le chemin d'accès à
dispatch.vbs contient aussi des espaces, il faudra également l'entourer de
guillemets, comme par exemple:
Si plusieurs fichiers sont sélectionnés, la commande sera appelée plusieurs
fois, en recevant les noms de fichiers un à un. Il faut donc construire ton
script sur le principe qu'il traite un seul fichier.
Scénario 2 -
- Je sélectionne le répertoire racine qui contient les documents en question
(y compris dans des sous-répertoires)
- Je fais un clic-droit sur ce dossier, je choisis l'option "Dispatch"
Le principe de base est identique (modification de la base de registre pour
ajouter la commande "Dispatch" au menu contextuel). Ce qui va changer, c'est
d'une part le nom de l'objet qu'on modifie, et d'autre part le type de
traitement réalisé dans le script dispatch.vbs:
Là, "%1" correspond au nom du répertoire sélectionné. Le script dispatch.vbs
devra donc consister à parcourir tous les fichiers contenus dans ce
répertoire et ses sous-répertoires pour y appliquer les traitements requis.
Je travaille dans l'explorateur de fichiers de Windows. Je dois écrire un petit programme qui réparti les fichiers Word présent et sélectionnés dans le directory courant dans différents directory en fonction du nom de ces fichiers. J'ai deux questions à vous poser: 1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
D'après ce que tu décris, oui. Un simple batch suffirait même si j'en crois la description de ton besoin (mais bon, ça dépend de la complexité de l'analyse des noms de fichiers).
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le directory courant?
L'approche générale consistera à ajouter une option dans le menu contextuel de l'Explorateur pour pouvoir exécuter ton script. Le choix réside dans le type d'objet auquel ajouter cette option. Plusieurs méthodes sont possibles, selon le scénario d'utilisation préféré:
Scénario 1 - - Je sélectionne plusieurs fichiers d'un même type (documents Word dans ton cas) - Je fais un clic-droit sur ces fichiers, je choisis l'option "Dispatch"
Pour ce scénario, la commande "Dispatch" doit être ajoutée au menu contextuel de l'objet Word.Document.8. Depuis une invite de commande on pourra taper:
Cette commande va ajouter une clé Dispatch dans la clé Shell de l'objet concerné (présent dans HKEY_CLASSES_ROOT). Cette clé Dispatch apparaîtra sous ce même nom dans le menu contextuel de l'objet. Si on sélectionne "Dispatch" sur un document Word, la commande c:scriptsdispatch.vbs "%1" sera exécutée. "%1" correspondra au nom du fichier sélectionné ('' est utilisé comme caractère d'échappement pour ajouter des guillemets dans le texte). Les guillemets sont importants pour couvrir les cas où le nom contient des espaces. Si le chemin d'accès à dispatch.vbs contient aussi des espaces, il faudra également l'entourer de guillemets, comme par exemple:
Si plusieurs fichiers sont sélectionnés, la commande sera appelée plusieurs fois, en recevant les noms de fichiers un à un. Il faut donc construire ton script sur le principe qu'il traite un seul fichier.
Scénario 2 - - Je sélectionne le répertoire racine qui contient les documents en question (y compris dans des sous-répertoires) - Je fais un clic-droit sur ce dossier, je choisis l'option "Dispatch"
Le principe de base est identique (modification de la base de registre pour ajouter la commande "Dispatch" au menu contextuel). Ce qui va changer, c'est d'une part le nom de l'objet qu'on modifie, et d'autre part le type de traitement réalisé dans le script dispatch.vbs:
Là, "%1" correspond au nom du répertoire sélectionné. Le script dispatch.vbs devra donc consister à parcourir tous les fichiers contenus dans ce répertoire et ses sous-répertoires pour y appliquer les traitements requis.
A toi de voir ce qui te convient le mieux.
Jacques
Alain
"Alain" wrote in message news:
Je travaille dans l'explorateur de fichiers de Windows. Je dois écrire un petit programme qui réparti les fichiers Word présent et sélectionnés dans le directory courant dans différents directory en fonction du nom de ces fichiers. J'ai deux questions à vous poser: 1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
D'après ce que tu décris, oui. Un simple batch suffirait même si j'en crois la description de ton besoin (mais bon, ça dépend de la complexité de l'analyse des noms de fichiers).
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le directory courant?
L'approche générale consistera à ajouter une option dans le menu contextuel de l'Explorateur pour pouvoir exécuter ton script. Le choix réside dans le type d'objet auquel ajouter cette option. Plusieurs méthodes sont possibles, selon le scénario d'utilisation préféré:
Scénario 1 - - Je sélectionne plusieurs fichiers d'un même type (documents Word dans ton cas) - Je fais un clic-droit sur ces fichiers, je choisis l'option "Dispatch"
Pour ce scénario, la commande "Dispatch" doit être ajoutée au menu contextuel de l'objet Word.Document.8. Depuis une invite de commande on pourra taper:
Cette commande va ajouter une clé Dispatch dans la clé Shell de l'objet concerné (présent dans HKEY_CLASSES_ROOT). Cette clé Dispatch apparaîtra sous ce même nom dans le menu contextuel de l'objet. Si on sélectionne "Dispatch" sur un document Word, la commande c:scriptsdispatch.vbs "%1" sera exécutée. "%1" correspondra au nom du fichier sélectionné ('' est utilisé comme caractère d'échappement pour ajouter des guillemets dans le texte). Les guillemets sont importants pour couvrir les cas où le nom contient des espaces. Si le chemin d'accès à dispatch.vbs contient aussi des espaces, il faudra également l'entourer de guillemets, comme par exemple:
Si plusieurs fichiers sont sélectionnés, la commande sera appelée plusieurs fois, en recevant les noms de fichiers un à un. Il faut donc construire ton script sur le principe qu'il traite un seul fichier.
Scénario 2 - - Je sélectionne le répertoire racine qui contient les documents en question (y compris dans des sous-répertoires) - Je fais un clic-droit sur ce dossier, je choisis l'option "Dispatch"
Le principe de base est identique (modification de la base de registre pour ajouter la commande "Dispatch" au menu contextuel). Ce qui va changer, c'est d'une part le nom de l'objet qu'on modifie, et d'autre part le type de traitement réalisé dans le script dispatch.vbs:
Là, "%1" correspond au nom du répertoire sélectionné. Le script dispatch.vbs devra donc consister à parcourir tous les fichiers contenus dans ce répertoire et ses sous-répertoires pour y appliquer les traitements requis.
A toi de voir ce qui te convient le mieux.
Jacques
Merci beaucoup pour votre réponse. Alain.
"Alain" <Alain@discussions.microsoft.com> wrote in message
news:E3C94B44-7AC5-43D0-95D0-E261F9414431@microsoft.com...
Je travaille dans l'explorateur de fichiers de Windows.
Je dois écrire un petit programme qui réparti les fichiers Word présent et
sélectionnés dans le directory courant dans différents directory en
fonction
du nom de ces fichiers.
J'ai deux questions à vous poser:
1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
D'après ce que tu décris, oui. Un simple batch suffirait même si j'en crois
la description de ton besoin (mais bon, ça dépend de la complexité de
l'analyse des noms de fichiers).
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le
directory courant?
L'approche générale consistera à ajouter une option dans le menu contextuel
de l'Explorateur pour pouvoir exécuter ton script. Le choix réside dans le
type d'objet auquel ajouter cette option. Plusieurs méthodes sont possibles,
selon le scénario d'utilisation préféré:
Scénario 1 -
- Je sélectionne plusieurs fichiers d'un même type (documents Word dans ton
cas)
- Je fais un clic-droit sur ces fichiers, je choisis l'option "Dispatch"
Pour ce scénario, la commande "Dispatch" doit être ajoutée au menu
contextuel de l'objet Word.Document.8. Depuis une invite de commande on
pourra taper:
Cette commande va ajouter une clé Dispatch dans la clé Shell de l'objet
concerné (présent dans HKEY_CLASSES_ROOT). Cette clé Dispatch apparaîtra
sous ce même nom dans le menu contextuel de l'objet.
Si on sélectionne "Dispatch" sur un document Word, la commande
c:scriptsdispatch.vbs "%1" sera exécutée. "%1" correspondra au nom du
fichier sélectionné ('' est utilisé comme caractère d'échappement pour
ajouter des guillemets dans le texte). Les guillemets sont importants pour
couvrir les cas où le nom contient des espaces. Si le chemin d'accès à
dispatch.vbs contient aussi des espaces, il faudra également l'entourer de
guillemets, comme par exemple:
Si plusieurs fichiers sont sélectionnés, la commande sera appelée plusieurs
fois, en recevant les noms de fichiers un à un. Il faut donc construire ton
script sur le principe qu'il traite un seul fichier.
Scénario 2 -
- Je sélectionne le répertoire racine qui contient les documents en question
(y compris dans des sous-répertoires)
- Je fais un clic-droit sur ce dossier, je choisis l'option "Dispatch"
Le principe de base est identique (modification de la base de registre pour
ajouter la commande "Dispatch" au menu contextuel). Ce qui va changer, c'est
d'une part le nom de l'objet qu'on modifie, et d'autre part le type de
traitement réalisé dans le script dispatch.vbs:
Là, "%1" correspond au nom du répertoire sélectionné. Le script dispatch.vbs
devra donc consister à parcourir tous les fichiers contenus dans ce
répertoire et ses sous-répertoires pour y appliquer les traitements requis.
Je travaille dans l'explorateur de fichiers de Windows. Je dois écrire un petit programme qui réparti les fichiers Word présent et sélectionnés dans le directory courant dans différents directory en fonction du nom de ces fichiers. J'ai deux questions à vous poser: 1- VBScript est-il adapté pour ce type de tâche (je pense que oui)?
D'après ce que tu décris, oui. Un simple batch suffirait même si j'en crois la description de ton besoin (mais bon, ça dépend de la complexité de l'analyse des noms de fichiers).
2- comment détecter les fichiers sélectionnés par l'utilisateur dans le directory courant?
L'approche générale consistera à ajouter une option dans le menu contextuel de l'Explorateur pour pouvoir exécuter ton script. Le choix réside dans le type d'objet auquel ajouter cette option. Plusieurs méthodes sont possibles, selon le scénario d'utilisation préféré:
Scénario 1 - - Je sélectionne plusieurs fichiers d'un même type (documents Word dans ton cas) - Je fais un clic-droit sur ces fichiers, je choisis l'option "Dispatch"
Pour ce scénario, la commande "Dispatch" doit être ajoutée au menu contextuel de l'objet Word.Document.8. Depuis une invite de commande on pourra taper:
Cette commande va ajouter une clé Dispatch dans la clé Shell de l'objet concerné (présent dans HKEY_CLASSES_ROOT). Cette clé Dispatch apparaîtra sous ce même nom dans le menu contextuel de l'objet. Si on sélectionne "Dispatch" sur un document Word, la commande c:scriptsdispatch.vbs "%1" sera exécutée. "%1" correspondra au nom du fichier sélectionné ('' est utilisé comme caractère d'échappement pour ajouter des guillemets dans le texte). Les guillemets sont importants pour couvrir les cas où le nom contient des espaces. Si le chemin d'accès à dispatch.vbs contient aussi des espaces, il faudra également l'entourer de guillemets, comme par exemple:
Si plusieurs fichiers sont sélectionnés, la commande sera appelée plusieurs fois, en recevant les noms de fichiers un à un. Il faut donc construire ton script sur le principe qu'il traite un seul fichier.
Scénario 2 - - Je sélectionne le répertoire racine qui contient les documents en question (y compris dans des sous-répertoires) - Je fais un clic-droit sur ce dossier, je choisis l'option "Dispatch"
Le principe de base est identique (modification de la base de registre pour ajouter la commande "Dispatch" au menu contextuel). Ce qui va changer, c'est d'une part le nom de l'objet qu'on modifie, et d'autre part le type de traitement réalisé dans le script dispatch.vbs:
Là, "%1" correspond au nom du répertoire sélectionné. Le script dispatch.vbs devra donc consister à parcourir tous les fichiers contenus dans ce répertoire et ses sous-répertoires pour y appliquer les traitements requis.