根据文件名中的日期创建批处理文件并移动文件

tdm

我有大量的excel文件,其文件名都以如下所示的时间戳结尾:

examplefile_2018_08_24_110222.xlsx

我想根据时间戳的月份和年份移动所有这些文件,但我希望文件夹名称为上个月。因此对于上面的示例,我想创建一个名为July2018的文件夹并将该文件移到该文件夹​​中。是否可以使用批处理文件来执行此操作?

壁球手

我认为这将满足您的需要。我添加了一些注释,因此,如果您不懂代码中的一行,请告诉我。

@ECHO OFF

REM get a list of the files
FOR %%F IN (*.xlsx) DO (
    REM GET 2nd, 3rd and 4th parts of file name: examplefile_2018_08_24_110222.xlsx
    FOR /F "tokens=2,3,4 delims=_" %%G IN ("%%~F") DO (
        REM GET previous month and/or year
        FOR /F "delims=" %%J IN ('powershell "(Get-Date %%H/%%I/%%G).AddMonths(-1).ToString('MMMMyyyy')"') DO (
            REM make the directory
            md "%%J" >nul 2>&1
            REM move the file
            move "%%~F" "%%J\"
        )
    )
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

批处理文件命令,用于根据当前日期创建文件名

批处理文件以根据文件名复制文件

根据文件名批处理中的日期字符串移动文件

批处理文件可根据文件名中的字符复制文件并远程执行

在批处理文件中使用日期和时间来创建文件名

批处理文件以从文件名中删除减号

批处理文件中的文件名提取

批处理文件根据文件名的最后一个字符移动文件

批处理文件,用于根据文件名将文件移动到文件夹

Windows中的批处理文件名和行数

创建脚本以根据日期或文件名移动文件

根据批处理脚本中的文件名忽略文件

批处理文件并使用文件的文件名

每天根据文件名通过批处理文件保存一个文件

创建批处理文件,以文件名中的某些字符串将文件添加到数组

批处理文件以基于文件名创建文件夹

批处理文件以基于文件名移动Excel工作簿

在命令行或批处理文件中创建带有日期和时间的文件名的最简单方法

Windows批处理文件,用于根据文件名将文件移动到子文件夹

批处理文件-文件名提取

批处理文件根据名称移动文件

Windows XP批处理文件日期到文件名

在Windows批处理文件中将日期追加到文件名

批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

批处理文件,用于获取文件夹中的所有文件名

Windows批处理文件中文件名中包含非ASCII字符的文件

批处理文件;列出目录中的文件,仅列出文件名?

批处理文件以列出csv中的文件路径和文件名

窗口批处理文件-无法在指定的文件夹中获取文件名