Переместить файлы в папки с частичными именами - PullRequest
1 голос
/ 06 июля 2010

У меня есть около 250 файлов, которые мне нужно переместить в определенную папку. Проблема в том, что в папке есть только частичное имя файлов.

Например, мне нужно переместить файл «12345.txt» в папку «12345 - привет», поскольку каждая папка начинается с фактического имени файла.

Могу ли я сделать это в командном файле в DOS?

Спасибо.

1 Ответ

3 голосов
/ 06 июля 2010

Предполагается, что для Windows это не сложно:

@echo off
rem loop over all files
for %%f in (*) do call :process "%%f"

rem this is necessary to avoid running the subroutine below
rem after the loop above ended
goto :eof

rem subroutine that gets called for every file
rem this finds the first matching folder and moves the file there
:process
rem the /d loops over all directories - the mask ensures that
rem the directory name starts with the given file name (without
rem extension)
for /d %%d in ("%~n1*") do (
    echo Moving "%~1" to "%%d" ...
    move "%~1" "%%d"
    rem Return since the file was moved already
    goto :EOF
)

Также можно найти в моем репозитории SVN .

...