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 :

Identifier le chemin absolu d'un fichier CSV


Sujet :

Scripts/Batch

  1. #1
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut Identifier le chemin absolu d'un fichier CSV
    Bonjour à tous,

    J'ai implémenté un programme .exe (avec InnoSetup) qui fait appel à un fichier de configuration Excel.

    Pour le moment le fichier de configuration doit être mis sur le bureau pour que je puisse l'appeler et avoir les paramètres nécessaires.

    Ma question est: Est-il possible d'identifier avec un script Batch l'emplacement de ce fichier excel ? Je peux donner un nom unique à ce fichier de telle sorte qu'il n ' y-aura pas d'autres fichiers à ce nom..

    Merci beaucoup pour vos retours...

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    salut,

    Il faut le chercher sur tout le disque, ça risque de prendre du temps mais c'est possible oui

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Avec la commande Where /? qui accepte aussi bien les wilcard (caractère générique)
    Par exemple vous pouviez entrer comme nom de fichier à rechercher (Toto*.csv) ou bien (*oto*.csv)

    Code BAT : 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
    @echo off
    Title Rechercher l'emplacement d'un fichier by Hackoo
    Color 0A
    Call :inputbox "Entrer le nom du fichier a rechercher :" "Entrer le nom du fichier a rechercher"
    If  "%input%" == ""  Color 0C & (
        echo(
        echo       Il faut entrer un nom de fichier pour continuer avec ce programme
        pause>nul & exit
    ) else (
        Call :Browse4Folder "Choisissez le dossier source pour scanner %input%" "c:\scripts"
    )
    Set "ROOT=%Location%"
    ::On vérife ici si la chaîne entrée possède un anti-slach à la fin ? si oui on la supprime !
    IF %ROOT:~-1%==\ SET ROOT=%ROOT:~0,-1%
     
    set whereCmd=where.exe /r %ROOT% %input%
    for /f %%a in ('%whereCmd%') do echo %%~nxa --^> %%a
    pause & exit
    ::***************************************************************************
    :Browse4Folder
    set Location=
    set vbs="%temp%\_.vbs"
    set cmd="%temp%\_.cmd"
    for %%f in (%vbs% %cmd%) do if exist %%f del %%f
    for %%g in ("vbs cmd") do if defined %%g set %%g=
    (
        echo set shell=WScript.CreateObject("Shell.Application"^) 
        echo set f=shell.BrowseForFolder(0,"%~1",0,"%~2"^) 
        echo if typename(f^)="Nothing" Then  
        echo wscript.echo "set Location=Dialog Cancelled" 
        echo WScript.Quit(1^)
        echo end if 
        echo set fs=f.Items(^):set fi=fs.Item(^) 
        echo p=fi.Path:wscript.echo "set Location=" ^& p
    )>%vbs%
    cscript //nologo %vbs% > %cmd%
    for /f "delims=" %%a in (%cmd%) do %%a
    for %%f in (%vbs% %cmd%) do if exist %%f del /f /q %%f
    for %%g in ("vbs cmd") do if defined %%g set %%g=
    goto :eof
    ::***************************************************************************
    :InputBox
    set "input="
    set "heading=%~2"
    set "message=%~1"
    echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) >"%temp%\input.vbs"
    for /f "tokens=* delims=" %%a in ('cscript //nologo "%temp%\input.vbs" "%message%" "%heading%"') do ( 
        set "input=%%a"
    )
    exit /b
    ::**************************************************************************

  4. #4
    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
    Afin que les néophytes puissent comprendre et évoluer je propose un code plus simple.
    Mais l'autre question est, comment ton "programme .exe" va récupérer cette information du .bat ?

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    REM dossier ne doit pas se terminer par un \
    set dossier=C:
    set fichier=readme.txt
     
    for /F %%a IN ('dir "%dossier%\%fichier%" /A /B /S') DO set trouve=%%~a
    echo %trouve%
    pause

  5. #5
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Afin que les néophytes puissent comprendre et évoluer je propose un code plus simple.
    Mais l'autre question est, comment ton "programme .exe" va récupérer cette information du .bat ?
    ??? J'ai pas très bien compris ce que tu veux dire.

    De la même manière que avec DIR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    set "$file=fichier.csv"
    set "$StartingPath=c:\"
    for /f "delims=" %%a in ('where.exe /r %$StartingPath% "%$file%"') do set $chemin=%%~dpa
    echo Chemin ==^>  %$Chemin%
    Maintenant il faut faire des tests de rapidité sur les 2 solutions

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  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
    Je parle du code de hackoofr qui est trop compliqué à assimiler pour un débutant (je trouve).

    Oui après tu peut moduler à ta guise le code.

    J'ai implémenté un programme .exe (avec InnoSetup) qui fait appel à un fichier de configuration Excel.
    Est-il possible d'identifier avec un script Batch l'emplacement de ce fichier excel
    La localisation du fichier Excel servira à ton programme .exe.
    Comment va tu indiquer à ton programme .exe cette localisation trouvé par le .bat.

  7. #7
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    J'avais mal compris !

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

Discussions similaires

  1. Chemin absolu, relatif des fichiers
    Par Anium dans le forum C++
    Réponses: 10
    Dernier message: 12/06/2008, 17h54
  2. Récupérer le chemin absolu d'un fichier
    Par alliance dans le forum C++
    Réponses: 6
    Dernier message: 22/10/2007, 13h35
  3. Recuperation du chemin absolu d'un fichier
    Par seb0634 dans le forum Struts 1
    Réponses: 3
    Dernier message: 14/08/2007, 14h30
  4. [Batch] chemin absolu / Nom de fichier
    Par andlio dans le forum Windows
    Réponses: 3
    Dernier message: 03/08/2006, 03h40
  5. [langage] chemin absolu d un fichier
    Par nono1782 dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2004, 14h02

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