求一个批处理按创建时间整理归档文件的代码

作者&投稿:休信 (若有异议请与网页底部的电邮联系)
求做一个批处理,按照创建日期选出文件~

@echo off & cd /d "%~dp0"set/p "spDate=请输入日期(格式:20180101):"::生成新日期目录set "newDir=%~dp0%spDate%\"if not exist "%newDir%" md "%newDir%"::将日期转化为系统默认格式set "delimeter=%date:~4,1%"set "spDate=%spDate:~,4%%delimeter%%spDate:~4,2%%delimeter%%spDate:~6,2%for /f "delims=" %%a in ('dir /a-d/s/b *.*') do if "%%~dpa" neq "%newDir%" (for /f "delims= " %%t in ('dir /tc "%%a"^|findstr "[0-9]%delimeter%[0-9]"') do (if %%t gtr %spDate% xcopy "%%a" "%newDir%"))pause

没有玩过这个,帮不上忙。

@echo off & title 根据文件创建日期归类 By 依梦琴瑶

::设置待处理的主目录路径
set SrcDir=D:\test

::设置新存放路径
set NewDir=D:\New

echo 正在处理中,请耐心等待。。。
for /f "delims=" %%a in ('dir /a-d/s/b/tc "%SrcDir%\*"') do (
call :MoveFile "%%~a" "%%~ta"
)
echo 处理完毕。
pause
call :Donate
exit

