Créer des fichiers texte en leur donnant le nom de fichier existants

Résolu
cs_fraise2
Messages postés
6
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
28 mars 2012
- 15 nov. 2011 à 17:53
cs_fraise2
Messages postés
6
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
28 mars 2012
- 19 nov. 2011 à 00:27
Bonjour,

Imaginons que mon dossier C:\Toto contiennent les fichers AA.doc, BB.rar et CC.avi. J'aimerais qu'un script vbs me crée dans le dossier D:\Toto_2 les fichiers vides AA.TXT, BB.TXT et CC.TXT. Est-ce possible ?

8 réponses

Utilisateur anonyme
18 nov. 2011 à 21:21
Bonjour Fraise,

Au lieu de faire:
for each objFichier in objDossier.Files
    monTbl=split(objFichier.Name,".")
    Fichiers_A=monTbl(0)
    Fichiers_B=monTbl(1)
    if Fichiers_B= "rar" then
       Fichiers_A=Fichiers_A & ".txt"
       objFSO.CreateTextFile (Rep2 & Fichiers_A)
    end if
next 


Tu fais:
for each objFichier in objDossier.Files
    monTbl=split(objFichier.Name,".")
    Fichiers_A=monTbl(0)
    Fichiers_B=monTbl(1)
    
    Fichiers_A=Fichiers_A & ".txt"
    objFSO.CreateTextFile (Rep2 & Fichiers_A)
next 


A tester...

Cordialement

CF2i - Guadeloupe
Ingénierie Informatique
3
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
15 nov. 2011 à 18:11
Bonjour,
Quel est le problème ?

Et pourqupoi un script VBS alors que VB6 fait tout cela parfaitement
La fonction Dir te permet de lire le contenu d'un répertoire
La fonction MkDir te permet de créer un répertoire
Le seul fait d'ouvrir un fichier "For Output" avec la méthode open et de le refermer crée un fichier vide
Ouvre ton aide VB6 sur chacun des mots que j'ai mis en rouge.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ehjoe
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
6
15 nov. 2011 à 21:23
Bonjour,

Ce que tu demandes est simple mais : tu programmes dans quel langage ???

Cordialement, Joe.
0
cs_fraise2
Messages postés
6
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
28 mars 2012

16 nov. 2011 à 00:07
Merci pour ces réponses rapides !

Je ne suis vraiment pas programmeur. Je suis enseignant, je fais travailler mes élèves sur l'ordinateur le plus possible et je tente de me débrouiller pour arriver à produire des scripts pour diverses tâches me simplifiant la vie. Je commence à bien me débrouiller en batch, je tente d'apprivoiser le vbs.

Voilà. Je n'ai pas de début de script, j'espère qu'on va m'aider.

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
16 nov. 2011 à 08:07
Sous VBS, utilise FileSystemObject (FSO)
après lecture de ces deux liens :
http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/filesfolders/folders/
et
http://www.commentcamarche.net/contents/vbscript/vbs-fso.php3
FSO ne devrait plus avoir le moindre secret pour toi !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_fraise2
Messages postés
6
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
28 mars 2012

16 nov. 2011 à 13:07
Grand merci, je m'y mets aussitôt.
0
cs_fraise2
Messages postés
6
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
28 mars 2012

18 nov. 2011 à 21:05
Bonjour à nouveau,

Voilà, j'ai obtenu ceci :

------------------------------------------------------------------
Dim monTbl, Fichiers_A, Fichiers_B, Rep1, Rep2, objFSO, objFSOText
set objFSO = CreateObject("Scripting.FileSystemObject")

Rep1="./"
Rep2="C:\Toto"
set objDossier=objFSO.GetFolder(Rep1)

for each objFichier in objDossier.Files

monTbl=split(objFichier.Name,".")
Fichiers_A=monTbl(0)
Fichiers_B=monTbl(1)
if Fichiers_B= "rar" then
Fichiers_A=Fichiers_A & ".txt"
objFSO.CreateTextFile (Rep2 & Fichiers_A)

end if
next

------------------------------------------------------------------

Mais je n'ai pas compris comment remplacer l'extension .rar par toutes extensions (genre *.*) dans cette ligne : [if Fichiers_B= "rar" then].

Quelque chose me dit que c'est super simple pourtant...
0
cs_fraise2
Messages postés
6
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
28 mars 2012

19 nov. 2011 à 00:27
Ben oui, c'est exactement ça. Suffisait de retirer cette ligne inutile.

Merci beaucoup, j'apprécie votre aide.
0