IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Input past end of file - pourriez-vous rappidement m'aider :)


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Par défaut 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 : 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

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Par défaut
    J'ai trouvé la réponse via un autre forum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if not oFichier.AtEndofStream then st = oFichier.ReadAll 
     if st = "" Then wscript.quit
    Bien à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Attempt to read past end-of-file
    Par dubitoph dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 08/01/2014, 09h49
  2. [VB6] Autre erreur, "Input past end of file" (#62)
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/04/2006, 18h18
  3. Réponses: 14
    Dernier message: 10/11/2005, 17h19
  4. Réponses: 2
    Dernier message: 15/04/2004, 15h44
  5. Erreur unexpected end of file
    Par snoop dans le forum Linux
    Réponses: 6
    Dernier message: 22/03/2004, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo