【问题标题】:Batch file to move files based on name [duplicate]基于名称移动文件的批处理文件[重复]
【发布时间】:2017-10-18 07:12:41
【问题描述】:

我目前有超过 100.000 个文件 (.bak),我需要将 1000 个文件移动到不同的目录。需要移动的文件有一个具有不同扩展名 (.xml) 的双文件,因此找到它们应该很容易,但对于我来说,我无法弄清楚如何做到这一点。我没有使用 .bat 文件的经验,而且我已经为此苦苦挣扎了一天。有人可以帮帮我吗?

快速示例:

第一个文件:

File1thatneedstomove.bak
File1thatneedstomove.xml
File1thatdoesntneedstomove.bak
File2thatdoesntneedstomove.bak
File3thatdoesntneedstomove.bak
File2thatneedstomove.bak
File2thatneedstomove.xml

所以我需要将第 1 个和第 6 个文件移动到不同的文件夹,因为它们有一个孪生文件,其中只有句号后面的文本不同。

【问题讨论】:

标签: batch-file notepad++


【解决方案1】:

未测试:

set "source_dir=C:\baks"
set "destination=C:\dest"

for %%a in ("%source_dir%\*bak") do (
   if exist "%%~dpna.xml" (
      echo move /y "%%~fa" "%destination%"
   )
)

它将回显所需的移动命令参数。如果可以,请删除括号中的echo 字样。

【讨论】:

  • 认为您在%%~dpna.xml 中缺少n
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2014-11-12
相关资源
最近更新 更多