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 :

Chemin -> Variable en Nom Court [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut Chemin -> Variable en Nom Court
    Bonjour !

    J'ai fait un batch pour comparer des fichiers customizés avec ceux de windows...

    J'ai créé un fichier "Comparaison_Totale.txt" où sont notés les chemins complets et noms de tous les fichiers systèmes que j'ai customizé. (par exemple "C:\windows\system32\zipfldr.dll")

    J'ai la possibilté de faire :
    • une comparaison totale de l'ensemble des fichiers :
    _____▪ mon batch traite ligne par ligne "Comparaison_Totale.txt" et à chaque fois compare le fichier customizé avec celui du système.

    • une comparaison partielle :
    _____▪ mon batch traite ligne par ligne "Comparaison_Totale.txt" et dès qu'un fichier se trouve dans le dossier "Partielle", inscrit le chemin du fichier système portant le même nom dans "Comparaison_Partielle.txt",
    _____▪ puis, traite ligne par ligne "Comparaison_Partielle.txt" et à chaque fois compare le fichier customizé situé dans le dossier "Partielle" avec celui du système.

    La position de mon batch sur mes disques durs pouvant changer, j'ai utilisé "%~dp0%Partielle" pour connaître le chemin complet du dossier "Partielle" quelquesoit la position du batch.

    Quand je lance une comparaison totale, quelquesoit le chemin du batch -> tout marche nickel !
    Quand je lance une comparaison partielle et que le chemin du batch ne comporte pas d'espace -> tout marche très bien !
    Malheureusement quand le nom du répertoire en cours comporte un ou des espaces, mon batch ne fonctionne plus...

    Je pense que le problème vient de la fonction "exist" dans "if exist %Dossier%\%Fichier% echo %FichierRef% >> Comparaison_Partielle.txt"

    N'étant pas très doué en batch, quelqu'un pourrait-il m'aider ?

    Merci...

  2. #2
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Après recherche, il semblerait que ce ne soient pas les espaces le problème, mais il faudrait que je puisse transformer la déclaration comportant le chemin du dossier "partielle" en nom court...

    Voici mon batch...
    c'est au niveau de :cmdPartieSys (presque à la fin) que ça bloque, je pense...
    Fichiers attachés Fichiers attachés

  3. #3
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Même pas une âme charitable pour faire l'éssai sur mon batch... ?
    Peut-être ai-je mal identifié le problème...?!

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Le test doit comporter aussi des guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if exist "%Dossier%\%Fichier%" echo %FichierRef%>> Comparaison_Partielle.txt
    Pour les noms courts, cf. l'expansion %~sI, qui génère des noms courts.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Merci pour ta réponse !

    J'ai remis tous les guillemets manquants, mais je ne comprends pas dans quelle fonction placer ton "%~sI"...
    J'avais déjà vu cette expansion en parcourant les forums, mais n'est pas trouvé comment l'utiliser...

    ---------------------------------------------------------------------------

    Autre question : certains fichiers système ne pouvants être remplacés sans avoir été renommés, je les renommais en ajoutant un o à l'extension (par exemple *.dll -> *.dllo), mais visiblement mon batch ne reconnait pas les extension de plus de 3 caractères...

    Comment faire ?
    Si ce n'est pas possible comment remplacer la dernière lettre de l'extension par un o (*.dll -> *.dlo ou *.exe -> *.dlo) ?

  6. #6
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Pour ma deuxième question, j'ai vu qu'il existe dans le même ordre d'idée que ce que tu m'as montré : "%~xI", mais je n'arrive pas non plus à comprendre comment l'utiliser...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/11/2010, 11h12
  2. Nom Court d'un chemin
    Par ZIED dans le forum Delphi
    Réponses: 4
    Dernier message: 02/10/2006, 00h10
  3. [ASP] include remplacer chemin par variable
    Par damn dans le forum ASP
    Réponses: 3
    Dernier message: 01/10/2004, 15h27
  4. [XSL] utiliser une variable pour nom d'élément
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 07/09/2004, 13h58
  5. [FLASH MX2004] Chemin de variable
    Par nirousse dans le forum Flash
    Réponses: 2
    Dernier message: 09/08/2004, 11h56

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