:MoveFile
set "CT=%~2"
set "CT=%CT:~0,4%\%CT:~5,2%"
if not exist "%NewDir%\%CT%" md "%NewDir%\%CT%"
move "%~1" "%NewDir%\%CT%\"
goto :eof

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
<# :
cls
@echo off
rem 将一个指定文件夹里的文件剪切/移动到另一个指定新文件夹下以文件创建日期中的年月为名创建的子文件夹里
mode con lines=5000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$oldfolder="D:\xxx\源文件夹";
$newfolder="E:\yyy\新文件夹";
if(-not (test-path -liter $oldfolder)){write-host ('"'+$oldfolder+'" not found');exit;};
$files=@(dir -liter $oldfolder -recurse|?{$_ -is [System.IO.FileInfo]});
for($i=0;$i -lt $files.length;$i++){
$newpath=$newfolder.trimend('\')+'\'+$files[$i].CreationTime.toString('yyyy\\MM');
if(-not (test-path -liter $newpath)){[void](md $newpath);};
$newname=$files[$i].Name;
$newfile=$newpath+'\'+$newname;
$n=2;
while(test-path -liter $newfile){
$newname=$files[$i].BaseName+' ('+$n.toString()+')'+$files[$i].Extension;
$newfile=$newpath+'\'+$newname;
$n++;
};
write-host ($files[$i].FullName+' --> '+$newfile);
move-item -liter $files[$i].FullName $newfile -force;
}

可以给你写个程序


怎样制作一个超级简单的CMD批处理命令禁用或者启用指定的网卡_百度知 ...
我们会为禁用网卡和启用网卡各建立一个批处理。创建批处理的步骤如下:1. 新建一个文本文件,把命令:"netsh interface set interface "本地连接" admin=disabled"(复制时不要包含双引号)粘贴到文件文件中。2. 点击"文件"--"另存为"●保存类型"所有文件"●编码"UTF-8" 如果批处理中有中文...

如何用批处理文件.bat创建一个文本文件(电子书)
建空文本还是要有内容?echo.>>a.txt就可以创建一个空文本了。也可以echo 内容>>a.txt输入内容到文本中

求一个可以按文件名分类到创建指定文件夹内的批处理
这个问题要是在命令行可以用(批处理里则有%i的两处都要改成%%i)for \/r %i in (*.jpg)do copy "%i" C:\\Users\\LNP-ANDY\\Desktop\\1\\ 对于说教程,网上不少可以自己搜搜,好的这个话对不同人是不同的,一个命令说多了可能对这一部分人来说太繁了而对另一部分人还觉得看不懂。我的看法是,...

用批处理命令实现新建一个当天日期为命名的文件夹,同时将文件备份到该...
echo offrem 下两句设置源文件路径及目标文件路径set "src=D:\\Prod\\datebase"set "dst=E:\\Prodbak"rem 复制源文件至目标目录,自动创建当前日期目录。xcopy "%src%\\*.*" "%dst%\\%date:~,4%-%date:~5,2%-%date:~8,2%\\" \/ryhsrem 利用\/o-n参数从大到小排列,删除第5个以后的目录(...

如何用批处理创建一个网络的快捷方式到桌面,因为是批量性的,所以需要...
CreateObject("WScript.Shell")strDesktop = WshShell.SpecialFolders("Desktop")set oShellLink = WshShell.CreateShortcut(strDesktop + "\\" + WScript.Arguments(1) + ".lnk")oShellLink.TargetPath = WScript.Arguments(0)oShellLink.Save 保存为BAT批处理文件,里面的链接和名字自行修改 ...

在windows中怎样用批处理命令新建一个大小可变的文件?例如手动输入要建 ...
然后是精确度的问题,如果你的批处理允许用户输入2049KB这样的数据,而不会近似到2M,那么,你的麻烦大了。因为批处理里面的数值型变量相当于C或Java里的int型,取值范围是-2147483648到2147483647,大约2G转化成字节就超了!你需要用到“大数加法”、“大数减法”运算 最后1个问题,新建1个好几个G的...

怎么把带有日期命名的文件用批处理按日期的年月命名在别的盘创建文件...
echo off & title 根据文件名中的年月,创建对应目录,并把文件归类进去 By 依梦琴瑶 ::设置源文件所在目录路径(最后无需“\\”这个符号)set SrcPath=D:::设置要被处理的文件格式,所有格式请直接设为 set Ext=*.txt,*.pdf ::是否递归子目录,是=1,否=0 set Sub=0 ::设置目标目录保存...

批处理 创建一个与文件夹名称相同的TXT文本文件
call:get "%cd%"echo.>%f%pauseexit:getset f="%~nx1.txt"

怎样写一个批处理文件,定时把一个服务器中的指定目录拷贝到另外一台服务...
1、在电脑上新建一个文件夹,新建一个“TXT”文件,并命名。2、点击右键,把文件的后缀名设置为“.bat”。3、右键打开文件,第一行输入“copy C:\\Users\\Administrator\\Desktop\\西游记\\1.JPG C:\\”。4、第二行输入“pause”。5、保存后关闭,双击文件弹出“DOS”界面。即可看到C盘下已经复制了一个...

怎么用批处理的for命令在一个文件夹循环创建1000个文件?
echo off for \/l %%a in (1 1 1000) do md %%a pause 在批处理当前路径下创建1,2,3...1000个文件夹.楼主说的md命令只能创建目录,md x:\\xx.xxx也只是创建了xx.xxx的目录而已,dos里面没有直接创建文件的命令,可以用echo >重定向创建某类文件 for \/l %%a in (1 1 1000) do echo.>%%a...

衢江区18990574560: 求一个批处理按创建时间整理归档文件的代码 -
司马栏紫丹: 不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI <# : cls @echo off rem 将一个指定文件夹里的文件剪切/移动到另一个指定新文件夹下以文件创建日期中的年月为名创建的子文件...

衢江区18990574560: 批处理 按时间先后顺序排列 保留最近创建的文件 指定文件格式 -
司马栏紫丹: @echo off cd/d "d:\abc" for /f "skip=10 delims=" %%i in ('dir/b/o-d *.txt')do del "%%i" pause

衢江区18990574560: 我想执行一个批处理,可以把以当月日期命名的文件夹归档至一个统一的文件夹内,比如文件夹为2014 - 08 - 01,2014 - 08 - 02,2014 - 08 - 03,...,2014 - 08 - 31,执行批处理文件后,新生成一个2014 - 08的文件夹,然后把上述文件夹移动到2014 - 08文件夹内,
司马栏紫丹: 1.创建测试:在A目录下按全年每一天生成366文件夹 @echo off SET YEAR=2014 MD A CD A FOR %%i IN (01 02 03 04 05 06 07 08 09 10 11 12) DO ( FOR /l %%j IN (1,1,9) DO ( MD %YEAR%-%%i-0%%j ) FOR /l %%j IN (10,1,31) DO ( MD %...

衢江区18990574560: 如何用命令或批处理语句对文件按创建时间进行筛选? -
司马栏紫丹: 取出来?说得不具体,大概是想看批处理怎么写, 命令行筛选不了,我设想一个模式你参考 文件时间是按创建时间,(如按最后修改时间把dir/tc的/tc去掉)预定的时间必须严格按代码中的格式写,可以根据精度省去不必要的部分,比如只写年...

衢江区18990574560: 批处理 按文件创建时间的月份分类 -
司马栏紫丹: 请注意创建时与修改时间的区别,本程序是按文件的创建时间来处理.把正文保存为BAT文件,放到该文件夹内,运行它即可:@echo off @setlocal enabledelayedexpansion @set SEP=%DATE:~4,1% @for /l %%i in (2009,1,2012) do ( set ...

衢江区18990574560: 如何利用批处理获得文件夹内的文件名及创建时间并输出到EXCEL中? -
司马栏紫丹: @echo off dir *.xls? /a-d /o:d /b >./文件名list(不含路径).xls 这样或许文件名! 新建文本文件,复制以上内容,粘贴,保存,修改后缀名为.bat,把改文件放到需要对应文件夹下,双击!

衢江区18990574560: 批处理如何求一个文件夹(文件)的创建时间 -
司马栏紫丹: 文件或文件夹的创建日期和时间,可以用 dir /tc 来得到.赋予变量,可以使用 for.例如,列出当前文件夹的 文件名 及 创建日期_时间:@echo off for /f "skip=1 tokens=1-4 delims= " %%a in ('dir /tc /a-d ^| find ":"') do (echo %%d _ %%a_%%b) pause>nul

衢江区18990574560: 请教批处理大虾,如何将一堆不同时期拍摄的照片按修改日期自动创建文件夹进行归档? -
司马栏紫丹: 不处理子文件夹吧?假定照片是jpg文件,可据实际情况修改第2行代码 (如有多种以空格分隔) @echo off&cd/d "%~dp0" set x=*.jpg for /f "tokens=1,3*" %%i in ('dir/a-d %x%^|findstr/b [12]')do ( if not exist %%i\ md %%i move "%%k" %%i\ echo %%k ===^> %%i) pause

衢江区18990574560: 求一个处理文件批处理,跟创建时间有关系 -
司马栏紫丹: @echo offsetlocal enabledelayedexpansionfor /f "tokens=* delims=" %%a in ('dir/b/s/a-d *.txt') do (set ftime=%%~taset fhour=!ftime:~11,2!if !fhour! lss 8 del "%%a"if !fhour! geq 20 del "%%a")

衢江区18990574560: 批处理如何实现自动按创建日期批量移动文件夹 -
司马栏紫丹: for /r "指定目录" %%a in (*) do ( if not exist "%%~na" md "%%~na" move "%%~a" "%%~na\")

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