[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 aloha20200628 于 2024-9-10 18:39 编辑


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

TOP

本帖最后由 qixiaobin0715 于 2024-9-11 08:42 编辑

回复 29# aloha20200628
%td%是经过第2行处理得到的,所以不可能含有空格,那么%td:~8,1%的值也永远不可能是空格,应当是"%date:~8,1%"==" "吧,或者是"%td:~8%"==""。

TOP

本帖最后由 aloha20200628 于 2024-9-11 12:55 编辑

回复 32# qixiaobin0715

一枚手误  阁下真是细心
29楼代码已订正

TOP

返回列表