Bonjour, je débute dans les scripts, enfin dans la programmation tout coursJ'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 ?
Partager