使用Bat文件从不同的文件类型创建文件夹(查找特定名称)并将文件移动到正确的新文件夹

时间:2014-06-19 05:17:58

标签: batch-file

在编程时我是个菜鸟,所以请原谅我(在网上搜索一整天,找不到任何帮助)我有成千上万的文件需要放在文件夹中。

这就是我要找的。

  1. 如果文件夹尚不存在,则从文件创建新文件夹。
  2. 所有文件夹将标记为DX1234和TX1234,1234将在0到9之间变化。(例如DX1942或TX3142)。
  3. 每个文件不会以DX或TX开头。它将是一些文件名。
  4. 文件分机将包括Outlook文件夹,txt,doc,xlxs,pdf,jpeg。
  5. 文件将移至新文件夹或现有文件夹。
  6. Bat文件将与文件一起放置,因此不需要新的目录。
  7. 可以由当时登录的不同用户使用。
  8. 由于政策原因,
  9. 无法使用任何其他程序。
  10. 请帮忙,并提前谢谢

1 个答案:

答案 0 :(得分:0)

@echo off
for /f "delims=" %%f in ('dir /b *DX* *TX*') do (
  for %%w in (%%f) do (
    echo "%%w"|findstr "[TD]X[0-9][0-9][0-9][0-9]\>">nul && (
      md %%w 2>nul
      move "%%f" %%w 1>nul 2>nul
    )
  )
)

第一个for会创建一个包含所有文件的列表(如果他们有一个" TX"有一个" DX"他们的名字可能会有两次,但那没问题)

第二个for采用文件名(%% f)并将其拆分为单词(%% w)

然后检查每个单词,如果它与模式匹配(DX或TX后跟四个数字)

如果匹配(&&),则创建目录" %% w" (2>nul:如果错误消息已经存在则触及它,并将文件(%% f)移动到它。 (如果文件已经存在于目的地中,请复制" 1文件复制"(1>nul)和任何错误消息(2>nul