如何从文件名中获取第一个数字,找到与该数字匹配的文件夹并将文件移动到文件夹?

时间:2016-12-09 10:01:15

标签: batch-file

我一直试图做以下事情。

假设我在名为Documents的文件夹中有3个文件:

123 Car.pdf
456 Dog.pdf
987 Lion.pdf

我想创建一个

的批处理文件(.bat)
  • 读取文件夹中的文件名"文件"但只到空间 (阅读:123,456,987)
  • 然后在驱动器中搜索与搜索文件匹配的文件夹 名称(123,456,987)
  • 如果找到以123456987命名的文件夹,则移动 文件123 Car.pdf到文件夹123,文件456 Dog.pdf到文件夹 456987 Lion.pdf到文件夹987等等。

1 个答案:

答案 0 :(得分:0)

我设法将文件的第一部分移到文件夹中并将文件移动到一个名为相同的文件夹,但是我无法搜索这样的文件夹,然后将文件移入其中。它只是自己创造并移动它。

@ECHO OFF
SETLOCAL
SET "sourcedir=C:\Desktop\TEST AREA\"
PUSHD %sourcedir%
FOR /f "tokens=1*" %%a IN (
    'dir /b /a-d "* * *.txt"'
) DO (
    MD %%a
    MOVE "%%a %%b" "C:\Desktop\TEST AREA\%%a\"
)
PAUSE
POPD
GOTO :EOF

我需要它来搜索文件夹并将其移动到那里,而不是创建并移动它。