我有一个文件夹区域,每个文件夹中有数百个文档,结构如下:
C:\myLibrary\Accident Investigation Report
C:\myLibrary\Address Change
C:\myLibrary\Medical Certificate
C:\myLibrary\New Starter
这些文件夹中的文档命名如下例所示(基于日期戳、时间戳、部门编号、报告类型、员工姓名)。
2013-06-06 16-28-59 165 Accident Investigation Report - J Bloggs.xml
2013-06-06 16-28-59 165 Accident Investigation Report - J Bloggs.pdf
2013-06-11 15-38-07 147 Address Change - L Test.xml
2013-06-11 15-38-07 147 Address Change - L Test.pdf
ETC
(每个都在他们自己明显的标题文件夹中)
要识别文件来自哪个部门编号(重要位)是日期戳和时间戳之后的数字 - 在上面的示例中分别是 165 和 147。
我想根据他们的部门编号将所有文件移动到另一个设置的文件夹结构(已经创建)(每个部门都有另一个类似的结构,如下所示);
C:\Dept Structure\165man\Accident Investigation Report
C:\Dept Structure\165man\Address Change
ETC
所以,就像上面的示例文件一样,在批处理文件运行之后,我应该最终得到;
C:\Dept Structure\165man\Accident Investigation Report\2013-06-06 16-28-59 165 Accident Investigation Report - J Bloggs.pdf
C:\Dept Structure\165man\Accident Investigation Report\2013-06-06 16-28-59 165 Accident Investigation Report - J Bloggs.xml
C:\Dept Structure\165man\Address Change\2013-06-06 16-28-59 165 Address Change - J Bloggs.pdf
C:\Dept Structure\165man\Address Change\2013-06-06 16-28-59 165 Address Change - J Bloggs.xml
C:\Dept Structure\147man\Accident Investigation Report\2013-06-11 15-38-07 147 Accident Investigation Report - L Test.pdf
C:\Dept Structure\147man\Accident Investigation Report\2013-06-11 15-38-07 147 Accident Investigation Report - L Test.xml
C:\Dept Structure\147man\Address Change\2013-06-11 15-38-07 147 Address Change - L Test.pdf
C:\Dept Structure\147man\Address Change\2013-06-11 15-38-07 147 Address Change - L Test.xml
我有一个包含所有部门经理编号的文本文件,例如
003man
004man
005man
006man
007man
008man
009man
etc
etc
410man
从此我想遍历文本文件,根据前 3 位数字创建一个变量,添加“事故”或到此变量的末尾,检查第一个“C:\myLibrary\Accident Investigation Report”文件夹,找到标题中包含该变量的任何文件并将其移动到如上所述命名的“部门结构”目录 - 唷!!
我设法找到了一些“几乎”完成此任务的脚本,看起来非常简单;
`cd /D "C:\Test"`
`for /F %%i in (C:\Dept.txt) do set str1=%%i`
`set _dept=%str1%`
`set _dept=%_dept:~0,3%`
`set "str2=%_dept%`
`move "????????????????????%str2%*.*" "C:\Dept Structure\%str1%\Accident Investigation Report"`
它实际上确实将一些文件移动到了正确的位置,但是,这似乎贯穿了整个文本文件并且只处理最后一行!因此,所有其他行都保持不变,并且不会移动剩余的文件。