从文件夹级别下的子文件夹之间移动文件

时间:2014-10-12 08:13:22

标签: batch-file batch-processing batch-rename

我有大约200个文件夹映射到一个驱动器,我们将调用D:。在D中的200个文件夹中:它们有四个主文件夹,其中两个是当前和过期的文件夹。我的问题是,有没有办法我可以编写一个脚本来浏览200个文件夹,并将一个文档从当前文件复制到该级别的过期文件夹。完成此步骤后,我想重命名当前文件夹中的文档以删除日期(11个字符)。

离。

Copy D:\Client\Current\Current Quote 09 30 2014.docx --> D:\Client\Expired\Current Quote 09 30 2014.docx
Rename D:\Client\Current\Current Quote 09 30 2014.docx --> D:\Client\Current\Current Quote.docx

提前感谢您的建议,

约旦

1 个答案:

答案 0 :(得分:0)

不确定这是否会覆盖它,但它至少应该让你朝着正确的方向前进。如果您需要处理多个文件,或者只是一个可能具有不同日期的文件,则有点不清楚。

@echo off
setlocal ENABLEDELAYEDEXPANSION
for /d %%a in (*) do (
    pushd %%a\current
    for %%f in (filename*) do (
        copy "%%f" ..\expired
        set fn=%%~nf
        set fn=!fn:~0,-11!
        ren "%%f" "!fn!%%xf"
    )
    popd
)