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 :

problème avec espace dans variable


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 91
    Points : 57
    Points
    57
    Par défaut problème avec espace dans variable
    Bonjour,

    J'ai le petit script suivant qui est censé fire du ménage dans des répertoires en ne gardant qu'un nombre défini de fichiers les plus récents.
    Tout se passe bien si je n'ai pas d'espace dans mon nom de répertoire. Par contre dès que mon nom de répertoire contient un espace, j'ai toujours le message d'erreur : "Le chemin d'accès spécifié est introuvable."
    A priori c'est la commande située après le DO qu'il n'arrive pas à exécuter.
    Merci par avance de votre aide car je ne vois comment faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    REM -- Répertoire à parcourir --
    set répertoire="C:\INTRANET\IIS LOGS\W3SVC1"
    
    REM -- Type de fichier à compter --
    set fichier="ex*.log"
    
    REM -- Nombre de fichier à conserver --
    set nombre=10
    
    for /f "skip=%nombre%" %%a in ('dir /a:-d /o:-d /b "%répertoire%\%fichier%"') do del "%répertoire%\%%a"

  2. #2
    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,

    Tu as une redondance de guillemets entre ceux utilisés à l'initialisation de tes variables et ceux utilisés dans ta boucle for.

    Ensuite, utilise la commande «dir» seule et vois le genre de résultat qu'elle sort. Cela te donnera une indication sur la manière dont devra être structurée ta boucle.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 91
    Points : 57
    Points
    57
    Par défaut
    Merci.
    En effet il s'agissait d'un mélange avec les " . Je l'ai ré-écris de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set DirToScan=D:\INTRANET\IIS LOGS\W3SVC1
    
    set fichier=ex*.log
    
    set nbFichierAGarder=10
    
    for /f "skip=%nbFichierAGarder%" %%a in ('dir /a:-d /o:-d /b "%DirToScan%\%fichier%"') do del "%DirToScan%\%%a"
    et tout fonctionne correctement.

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

Discussions similaires

  1. [Bash] Problème avec paramètres dans variables
    Par bisol dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 09/03/2013, 17h39
  2. Problème d'espace dans le chemin d'accès d'une vidéo avec VLC
    Par Krovax dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2009, 12h56
  3. Problème d'espaces dans les chemins avec Cygwin
    Par destructive dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 14/04/2008, 17h48
  4. [MySQL] Récupérer variable avec espaces dans une liste déroulante
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/09/2007, 03h01
  5. Problème d'espace dans les variables
    Par crocmorts dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2006, 15h12

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