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 ?