本帖最后由 aloha20200628 于 2024-9-10 18:39 编辑
29楼代码第三行是为兼容系统日期变量 %date% 和 %%~tF 被取值 yyyy*mm*dd 或 yy*mm*dd 两种实况,以便后续的字符串截取偏移量能自适应10位或8位日期值,其实29楼代码还可更简化一步,用 for/f 分割器一气呵成(确保%date%与%%~tF的日期取值方法相同),同时也省略了循环体内的延迟变量... 代码如下
- @echo off &setlocal
- for /f "tokens=1 delims= " %%a in ("%date%") do set "td=%%a"
- cd /d "d:\目标文件夹" &set "dt=d:\目的地文件夹\%td:/=-%"
- md "%dt%" 2>nul
- for /f "delims=" %%F in ('dir /b/tw/o-d') do if "%%~fF" neq "%~f0" (
- for /f "tokens=1 delims= " %%t in ("%%~tF") do if "%td%"=="%%t" (
- move /y "%%F" "%dt%\") else pause&exit/b
- )
- pause&exit/b
复制代码
|