本帖最后由 aloha20200628 于 2024-9-7 19:38 编辑
为批处应对此类题型留下前车之鉴》
取值 %date% 须截取 %date:~0,10%,
用其创建目录前须置换其中分隔符 %date:/=-%,
提取 dir 全量列表后几项数据前须检测其中时间字段的个数...
以下代码是对3,8,14楼代码的完整修复... 运行结果会将 ‘d:\目标文件夹’ 中当日创建生成的目录和文件移至 ‘d:\目的地文件夹\20240907’ 目录中...
- @echo off &setlocal &set "td=%date:/=-%"
- cd /d "d:\目标文件夹" &set "td=d:\目的地文件夹\%td:~0,10%"
- md "%td%" 2>nul &set "tf=%td%\all.tmp"
- dir /tc/o-d|findstr /bc:"%date:~0,10% ">"%tf%" &set/p s=<"%tf%"
- if "%s:~14,1%"==":" (set "q=3") else (set "q=4")
- (for /f "tokens=%q%* delims= " %%a in (%tf%) do if "%%b" neq "." if "%%b" neq ".." if /i "%%b" neq "%~nx0" move /y "%%b" "%td%\")>nul 2>nul
- del /q "%tf%"&endlocal&pause&exit/b
复制代码
|