【问题标题】:Batch file to move excel workbook based on file name批处理文件根据文件名移动excel工作簿
【发布时间】:2014-07-07 14:56:17
【问题描述】:

我每天都有 excel 文件,这些文件分为不同的文件夹。所以路径看起来像:

\\network drive\Workarea\SUBRO\DTR\YTD\2014 January Activity\01.02.14\01.01.14 CVO.xls
\\network drive\Workarea\SUBRO\DTR\YTD\2014 January Activity\01.02.14\01.02.14 CVO.xls 

每天如此。 '\network drive\Workarea\SUBRO\DTR\YTD\' 是根文件夹。

我需要将这些文件移动到

\\network drive\Workarea\SUBRO\DTR\CVO Reports

每个“day”文件夹中还有其他 excel 文件,但我需要一个批处理文件来移动以“.14 CVO.xls”结尾的任何内容。

我知道我可以使用

MOVE filepath newfolder

但我必须为一周中的每一天手工打出每一个。是否有命令只从主文件夹的每个子目录中抓取以“.14 CVO.xls”结尾的那些?

【问题讨论】:

  • 您可以使用find 命令。见[这个][1]。 [1]:stackoverflow.com/questions/17368872/…
  • 那是一个 unix 命令。有什么适用于 Windows 7 的吗?抱歉,我在数据库中的工作比 .bat 文件更多。

标签: batch-file


【解决方案1】:

从给定文件夹中移动文件:

move "somePath\*.14 CVO.xls" "newPath"

从根目录中的所有子文件夹(任何深度)中移动所有相关文件:

pushd "\\network drive\Workarea\SUBRO\DTR"
for /d /r "YTD" %%F in ("*.14") do move "%%F\*.14 CVO.xls" "CVO Reports\"
popd

以上递归查找YTD 下以.14 结尾的任何文件夹。对于找到的每个文件夹,它会将任何匹配的文件移动到新位置。

【讨论】:

  • 这几乎就是我需要的。但它正在 .2014 Files 文件夹中寻找 .14 CVO.xls。在每个 .2014 Files 文件夹中,每天都有一个文件夹。这些是 .14 CVO.xls 需要搜索的文件夹。
  • @Phil - 你试过了吗?它应该匹配名称为“01.01.2014 Files”和“01.02.2014 Files”的文件夹。在我看来,那些日子就像是几天。
  • 是的,我运行了它,它只进入了 5 个每月的文件夹,寻找 .14 个 CVO.xls 文件。因为他们不是他们,所以错误“存在重复的文件名,或者找不到文件”。每个月文件夹中都有天文件夹,然后天文件夹中有 5 个 excel 文件,其中一个以 .14 CVO.xls 结尾。
  • @Phil - 请更新(编辑)您的问题,以更准确地显示您的文件夹结构示例。例如,显示至少一个要移动的文件的完整路径。
  • @Phil - 已更新答案以符合新要求。将来,请尝试在您的原始问题中更加精确。原始问题越好,您将越快得到有用的答复。
猜你喜欢
  • 2017-06-07
  • 2019-11-01
  • 2013-08-03
  • 1970-01-01
  • 2018-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多