Question : VBscript pour rechercher des subfolders et pour copier des dossiers

Salut All

I AM espérant quelqu'un peut m'aider avec ceci. J'ai écrit le manuscrit joint avec l'aide ltlbearand3 pour lire un dossier de xml et pour rechercher tous les graphiques et puis pour les copier à partir du répertoire source à un nouvel annuaire de destination. Ceci fonctionnait très bien jusqu'à ce qu'ils aient décidé de changer nous reçoivent nos graphiques. Les dossiers seront toujours un nom numérique contenant 9 nombres, ainsi ce qui se produit est que le dossier laisse l'appel il 123456789 sera copié plus d'au 89 de c:\graphics\123456\1234567. Maintenant tous les dossiers qui commencent par 123456 seront copiés dans la chemise c:\graphics\123456\ *. Quand obtenons-nous des autres dossiers laissons-nous l'appel il 122222341 qu'il créera une autre chemise secondaire dans c:\graphics\ appelé c:\graphics\1222222\ et le mettre dans there.

How I pourra-t-il rechercher les dossiers dans le répertoire source (c:\graphics\ * \ *) et puis le copier à l'annuaire de destination ? mercis à l'avance
du

Many class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
fso " de " codeSnippet826651 d'id= " de
Dim de class=, outfile, graphique, Elem
Faible strFromDir, strToDir, strGraphicList (), I
Placer le fso = le CreateObject (« Scripting.FileSystemObject »)
Placer l'objEmail = le CreateObject (« CDO.Message »)

Le '**** a placé votre **** de valeurs d'annuaire ici
strFromDir = « C:\graphics »
strToDir = « C:\newgraphics »
xmlDir = « c:\testnew\ »
i = 0

'**** Recherchant le dossier de XML using le **** de la corde RLLO
Placer le xmlDoc = le CreateObject (« Msxml2.DOMDocument »)
Placer l'objFolder = le fso.GetFolder (le xmlDir)
Placer les xmlFiles = l'objFolder.Files
	Pour le chaque xmlFiles dans objFolder.Files
		S'InStr (xmlFiles, « RLLO ») puis
		xml1Doc = xmlFiles.Name
		finir si
après

'**** Chargeant le **** de dossier de XML

xmlDoc.load (« C:\testnew\ » et xml1Doc)
message du msgbox xml1Doc 'pour s'assurer le le dossier correct de xml. Le besoin d'enlever 

Placer ElemList = xmlDoc.getElementsByTagName (la « annonce »)
'ElemList.Length te montrera combien de noeuds d'ANNONCE vous avez trouvés
 message du msgbox ElemList.Length 'pour s'assurer la quantité correcte de l'ANNONCE

 'Boucle par votre liste de noeud
Pour chaque Elem dans ElemList
	'Vérifier pour voir si ce noeud a un attribut appelé Graphic
	Sinon Elem.getAttribute (« graphique ») puis
		'S'assurer que la rangée est la bonne taille
		strGraphicList de conserve de Redim (i)
		
		'Si oui, assigner la valeur d'attributs à une rangée
		strGraphicList (i) = Elem.getAttribute (« graphique »)
		
		'Incrémenter le compteur
		i = I + 1
	Finir si
Après

'Boucle par la rangée 
Pour I = 0 à Ubound (strGraphicList) 
	'S'assurer que le dossier original existe dans la source
	Si fso.FileExists (strFromDir et « \ » et strGraphicList (i)) puis
		'A trouvé le dossier - pour copier à la destination
		strFromDir de fso.CopyFile et « \ » et strGraphicList (i), strToDir et « \ » 
	Finir si
Après
	'Message à annoncer que les dossiers si de copier plus de
	msgbox « tous les dossiers si de copier au-dessus de » 	
	
'Valider que tous les dossiers sortent dans la destination
Pour I = 0 à Ubound (strGraphicList)
	'S'assurer que le dossier original existe dans la source
	Sinon fso.FileExists (strToDir et « \ » et strGraphicList (i)) puis
		'Dossier non trouvé
		objEmail.From = « [email protected] »
		objEmail.To = « [email protected] »
		objEmail.Subject = « graphique » et strGraphicList (i) et « n'a pas été trouvé »
		objEmail.Textbody = « identification de graphique » et strGraphicList (i) et « n'a pas été trouvé » 
		_ d'objEmail.Configuration.Fields.Item
    (" http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
		_ d'objEmail.Configuration.Fields.Item
    (" http://schemas.microsoft.com/cdo/configuration/smtpserver ") = _
        « xxx.xxx.xxx.xxx » 
		_ d'objEmail.Configuration.Fields.Item
    (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
		objEmail.Configuration.Fields.Update
		objEmail.Send	
	Finissent si
Après
	'Vérifier pour voir si vous faites t'envoyer des email absents 
	msgbox « tous email de graphique de disparus ? »

'' Supprimant les graphiques dans la commande de source
'Pour I = 0 à Ubound (strGraphicList) 
'' S'assurer que le dossier original existe dans la source
'Si fso.FileExists (strFromDir et « \ » et strGraphicList (i)) puis
''A trouvé le dossier - supprimer le dossier de la source
'strFromDir de fso.DeleteFile et « \ » et strGraphicList (i)
'Finir si
'Après
	'Tous les graphiques dans le shoud d'entraînement de source soient supprimés 	
le 'msgbox « graphiques devrait être supprimé de la source »

Le 'email à envoyer pour faire l'HOMME connaître la recrue est prêt 
'objEmail.From = « [email protected] »
'objEmail.To = « [email protected] »
'objEmail.Subject = « recrue est prêt » 
'objEmail.Textbody = « recrue est prêt. Avoir un grand week-end » 
'_ d'objEmail.Configuration.Fields.Item
'(" http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
'_ d'objEmail.Configuration.Fields.Item
'(" http://schemas.microsoft.com/cdo/configuration/smtpserver ") = _
'« xxx.xxx.xxx.xxx » 
'_ d'objEmail.Configuration.Fields.Item
'(" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
'objEmail.Configuration.Fields.Update
'objEmail.Send

msgbox « fait »

WScript.Quit ()
class= de

Réponse : VBscript pour rechercher des subfolders et pour copier des dossiers

Si la réponse à ma question ci-dessus est oui, alors le changement raye 49-52 en votre manuscrit ci-dessus au ci-dessous, devrait travailler.

Il insère simplement une autre chemise dans l'endroit de source qui est les 6 premiers caractères du nom d'image.

La chemise de destination reste sans changement. Je suppose qu'elle va toujours à l'une chemise et aux chemises non secondaires ?
1 :
2 :
3 :
4 :
Si fso.FileExists (strFromDir et « \ « et mi (strGraphicList (i), 0.6) et » \ « et strGraphicList (i)) puis 
                'A trouvé le dossier - pour copier à la destination 
                strFromDir de fso.CopyFile et « \ « et mi (strGraphicList (i), 0.6) et » \ « et strGraphicList (i), strToDir et » \ «   
        Finir si
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us