Input past end of file - pourriez-vous rappidement m'aider :)
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:
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 |