标题: [文件操作] 批处理如何自由输入,始年,尾年,新建年代夹,然后将对应子孙件分拣入夹? [打印本页]
作者: youxianwei 时间: 2022-9-28 18:12 标题: 批处理如何自由输入,始年,尾年,新建年代夹,然后将对应子孙件分拣入夹?
求助如何自由输入,始年,尾年,新建年代夹,然后将对应子孙件分拣入夹?
set /p 始年= 请输入【4位数始年】:
set /p 尾年= 请输入【4位数尾年】:
mkdir 始年~尾年
。。。。
参考固定年代分拣代码如下- @echo off&setlocal enabledelayedexpansion
- set a=2000~2008
- for /f "delims=" %%i in ('dir /b/s /a-d') do (
- for %%j in (%a%) do (
- if not exist "%%j" md "%%j"
- for /f "tokens=1,2 delims=~" %%k in ("%%j") do (
- set d=%%~ti
- set d=!d:~0,4!
- if !d! geq %%k if !d! leq %%l if not "%%i"==%0 move "%%i" "%%j"
- )
- )
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2022-9-29 09:06
代码中尽量避免出现中文字符,那样出现问题的概率要大很多:- @echo off
- set /p StartYear=Please Input StartYear:
- set /p EndYear= Please Input EndYear:
- set "TPFolder=%StartYear%~%EndYear%"
- md "%TPFolder%" 2>nul
- for /f "delims=" %%i in ('dir /b /s /a-d') do (
- if not "%%i"==%0 (
- for /l %%j in (%StartYear%,1,%EndYear%) do (
- for /f "delims=/" %%k in ("%%~ti") do (
- if %%k equ %%j move "%%i" "%TPFolder%"
- )
- )
- )
- )
- pause
复制代码
作者: hfxiang 时间: 2022-9-29 10:49
- forfiles /C "cmd /c if @fdate LSS 2009 if @fdate GTR 1999 @move /y @path %cd%./2000~2008/"
复制代码
作者: youxianwei 时间: 2022-9-29 15:05
回复 2# qixiaobin0715
感谢答复,测试好用!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |