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 211
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 4
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 211
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
Rejoignez-nous