将Windows环境中的文件移动到具有部分文件名的文件夹

时间:2015-03-30 20:26:46

标签: batch-file

我的主文件夹中有这些文件。连字符的文件名是人名:

  
      
  1. Ran Perhar-Training Records.pdf
  2.   
  3. Ran Perhar-Certificates achie.docx
  4.   
  5. Ran Perhar-Travel Records.xlsx
  6.   
  7. Dove John-Training Records.pdf
  8.   
  9. Dove John-Certificates achie.docx
  10.   
  11. Dove John-Travel Records.xlsx
  12.   

每人有4到5个文件,总共约200人。

我想:根据名称为每个人创建一个文件夹。例如:Ran Perhar。如果此文件夹不存在,请创建它。如果它存在,我想移动所有在连字符移入Ran Perhar文件夹之前有Ran Perhar的文件。和Dove John一样,依此类推。

所有文件都存在于同一主文件夹中,并且将在同一文件夹中创建单个文件夹。

1 个答案:

答案 0 :(得分:0)

未经测试:

@echo off

pushd "c:\persons"

for /f "tokens=1,* delims=-" %%a in ('dir /a:-d /b *') do (
   md "%%~a" >nul 2>nul
   move "%%~a%%~b" "%%~a\" /y
)