Hello à tous,
Depuis quelque temps j'utilise le script suivant, qui fonctionne bien sauf ...
grosso modo, il collecte du presse papier un nom (par exemple 12345).
Puis il ouvre un fichier .log (avec se nom 12345) dans un certain folder,
pour le transformer en fichier .txt dans un autre folder
Jusque là tout vas bien mais quand le nom dans le presse papier ne correspond à aucun fichier .log dans le folder : il me donne l'erreur Input past end of file. sur la ligne 31.
En fait il crée un fichier .txt avec ce nom érronnée à 0k. Et c'est la dessus qu'il se plante.
A ce que j'ai cru lire cela aurai à voir avec des fichier vide ? Effectivement quand je regarde dans le folder, un fichier .txt ce cré avec le nom fautif est avec 0k.
Pourriez-vous m'aider à inserer des lignes de codes pour y remédier ?
Par Exemple : quand fichier = 0K stop script. Je dis peut-être n'importe quoi.
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
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 strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk Where DriveType=2 And VolumeName='MERLIN'") For each objDisk in colDisks If objDisk.VolumeName = "MERLIN" then Merlindr = objDisk.Name Dim stFichierDest Dim stLigne1 Dim stLigne2 Dim st Dim tbLg Dim tb Dim i Dim FSO, File1, ParentFolderPath, FileName FileName = "FM_vbscript.vbs" Set FSO = CreateObject("Scripting.FileSystemObject") Set File1 = FSO.GetFile(FileName) ParentFolderPath = File1.ParentFolder Const ForReading = 1 Const ForWriting = 2 Const ForAppending = 8 stRep = Merlindr 'Répertoire de travail stRep2 = ParentFolderPath&"\MerlinImport\" stFichierSource = CreateObject("htmlfile").ParentWindow.ClipboardData.Getdata("text") & ".log" stFichierDest = CreateObject("htmlfile").ParentWindow.ClipboardData.Getdata("text") & ".txt" Set oFichier = FSO.OpenTextFile(stRep & stFichierSource, ForReading, True) st = oFichier.ReadAll oFichier.Close tbLg = Split(st, Chr(10)) For i = 0 To UBound(tbLg) 'parcours les lignes tb = Split(tbLg(i), Chr(&H1C)) If (UBound(tb) >= 2) Then stLigne1 = stLigne1 & tb(0) & vbTab stLigne2 = stLigne2 & tb(2) & vbTab End If Next Set oFichier = FSO.OpenTextFile(stRep2 & stFichierDest, ForWriting, True) oFichier.WriteLine(stLigne1) oFichier.WriteLine(stLigne2) oFichier.Close wscript.quit else wscript.quit End If next wscript.quit
Partager