J'essaie de créer un script batch dans Windows 7 qui examine les 6 premiers nombres de centaines de fichiers PDF, crée un dossier basé sur les 6 numéros uniques et déplace les pdfs dans leurs dossiers respectés. (Certains fichiers .pdfs ont les mêmes 6 numéros uniques)
Le lot ci-dessous fonctionne presque pour moi. Il crée les dossiers pour chaque numéro unique composé de 6 numéros, mais ne déplacera pas tous les documents: Par exemple: Les déplacements suivants dans le dossier 100036 100036.pdf seront déplacés, 1000361.pdf sera déplacés. 1000361copy se déplacera.
Lorsqu'il y a un espace dans le nom du fichier, il ne sera pas déplacé dans le dossier 100036. 100036 - 1.pdf, 100036 - copy.pdf ne bougera pas
Une idée de comment réparer ça?
Merci d'avance:
@echo off
REM This script creates folders based on file names and moves those files into the folders.
REM *.pdf is the search term. Change this to search for different files.
REM md %name:~0,6% will make a directory based on the first 6 characters of the file name. Change to 5% for the first 5 characters.
REM move %* %name:~0,6% will move the file to the directory based on the first 6 characters of the file name. Change to 5% for the first 5 characters.
for /f %%F in ('dir/b/a-d *.pdf') do call :sub1 %%F
goto :eof
:sub1
set name=%1
md %name:~0,6%
move %* %name:~0,6%
Édité:
@echo off
for /f "tokens=*" %%F in ('dir/b/a-d *.pdf') do call :sub1 %%F
goto :eof
:sub1
set name=%1
md %name:~0,6%
move %* %name:~0,6%
echo ==%*==
dans la méthode: sub1.