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

Scripts/Batch Discussion :

Surveiller en permanence l'arrivée d'un fichier dans un dossier partagé


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut Surveiller en permanence l'arrivée d'un fichier dans un dossier partagé
    Bonjour

    Je n'y connais rien en programmation ;-) et sur une autre rubrique du forum, on m'a donné une idée pour résoudre mon problème...
    Mais pour résoudre une partie de mon problème, j'ai besoin de créer un fichier .bat qui scrute un dossier partagé en permanence pour voir si le fichier ouvrirtiroir.txt est présent,
    Si le fichier est présent, il faut l'effacer et ensuite lancer un code qui ressemble au code ci-dessous afin d'envoyer un signal sur le port com8 ce qui va ouvrir mon tiroir caisse branché en USB...
    Si le fichier n'est pas présent, ne rien faire...

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.Cashreçu.Value <> "0" Then
    Open "COM8:" For Output As #1
            Print #1, "echo xyz%%>com8"
              Close #1
    End If

    D'avance merci

    Pascal

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Je n'y connais rien en programmation
    Et bien voici un peu d'aide pour que tu puisse progresser.


    Faire une boucle infini
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /L %a IN (0,0,1) DO @echo toto

    Vérifier si un fichier existe
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    IF EXIST "monfichier.txt" @echo Il existe

    Effacer un fichier
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    del "monfichier.txt"

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Et ton code If Me.Cashreçu.Value <> ... n'est pas du batch.
    Comment lance tu ce code ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Merci pour ces premiers éléments de réponse... mon code fonctionnait avec Access mais maintenant, je dois trouver solution avec du batch ...

    J'ai trouvé un tuto mais très compliqué pour moi...

    Code VBA : 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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Option Explicit
    Dim fso,Message,Message2,Msg,intInterval,strDrive,strFolder,strComputer,objWMIService,strQuery
    Dim colEvents,objEvent,objTargetInst,objPrevInst,objProperty,ws,LOG_FILE_PATH,LogFile,Chemin
    Set fso = CreateObject("Scripting.FileSystemObject")
    Chemin = Parcourir_Dossier()
    '****************************************************************************************************
    Function Parcourir_Dossier()
        Dim ws,objFolder,Copyright
        Copyright = "[ © Hackoo © 2014 ]"
        Set ws = CreateObject("Shell.Application")
        Set objFolder = ws.BrowseForFolder(0,"Veuillez choisir un dossier pour la surveillance "_
        & Copyright,1,"c:\Programs")
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Parcourir_Dossier = objFolder.self.path
    end Function
    '****************************************************************************************************
    Chemin = Split(fso.GetAbsolutePathName(Chemin),":")
    strDrive  = Chemin(0) & ":"
    strFolder = Replace(Chemin(1), "\", "\\")
    If Right(strFolder, 2) <> "\\" Then strFolder = strFolder & "\\"
    strComputer = "." 
    Set ws = CreateObject("WScript.Shell")
    LogFile = Left(Wscript.ScriptName,InstrRev(Wscript.ScriptName, ".")) & "log"
    LOG_FILE_Path = ws.ExpandEnvironmentStrings("%AppData%") & "\" & LogFile
    intInterval = "2"
    'Connexion au WMI
    Set objWMIService = GetObject( "winmgmts:" &_ 
    "{impersonationLevel=impersonate}!\\" &_ 
    strComputer & "\root\cimv2" )
    'La chaîne de la requête
    strQuery =  _
    "Select * From __InstanceOperationEvent" _
    & " Within " & intInterval _
    & " Where Targetinstance Isa 'CIM_DataFile'" _
    & " And TargetInstance.Drive='" & strDrive & "'"_
    & " And TargetInstance.path='" & strFolder & "'"
    'Exécutez la requête
    Set colEvents = _
    objWMIService.ExecNotificationQuery(strQuery)  
    Do 
        Set objEvent = colEvents.NextEvent()
        Set objTargetInst = objEvent.TargetInstance
        Select Case objEvent.path_.Class 
    'Si c'est le cas de la création de fichier ou d'un événement de suppression et afficher
    'juste le nom du fichier
        Case "__InstanceCreationEvent" 
            Message = DblQuote(objTargetInst.Name) & " est crée !"
            Message2 = String(10,"*") & Now & String(10,"*") & vbCrLf & Message & vbCrLf & String(70,"*")
            Call Log(LOG_FILE_Path,Message2)
            MsgBox Message2,VbInformation,Message
     
    End Select 
    Loop
    '**********************************************************************************************
    Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************
    Sub Log(strLogFileChemin,strLogContent)
    Const APPEND = 8
    Dim objFso,objLogFile
    Set objFso = CreateObject("Scripting.FileSystemObject")
    If Not objFso.FileExists(strLogFileChemin) Then objFso.CreateTextFile(strLogFileChemin, True).Close
    Set objLogFile = objFso.OpenTextFile(strLogFileChemin,APPEND)
    objLogFile.WriteLine strLogContent
    objLogFile.Close
    End Sub 
    '**********************************************************************************************

    Mais avec ce code, j'ai un message box qui me dit qu'il y a un nouveau fichier...

    Donc j'ai des bouts de solutions mais comme je n'y connais rien, c'est un peu brouillon pour moi ;-)

    Merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Bon ben après plusieurs heures de recherche, de test, ben le code arrive à me mettre un message lorsqu'un nouveau fichier est créer mais je n'arrive pas à aller plus loin.. c'est quand même compliqué pour quelqu’un qui n'y connait rien...

    si quelu'un peut m'aider ;-)

    Batch ou powersehll, peu importe, pourvu que ça fonctionne ;-)

    Et pour simplifier, je connais le dossier à surveiller et le nom de fichier à surveiller...

    Merci

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Batch ou powersehll, peu importe, pourvu que ça fonctionne ;-)
    Et bien non ! Si tu nous avait dit Powershell tout de suite nous aurions eu une autre approche.

    Avec les bouts de code que je t'ai donné tu n'a pas réussi à bricoler quelques choses ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Non car je n'y connais vraiment rien... j'ai un peu fait de la modification de code dans access mais c'est tout.

    Je n'y connais rien, powershell ou batch, pour moi, ça ne veut rien dire...

    Moi j'ai besoin de quelques choses qui scrute le dossier X et lorsqu'un fichier *.txt arrive, envoie un signal sur usb port 8 afin d'ouvrir le tiroir caisse...

    Merci

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Après quelques test, dans un fichier bat avec le code: echo xyz%%>com8 Ma caisse s'ouvre !

    Et avec le code ci-dessous, je reçois un message lorsqu'un fichier est créé... Donc j'aurais besoin de modifier le code ci-dessous pour définir un répertoire à surveiller (D:\temp) et surveiller la création du fichier ouvrircaisse.txt , et plutôt que d'afficher un message, il faut envoyer le code echo xyz%%>com8. Et ensuite supprimer le fichier ouvrircaisse.txt

    ça parait simple mais terriblement compliqué pour moi ;-)

    Code VBA : 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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Option Explicit
    Dim fso,Message,Message2,Msg,intInterval,strDrive,strFolder,strComputer,objWMIService,strQuery
    Dim colEvents,objEvent,objTargetInst,objPrevInst,objProperty,ws,LOG_FILE_PATH,LogFile,Chemin
    Set fso = CreateObject("Scripting.FileSystemObject")
    Chemin = Parcourir_Dossier()
    '****************************************************************************************************
    Function Parcourir_Dossier()
        Dim ws,objFolder,Copyright
        Copyright = "[ © Hackoo © 2014 ]"
        Set ws = CreateObject("Shell.Application")
        Set objFolder = ws.BrowseForFolder(0,"Veuillez choisir un dossier pour la surveillance "_
        & Copyright,1,"c:\Programs")
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Parcourir_Dossier = objFolder.self.path
    end Function
    '****************************************************************************************************
    Chemin = Split(fso.GetAbsolutePathName(Chemin),":")
    strDrive  = Chemin(0) & ":"
    strFolder = Replace(Chemin(1), "\", "\\")
    If Right(strFolder, 2) <> "\\" Then strFolder = strFolder & "\\"
    strComputer = "." 
    Set ws = CreateObject("WScript.Shell")
    LogFile = Left(Wscript.ScriptName,InstrRev(Wscript.ScriptName, ".")) & "log"
    LOG_FILE_Path = ws.ExpandEnvironmentStrings("%AppData%") & "\" & LogFile
    intInterval = "2"
    'Connexion au WMI
    Set objWMIService = GetObject( "winmgmts:" &_ 
    "{impersonationLevel=impersonate}!\\" &_ 
    strComputer & "\root\cimv2" )
    'La chaîne de la requête
    strQuery =  _
    "Select * From __InstanceOperationEvent" _
    & " Within " & intInterval _
    & " Where Targetinstance Isa 'CIM_DataFile'" _
    & " And TargetInstance.Drive='" & strDrive & "'"_
    & " And TargetInstance.path='" & strFolder & "'"
    'Exécutez la requête
    Set colEvents = _
    objWMIService.ExecNotificationQuery(strQuery)  
    Do 
        Set objEvent = colEvents.NextEvent()
        Set objTargetInst = objEvent.TargetInstance
        Select Case objEvent.path_.Class 
    'Si c'est le cas de la création de fichier ou d'un événement de suppression et afficher
    'juste le nom du fichier
        Case "__InstanceCreationEvent" 
            Message = DblQuote(objTargetInst.Name) & " est crée !"
            Message2 = String(10,"*") & Now & String(10,"*") & vbCrLf & Message & vbCrLf & String(70,"*")
            Call Log(LOG_FILE_Path,Message2)
            MsgBox Message2,VbInformation,Message
     
    End Select 
    Loop
    '**********************************************************************************************
    Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************
    Sub Log(strLogFileChemin,strLogContent)
    Const APPEND = 8
    Dim objFso,objLogFile
    Set objFso = CreateObject("Scripting.FileSystemObject")
    If Not objFso.FileExists(strLogFileChemin) Then objFso.CreateTextFile(strLogFileChemin, True).Close
    Set objLogFile = objFso.OpenTextFile(strLogFileChemin,APPEND)
    objLogFile.WriteLine strLogContent
    objLogFile.Close
    End Sub 
    '**********************************************************************************************

    D'avance merci

    Pascal

  9. #9
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Ok, un truc comme ceci

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    title Gere l ouverture de la caisse
     
    set fichier=D:\temp\ouvrircaisse.txt
     
    FOR /L %%a IN (0,0,1) DO (
    	IF EXIST "%fichier%" (
    		del "%fichier%">nul
    		echo %date% %time:~,-3% : Ouverture de la caisse
    		echo xyz>com8
    	)
    	timeout /T 1 /nobreak>nul
    )

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Yes fantastique !

    Ça marche parfaitement merci beaucoup

    Et ce genre de code, est-ce un code qui peut fonctionner en batch car ça fonctionne en vba?

    Code VBA : 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
    Private Sub ValeurCarte_LostFocus()
     
    'Déclaration des variables
    Dim winShell As New ShellWindows
    Dim IE As InternetExplorer
    Const stURL As String = "https://ecritf.paytec.ch/"
    Dim IEDoc As HTMLDocument
    Dim InputGoogleZoneTexte As HTMLInputElement
     
    For Each IE In winShell
         If IE.LocationURL = stURL Then Exit For
    Next IE
     
    If Not IE Is Nothing Then
     
      'Affichage de la fenêtre IE
       IE.Visible = True
     
        'On pointe le membre Document
        Set IEDoc = IE.Document
     
        'On pointe notre Zone de texte
        Set InputGoogleZoneTexte = IEDoc.all("amount")
     
        'On définit le texte que l'on souhaite placer à l'intérieur
        InputGoogleZoneTexte.Value = Me.[Valeur Carte]
     
        'On pointe notre bouton
    Set InputGoogleBouton = IEDoc.all("pay")
     
    'On simule un clic
    InputGoogleBouton.Click
     
        End If
     
    'On libère les variables
        Set IE = Nothing
        Set IEDoc = Nothing
     
    End Sub

    Et je découvre qu'il serait peut-être possible de lancer un fichier vbs ? Pas très loin du VBA apparemment... ?

    Citation Envoyé par ericlm128 Voir le message
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    echo %date% %time:~,-3% : Ouverture de la caisse
    et à quoi sert le -3% ?

    MErci

  11. #11
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    est-ce un code qui peut fonctionner en batch car ça fonctionne en vba?
    Non

    Et je découvre qu'il serait peut-être possible de lancer un fichier vbs ? Pas très loin du VBA apparemment... ?
    Oui

    et à quoi sert le -3% ?
    A supprimer les trois derniers caractères

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Merci pour ces informations... En cherchant sur le net, j'ai vu qu'il existait aussi le PowerShell... Dans mon cas, quelle méthode de programmation serait la plus adaptée, la plus simple ?

  13. #13
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Si tu veux adapter ton code VBA le powershell est le plus adapté

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Ok merci

    Je pense un peu plus loin... j'ai un peu le même principe mais plutôt que d'ouvrir un tiroir caisse, il faudrait envoyer une valeur dans une page web qui contrôle mon terminal de paiement...

    Depuis le pc2, lorsqu'un client paie par carte de crédit, j'aimerais que cette valeur puisse aller dans internet explorer du pc 1 ...

    donc je me disias que lorsque je rentre la valeur (ex 153.95) sur le PC2 dans access, je demande a access de créer un fichier vide dans un dossier partagé avec comme nom, le montant du paiement avec une extension bidon, exemple 153.95.pay.

    Ensuite le PC1 devrait scruter en permanence ce dossier et en extraire le nom sans l'extension puis l'envoyer sur la page internet qui est couplé au terminal de paiement...

    Pensez-vous que c'est réalisable ?

    Merci

  15. #15
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Je te propose ceci

    Code powershell : 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
    52
    53
    54
    55
    56
    57
    58
    $dossier = "C:\MonDossierASurveiller"
     
    function Ie_Pay([string] $valeur)
    {
        $ie = New-Object -COMObject InternetExplorer.Application
        $ie.visible = $true
     
        $ie.Navigate("https://ecritf.paytec.ch/")
     
        While ($ie.Busy) {
            Start-Sleep -Milliseconds 400
        }
     
        Start-Sleep -Milliseconds 100
        $ie.Document.getElementById("amount").value = $valeur
        Start-Sleep -Milliseconds 100
        $ie.Document.getElementById("pay").Click()
        Start-Sleep -Milliseconds 500
     
        $ie.quit()
        [void][System.Runtime.Interopservices.Marshal]::ReleaseComObject($ie)
    }
     
    Write-Host "$((Get-Date).ToString()) : Surveillance du dossier $dossier"
    while($true)
    {
        foreach($file in Get-ChildItem -Path ($dossier + "\*.pay"))
        {
     
            Write-Host "`n`n$((Get-Date).ToString()) : Fichier trouvé $($file.FullName)"
            $valeur = ($file | Get-Content) -replace "\.", ","
            Write-Host "$((Get-Date).ToString()) : Contenu $valeur"
            [double]$result = 0
            if([double]::TryParse($valeur, [ref] $result))
            {
                Write-Host "$((Get-Date).ToString()) : Contenu valide"
                try
                {
                    Write-Host "$((Get-Date).ToString()) : Traitement dans IE"
                    Ie_Pay -valeur $valeur
                    Write-Host "$((Get-Date).ToString()) : Suppression du fichier"
                    Remove-Item -Path $file.FullName -Force
                    Write-Host "$((Get-Date).ToString()) : Terminée"
                }
                catch
                {
                    Write-Host "$((Get-Date).ToString()) : Une erreur s'est produite !" -ForegroundColor Red
                }
            }
            else
            {
                Write-Host "$((Get-Date).ToString()) : Contenu non valide !" -ForegroundColor Red
            }
        }
        Start-Sleep -Seconds 1
    }
     
    exit

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Ok merci, je vais tester ça... Et ensuite il me faut un code dans access qui récupère la valeur de la cellule et créé un fichier vide avec comme nom, la valeur de cette cellule et une extension.pay

    Car actuellement, j'arrive à créer un fichier vide depuis access mais avec un nom de fichier prédéfini et non pas avec comme nom la valeur de la cellule.. Je vais un peu chercher sur le net..

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Premier test

    Lorsque je lance la commande powershell me dit qu'il surveille le dossier E:/temp mais lorsque je dépose un fichier 127.pay dans ce dossier, rien ne se passe, !

  18. #18
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Vraiment étrange, voir impossible et comme ceci ?


  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Pardon j'avais bien \ mais rien ne se passe

    Est-ce qu'il se passe quelques choses lors de la création ou modification d'un fichier *.pay ?

    Merci

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 313
    Points : 73
    Points
    73
    Par défaut
    Désolé j'avais fait une mauvaise manip....

    il trouve le fichier mais voilà la réponse

    14.11.2019 13:23:35 : Contenu
    14.11.2019 13:23:35 : Contenu non valide !

    Apparement, powershell va lire à l'intérieur du fichier acr si à l'intérieur du fichier, je mets une valeur, je vois que powershell la trouve mais met contenu invalide

    Par contre moi mon fichier sera vide... et c'est le nom de fichier que powershell doit récupérer

    Si je mets une valeur dans le fichier sans virgule 19 par exemple, voici ce que ça donne

    14.11.2019 13:38:20 : Contenu 19
    14.11.2019 13:38:20 : Contenu valide
    14.11.2019 13:38:20 : Traitement dans IE
    14.11.2019 13:38:22 : Suppression du fichier
    14.11.2019 13:38:22 : Terminée

    Pas mal mais rien n'est envoyé au terminal... Mais je viens de modifier les tempos et ça marche... mais uniquement si je rentre une valeur manuel à l'intérieur du fichier *.pay

    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/07/2017, 11h32
  2. Réponses: 1
    Dernier message: 12/06/2015, 21h25
  3. Réponses: 26
    Dernier message: 26/03/2010, 15h24
  4. Action à l'arrivée d'un fichier dans un dossier ?
    Par cinezone dans le forum Général Python
    Réponses: 4
    Dernier message: 23/08/2008, 00h55
  5. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26

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