Bonjour,

Ayant à traiter de gros fichiers csv, pour supprimer les lignes d'un fichier se trouvant dans un autre, j'ai choisis de le faire via MySQL avec load data infile puis outfile pour récupérer un fichier csv propre.

Je compte utiliser vbs pour automatiser tout ça.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Const PathMDB = "C:\Users\Guillaume\Desktop\OPH\CSV"
Const cmdLine = "C:\mysql.exe < C:\oph.sql"
 
Dim fso, fichier, MonFic, WshShell
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
 
For Each fichier In fso.GetFolder(PathMDB).Files	
	Set MonFic = fso.OpenTextFile("C:\oph.sql", 2, True)
	MonFic.write("USE test; ")
	MonFic.write("TRUNCATE f1; ")
	Set MonFic = nothing
 
	WshShell.Run cmdLine, 1, True
Next
 
Set fso = nothing
Set WshShell = Nothing
(j'ai tronqué la commande sql pour faire simple)

Je n'arrive pas à faire marcher le Run correctement avec les paramètres.
Mysql est bien lancé mais j'ai une erreur sur le WshShell.Run, à cause des paramètres apparemment.

Quelqu'un aurait une solution à mon problème ?

Merci