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 :

Capturer le nom du dossiers dernier niveau?


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 44
    Points : 33
    Points
    33
    Par défaut Capturer le nom du dossiers dernier niveau?
    Salut,
    dossier de dernier niveau= dossier sans sous-dossier.

    Ce script (qui explore aussi les sous-dossiers) converti les raccourcis web (.URL) vers un fichier HTML.
    Url2Htm.bat


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @ECHO OFF
    SET z=%~PD0Links.hTM
    TYPE NUL>"%z%"
    (FOR /F "Tokens=1,2,* Delims=:=" %%a IN ('FINDSTR /s /i /b /c:"URL=" "*.url"') DO (
            ECHO.^&bull; ^<a href="%%c"^>%%~na^</a^> ^<br^>
    ))>Links.html
    Pause
    Je voudrais ajouter (avant le lien) ne nom du dossier de dernier niveau
    Comment capturer le nom du dossiers dernier niveau?
    Merci.

  2. #2
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Je ne comprend pas se que tu veut dire par dossier dernier niveau

    Il exist une variable pour récupérer le répertoire courant: %~dp0

    Pour ne récupérer que le non du répertoire (pas le chemin complet): %~n0

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Voir dans le zip ci-joint,
    LIENS.htm est ce que j'obtiens avec Url-2H.cmd
    et
    LiENS_ce_que_je_voudrais_obtenir.htm
    est ce que je voudrais obtenir.
    Le but est de récupérer le nom du dossier contenant un fichier ciblé par la boucle FOR (et le DIR dans cette boucle).
    Le nom du dossier seulement, pas tout le chemin.

    Pas évident, non!
    J'avais pensé à hacher le chemin par un délimiteur \ , mais selon la profondeur (du sous-dossier parcouru) ce ne sera pas toujours le même Nème morceau à prendre.
    Merci.


    Ou, éventuellement ceci, j'aimerais obtenir:
    • Dev\css CSS Guides
    • Dev\tech Bugs
    • Dev\tech Techniques for Web Developers
    • Forum Dev-Forum Java

    les liens sont précédés du chemin depuis le dossier de base (contenant Url-2H.cmd) jusqu'au fichier XXX.url
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Le dernier dossier sera toujours ce qui reste après le dernier \

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    OK,
    et comment obtenir "qui reste après le dernier \" ?

    . . . . .

    Non Guardian, mais plutôt entre les 2 derniers \
    exemple:
    C:\Documents and Settings\users\Bureau\Essais1\Dev\css\CSS Guides.url

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Une autre formulation de mon problème.

    Ce script (liste.bat) située dans C:\...\...\dossierA\

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FOR /F "Delims=''" %%a IN ('DIR /s /b "*.*"') DO (
            ECHO.%%a
    )
    affiche une liste de la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C:\...\...\dossierA\fichierA1.doc
    C:\...\...\dossierA\fichierA2.doc
    C:\...\...\dossierA\dossierB\fichierB1.doc
    C:\...\...\dossierA\dossierB\fichierB2.doc
    1. Mon but est d'obtenir cette affichage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dossierA
    dossierA
    dossierB
    dossierB
    C'est-à-dire le nom du dernier dossier dans le chemin.

    2. Ou ceci me conviendrait aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dossierA
    dossierA
    dossierA\dossierB
    dossierA\dossierB
    C'est-à-dire le chemin depuis la position du script (qui se trouve dans dossierA).

    Merci.

  7. #7
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    salut

    pour ce que tu veux

    en 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f %%i in ('dir /ad /s /b') do echo %%~ni

    en 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f %%i in ('dir /ad /s /b') do echo %%i
    J’ai posté trop vite, je crois,
    je modifie tout ça plus tard.

  8. #8
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f %%i in ('dir /ad /s /b') do echo %%~pi
    %%~pi récupérera comme ceci:
    dossierA
    dossierA
    dossierA\dossierB
    dossierA\dossierB

  9. #9
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    J'avais dit que j'avais posté trop vite parce que je trouvais le code perfectible.
    Cependant, ce n'est pas à cause du n mais plutôt des espaces et des problèmes ansi/oem possibles.
    Cela dit n ne se limite pas qu'aux noms de fichiers. Tu sais, tout n'est pas dit dans l'aide en ligne.

  10. #10
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par maxim_um
    Désolé, j'avais déjà supprimé mon message, et en validant, j'ai vu le tien.
    Je l'avais supprimé parce que je le trouvais perfectible, tu sais à cause des espaces, cela dit n ne se limite pas qu'aux noms de fichiers, et oui, tout n'est pas dit dans l'aide en ligne.

    Ce message peut être délesté.
    Oui mais lui veut récupéré le nom du répertoire sur un chemin de fichier, donc la n récupérera la non du fichier, et p le chemin

  11. #11
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    En ce qui concerne n et p:

    Sache que si tu "donnes comme argument " à I un chemin de répertoire, n te renvoie le nom du répertoire cible. p est inutile dans ce contexte, puisqu’on a déjà le chemin complet vers ledit répertoire.

    donc pour le 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=*" %%i in ('dir /ad /s /b') do echo %%~ni
    et pour le 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=*" %%i in ('dir /ad /s /b') do echo %%i
    Disons simplement que le plus important c'est
    dir /ad /s /b

    Mais on veut tellement bien faire, qu'on finit par devancer les demandes l'utilisateur.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    J'ai trouvé une solution qui me convient:

    :: Crée une liste de liens avec tous les fichiers .URL !
    @ECHO OFF

    ECHO Fichiers .URL vers liens HTM
    SET z=%~PD0LiNKS.hTM
    TYPE NUL>"%z%"
    ECHO.^<h1^>Fichiers .URL vers liens HTM^</h1^>>>"%z%"
    (
    FOR /F "Tokens=*" %%i IN ('DIR /ad /s /b') DO (
    CD "%%i"
    FOR /F "Tokens=1,2,* Delims=:=" %%a IN ('FINDSTR /i /b /c:"URL=" "*.url"') DO (
    ECHO.%%~ni ^&bull; ^<a href="%%c"^>%%~na^</a^> ^<br^>
    )
    ECHO.^<br/^>
    )
    )>>"%z%"

    :Fin
    :: Pause

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

Discussions similaires

  1. Extraction du nom du dossier de la web-app dans un CustomTag
    Par santana2006 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/08/2006, 12h35
  2. lister les noms de dossier dans un menu déroulant
    Par WeDgEMasTeR dans le forum Langage
    Réponses: 9
    Dernier message: 01/04/2006, 01h53
  3. [nom de dossier dans liens HTML] renseignements
    Par guy2004 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/03/2006, 09h26
  4. comment changer nom du dossier apres documents and settings
    Par orientalys dans le forum Windows XP
    Réponses: 1
    Dernier message: 09/12/2005, 01h00
  5. [JTree] Affichage des Noms de dossiers
    Par Dextro dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2005, 12h54

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