Я пытаюсь создать пакетный сценарий в Windows 7, который будет смотреть на первые 6 чисел в формате PDF, создаст папку на основе 6 уникальных чисел и переместит файлы PDF в соответствующие папки. (Некоторые PDF-файлы имеют одинаковые 6 уникальных номеров)
Следующая партия почти работает для меня. Он создает папки для каждого уникального 6 числовых пд, однако не будет перемещать все документы: Например: следующие перемещения в папку 100036 переместят 100036.pdf, переместит 1000361.pdf. 1000361 копия будет двигаться.
Если в имени файла есть пробел, он не будет перемещен в папку 100036. 100036 - 1.pdf, 100036 - copy.pdf не будет перемещаться
Любые идеи, как это исправить?
Заранее спасибо:
@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%
Отредактировано:
@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%