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 :

Déplacer un fichier contenant plusieurs espaces [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2016
    Messages : 10
    Par défaut Déplacer un fichier contenant plusieurs espaces
    Bonjour, je débute dans les scripts, enfin dans la programmation tout cours J'ai une longue liste de films que je souhaite ranger dans des dossiers à leur nom. J'essaye de créer un script qui va prendre le nom du fichier, puis créer un dossier à ce nom et y placer le fichier. Mais le souci que j'ai, est quand il y a plus d'un espace dans le fichier, la fonction move ne marche pas.

    Après avoir testé mon script, quand j'ai un fichier qui est nommé : Test1 (2005) => aucun problème, le script se déroule correctement. Par contre, quand j'ai un fichier qui est nommé : Test 2 (2000) => j'ai une erreur : "la syntaxe de la commande est incorrecte". J'ai bien un dossier nommé Test 2 qui se créer mais le déplacement du fichier échoue. La différence à mes yeux est l'espace supplémentaire et je ne vois pas comment y remédier.

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    title Create
    echo off
    cls
    :start
    set /p Nom_fichier="Fichier "
    rem Enlève 7 caractères à partir de la fin
    set Nom_dossier=%Nom_fichier:~,-7%
    md "%cd%\%Nom_dossier%"
    rem "Fichier à déplacer" "A tel emplacement"
    move /y "%cd%\%Nom_fichier%.*" %cd%\%Nom_dossier%" 
    rem Créer un fichier texte nommé log.txt et ajoute Log DATE TIME dans le fichier
    echo %Nom_fichier% %DATE% %TIME% %cd%\%Nom_dossier% >> %cd%\_Log\log.txt
    goto start

    Je pense qu'il y a moyen de le faire plus simple mais je débute encore ^^

    Il y a aussi une autre chose que je souhaite mettre en place, c'est que ça prenne automatiquement le premier fichier et qu'il exécute la suite. En soit, supprimer l'étape "set /p Nom_fichier="Fichier "". Est-ce que c'est possible ?

  2. #2
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Bonjour,
    Essaye ceci:
    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
    @echo off&cls
    setlocal enabledelayedexpansion
    title Create
     
    for /f "tokens=*" %%q in ('dir /b /s "%~dp0*.*"') do (
        set Nom_fichier=%%~nq
     
        if not "!Nom_fichier!" == "%~n0" (
            set Nom_dossier=!Nom_fichier!
            REM set Nom_dossier=!Nom_fichier:~,-7!
            md "%~dp0!Nom_dossier!"
            move /y "%~dp0!Nom_fichier!.*" "%~dp0!Nom_dossier!"
            if not exist "%~dp0_Log" md "%~dp0_Log"
            echo !Nom_fichier! %DATE% %TIME% "%~dp0!Nom_dossier!" >> %~dp0_Log\log.txt
        )
    )
     
    pause
    exit

    Comme toujours, TESTE les scripts avant, on ne sait jamais.

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2016
    Messages : 10
    Par défaut
    Merci pour le script qui fonctionne sans problème

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

Discussions similaires

  1. Url avec nom de fichier contenant un espace
    Par kanabzh29 dans le forum Langage
    Réponses: 3
    Dernier message: 07/10/2008, 13h14
  2. Noms de fichiers contenant des espaces
    Par berti dans le forum Langage
    Réponses: 1
    Dernier message: 05/10/2008, 12h19
  3. Réponses: 9
    Dernier message: 29/04/2008, 13h38
  4. Nom de fichier contenant un espace
    Par fredo78 dans le forum Mise en forme
    Réponses: 2
    Dernier message: 15/12/2007, 13h12
  5. Renommer des fichiers contenant des espaces
    Par MatRem dans le forum Linux
    Réponses: 6
    Dernier message: 28/04/2006, 08h21

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