批量移动多个文件进行处理

时间:2017-04-19 22:15:16

标签: batch-file

我正在将发票文件夹移动到另一个文件夹中,其中发票由程序处理以使其可供搜索。每个文件夹只需不到一个小时的时间来处理,我正在尝试查看是否可以使我的批处理文件更有效。目前我将它设置为每小时一次移动一个文件夹,然后在完成后重命名。

Move C:\cdc-pod\i1 c:\cdc-pod\MerchandiseInvoices2016
timeout /t 3600
rename c:\cdc-pod\MerchandiseInvoices2016\i1 "i1 (complete)"

Move C:\cdc-pod\i2 c:\cdc-pod\MerchandiseInvoices2016
timeout /t 3600
rename c:\cdc-pod\MerchandiseInvoices2016\i2 "i2 (complete)"

Move C:\cdc-pod\i3 c:\cdc-pod\MerchandiseInvoices2016
timeout /t 3600
rename c:\cdc-pod\MerchandiseInvoices2016\i3 "i3 (complete)"

这很简单,但我需要重复这个过程几百次。我觉得必须有一个更好的方法来输入它,而不是一遍又一遍地重复这三行,特别是当我下到列表时我需要更改文件夹名称。所有文件夹都命名为i1-i340。

非常感谢任何输入。

1 个答案:

答案 0 :(得分:0)

for /L %%n in (1,1,340) do (
 Move C:\cdc-pod\i%%n c:\cdc-pod\MerchandiseInvoices2016
 timeout /t 3600
 rename c:\cdc-pod\MerchandiseInvoices2016\i%%n "i%%n (complete)"
)

<强> BUT

如果您move到目的地的目录,其文件将被放在...voices2016\i%%n下,原始目录名将消失,那么 - 您引用的过程将检测新文件,因为它们是现在在...voices2016的子目录中?您的原始sourcedirectoryname将不再存在,因此重命名将生成错误。

OTOH,如果COPY使用Move C:\cdc-pod\i%%n\*来源目录中的文件,名称会与目的地中的名称冲突吗?原始目录将保持不变,并且可以重命名。

但即便如此,如果涉及的文件名不会发生冲突,为什么不简单地将所有文件名复制到目的地并作为一个巨大的工作处理?