批处理文件,用于读取文件的创建时间并将其移动到基于该时间命名的新文件夹中

时间:2016-02-05 11:10:33

标签: csv batch-file command-line

每天只有一个基础我每小时都会收到50+ .csv文件,我需要帮助才能实现自动化。问题是我创建了一个新文件夹,即批处理1,然后我通过所有文件到达时间范围为凌晨1点到达下一个并将其剪切并粘贴到该文件夹​​“批处理1”

当有大量文件需要剪切和粘贴时,这会变得非常紧张和耗时:(

我需要有关批量代码的帮助,可以:

1.读取'文件创建的时间'(每小时不需要分钟)

2.如果文件是在(00:00 - 00:59)内创建的,则将该文件移至新文件夹并将其命名为“Batch 1”

  1. 重复上述步骤但使用不同的时间范围(01:00 - 01:59),然后将该文件移至新文件夹并将其命名为“Batch 2”
  2. 4.并以不同的时间再次重复 - (23:00 - 23:59)

    我已经变得只能创建一个新文件夹,但仍然坚持如何继续阅读文件。

    抱歉第一次在这里问一个问题:p

1 个答案:

答案 0 :(得分:0)

使用您提供的信息,这应该移动文件 首先在示例文件上测试它。

@echo off
 for /f "delims=" %%a in ('dir *.csv /b /a-d') do (
    for /f "tokens=2 delims=: " %%b in ("%%~ta") do (
        md "Batch %%b" 2>nul
        move "%%a" "Batch %%b" >nul
    )
)
pause

以下初步调试步骤:

当您在文件夹中运行它时,它将显示可用于获取小时的日期/时间字符串的格式。每台计算机都可以有不同的格式。

如果您可以显示屏幕输出的样本,则可以创建简化的解决方案。

@echo off
 for /f "delims=" %%a in ('dir *.csv /b /a-d') do (
  echo %%~ta
)
pause