【发布时间】:2012-01-03 13:29:37
【问题描述】:
我已经成功地复制和操作了一个批处理脚本,该脚本执行以下操作:
- 查看 .csv 文件的最后 4 个字符
- 使用此名称创建文件夹
-
将文件移动到文件夹中
@echo off & setlocal EnableDelayedExpansion echo. pushd "%~dp0" for %%j in (*.csv) do ( set file=%%~nj set folder=!file:~-4! if !folder!==FI_2 set folder=!file:~-6! if not exist !folder! md !folder! move "%%~j" "!folder!" echo "%%~j" -^> "!folder!" ) popd echo.& echo.Done :: End_Of_Batch
我遇到的问题是我需要按月对文件进行分组。文件名如下所示:
BS_IDX_LEVEL_YYYYMMDD_BAFI.csv
(显然 YYYYMMDD 会被替换为文件的日期)
因此,任何名为 BS_IDX_LEVEL_20111231_BAFI.csv 的文件都将进入名为“1112”的文件夹(文件夹的日期格式为 YYMM) 名为 BS_IDX_LEVEL_20111115_BAFI.csv 的文件将进入文件夹名称“1111”
有没有办法我可以改变这个脚本,以便在按文件名组织文件之前先按日期对它们进行分组?
如果我可以进一步解释,请告诉我
【问题讨论】:
-
名称的
BS_IDX_LEVEL_部分是否固定?
标签: batch-file