批处理如何实现指定日期文件夹移动功能

如何通过批处理实现把c盘下某一文件夹里的日期文件夹和特定日期比较,小于特定日期的文件里和里面的文件全部移动到d盘。
比如c:\a下文件夹20200101,20200102,20210102.指定日期20210101 小于指定日期的文件夹都移动到d盘

第1个回答  2021-01-06
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
/*&cls
@echo off
rem 将一个指定目录里以指定日期格式命名并小于指定日期的文件夹剪切/移动到另一个新的目录里
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set specday=20210101
set "oldfolder=C:\a"
set "newfolder=D:"
if not exist "%oldfolder%" (echo;"%oldfolder%" not found&pause&exit)
if not exist "%newfolder%" md "%newfolder%"
if "%oldfolder:~-1%" equ "\" set "oldfolder=%oldfolder:~,-1%"
if "%newfolder:~-1%" equ "\" set "newfolder=%newfolder:~,-1%"
for /f "delims=" %%a in ('dir /ad-h/b "%oldfolder%\"^|cscript -nologo -e:jscript "%~f0"') do (
if "%%a" lss "%specday%" (
set "f="&echo;"%oldfolder%\%%~nxa"
xcopy "%oldfolder%\%%~nxa" "%newfolder%\%%~nxa\" /y /e /q /h /r||(set f=1)
if not defined f (rd /s /q "%oldfolder%\%%~nxa")
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
while(!WSH.StdIn.AtEndOfStream){
var it=WSH.StdIn.ReadLine();
if(/^\d{8}$/.test(it)){WSH.echo(it);}
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网