bat当前文件夹路径,并对文件夹下的所有文件创建对应修改日期的文件夹,并把文件移动到创建后的文件夹里
时间: 2023-08-11 15:04:17 浏览: 258
可以使用以下的 BAT 脚本来实现:
```
@echo off
setlocal enabledelayedexpansion
set source_dir=%cd%
for /f "delims=" %%i in ('dir /b /a-d "%source_dir%"') do (
set file=%%i
for /f "usebackq" %%j in ('wmic datafile where name^="%source_dir%\!file!" get lastmodified ^| find "."') do (
set datetime=%%j
set date=!datetime:~0,4!-!datetime:~4,2!-!datetime:~6,2!
if not exist "!date!" md "!date!"
move "!file!" "!date!"
)
)
echo Done.
```
在脚本中,`source_dir` 是当前文件夹路径。
首先,使用 `for` 循环遍历当前文件夹下的所有文件,然后使用 `wmic` 命令获取文件的最后修改时间。接着,使用字符串截取方法将时间转换为日期格式,然后使用 `if not exist` 命令创建对应日期的文件夹。最后,使用 `move` 命令将文件移动到对应的日期文件夹中。
注意,在 BAT 脚本中,需要使用 `%cd%` 来获取当前文件夹路径,并且需要使用 `setlocal enabledelayedexpansion` 命令来启用延迟环境变量扩展,以便在循环中使用 `!` 来引用变量。
阅读全文