批处理如何实现删除当前目录内最近修改时间3天以外的所有文件? 批处理删除当前文件夹下当前日期2天前的文件夹和文件

\u600e\u4e48\u5199\u4e00\u4e2a\u6279\u5904\u7406\uff0c\u6307\u5b9a\u5220\u9664\u7279\u5b9a\u6587\u4ef6\u5939\u4e0b\u9664\u4eca\u5929\u65e5\u671f\u4ee5\u5916\u7684\u6240\u6709\u6587\u4ef6

edit \u8fdb\u5165\u7f16\u8f91

\u5e2e\u4f60\u5199\u4e2a\u5220\u9664\u4fee\u6539\u65e5\u671f\u57282\u5929\u524d\u7684\u6587\u4ef6\u7136\u540e\u5220\u9664\u7a7a\u6587\u4ef6\u5939\u7684, \u5e94\u8be5\u53ef\u4ee5\u6ee1\u8db3\u8981\u6c42
\u5148\u6309\u4ee3\u7801\u8fd0\u884c\u6d4b\u4e00\u4e0b\uff0c\u4f1a\u663e\u793a\u8981\u5220\u7684\u6587\u4ef6\u53ca\u5176\u4fee\u6539\u65e5\u671f\uff0c\u4f46\u4e0d\u5220\uff0c\u628a\u7b2c14\u884c\u884c\u9996\u7684rem\u53bb\u6389\u8fd0\u884c\u624d\u4f1a\u771f\u5b9e\u5220\u9664\u663e\u793a\u7684\u6587\u4ef6, \u7531\u4e8e\u6d4b\u8bd5\u65f6\u6709\u4e9b\u6587\u4ef6\u5939\u8fd8\u6ca1\u5220\u7a7a\uff0c\u6240\u4ee5\u6d4b\u8bd5\u65f6\u663e\u793a\u7684\u7a7a\u6587\u4ef6\u5939\u4e0e\u6700\u540e\u8fd0\u884c\u65f6\u5e76\u4e0d\u4e00\u81f4
@echo offset/a n=2 &rem \u53ef\u8c03\u6574 \u4e0d\u8981\u8d85\u8fc7\u4e00\u4e2a\u6708\u7684\u5929\u6570set/a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100set/a d-=n,"1/(d>>31)" 2>nul&&( set/a m-=1,d+=31,y-=!m,m+=!m*12 set/a "d-=!(m-2)*(3-!(y&3))+!(m-4)+!(m-6)+!(m-9)+!(m-11)")set/a m+=100,d+=100set ymd=%y%-%m:~1%-%d:~1%echo \u5220\u9664%n%\u5929\u524d\u6587\u4ef6cd/d "%~dp0"for /r %%i in (*)do if /i not "%%i"=="%~f0" ( if "%%~ti" lss "%ymd%y" ( echo %%~ti %%irem del "%%i"))echo \u5220\u9664\u7a7a\u6587\u4ef6\u5939for /f "delims=" %%i in ('dir/b/ad/s^|sort/r')do ( rd "%%i" 2>nul&&echo %%i)pause

第二行设置保留文件数量,每天一个文件就设置为3,每天大约十个文件就设置为30以此类推
第三行设置备份文件后缀,本批以txt为例
为保证数据安全本批只显示删除命令不执行,核对无误后把倒数第二行前面的del删除后运行即可。
@echo off
set k=3
set hz=txt
pushd r:\back
for /d %%i in (*) do (
echo %%i
for /f "skip=%k%" %%j in ('dir/b/o-d %%i\*.%hz%') do (
echo del "%%~dpnxj"))
pause

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
<# :
cls&echo off&mode con lines=5000
rem 查找并删除当前目录下修改时间在指定天数以前的文件
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$ago=-3;
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$agodate=(get-date).AddDays($ago).toString('yyyy-MM-dd');
$files=@(dir -liter $path -recurse|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])}|sort {$_.LastWriteTime} -Descending);
for($i=0;$i -lt $files.length;$i++){
$wt=$files[$i].LastWriteTime.toString('yyyy-MM-dd');
if($wt -le $agodate){'['+$wt+']'+$files[$i].FullName.Substring($path.length);}
}

只看修改时间吗,还是还需要看别的什么属性?

  • 浣跨敤鎵瑰鐞嗗垹闄鎸囧畾鐩綍涓嬬殑鏂囦欢,鍙繚鐣欐渶鏂扮殑7涓枃浠
    绛旓細echo off&setlocal enabledelayedexpansionpushd D:\ftproot\197bakset n=0for /f "delims=" %%a in ('dir /a-d-h /b /o-d fzbak_*.bak') do (if !n! geq 7 del "%%~a"set /a n+=1 )popd淇濆瓨涓篶md鏂囦欢 鐒跺悗鎵ц鍛戒护 schtasks /Create /SC DAILY /TN rmfzbak /TR "cmd...
  • 濡備綍鍐欎竴涓鎵瑰鐞鏂囦欢(.bat)鎵归噺鍒犻櫎褰撳墠鐩綍鍙婂瓙鐩綍涓嬬殑鎵鏈夋枃浠跺悕...
    绛旓細鎶婁簲涓棶鍙锋敼鎴愭偍瑕鍒犻櫎鐨勫瓧绗︺俿et f=!f:_=!鍏跺畠瀛楃鐨勶紝鎸夌収杩欎釜鏍峰瓙鍐欏氨琛屻
  • 鎵瑰鐞嗗垹闄褰撲笅鐩綍灏戜簬2涓枃浠剁殑鏂囦欢澶,鍖呮嫭瀛愮洰褰曘
    绛旓細echo 褰撳墠姝e湪杩愯鐨鎵瑰鐞鏂囦欢鎵鍦ㄨ矾寰勶細!cd!pause echo off echo 褰撳墠鐩綍鏄細%cd pause echo off :: set "abc=%cd%"echo 褰撳墠姝e湪杩愯鐨勬壒澶勭悊鏂囦欢鎵鍦ㄨ矾寰勶細%~dp0 pause echo off echo 褰撳墠鐨勭洏绗﹀強璺緞:%~dp0 echo 褰撳墠鐨勭洏绗﹀強璺緞鐨勭煭鏂囦欢鍚嶆牸寮:%~sdp0 pause echo 鍙栧綋鍓嶆枃浠剁殑涓婄骇...
  • 鎵瑰鐞鍛戒护-濡備綍鍒犻櫎鎸囧畾璺緞鏂囨湰鏂囦欢绗竴琛?
    绛旓細涓嶆竻妤氫綘鐨勫疄闄呮枃浠/鎯呭喌锛屼粎浠ラ棶棰涓鐨勬牱渚/璇存槑涓烘嵁锛涗互涓嬩唬鐮佸鍒剁矘璐村埌璁颁簨鏈紝鍙﹀瓨涓簒x.bat锛岀紪鐮侀堿NSI echo off rem 鍒犻櫎鎸囧畾鏂囦欢澶/鐩綍涓嬪涓猼xt鏂囨湰鏂囦欢鐨勭涓琛屽唴瀹 set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4 title %#% +%$%%$%/%@% %z cd /d "%~dp0"...
  • 鎬庝箞鐢鎵瑰鐞嗗垹闄ゅ綋鍓嶇洰褰涓嬫墍鏈夋枃鏈枃浠朵腑鎸囧畾瀛楃涓蹭箣鍓嶇殑鍐呭?_鐧 ...
    绛旓細鎵瑰鐞鏂囦欢鏀句綘閭褰撳墠鐩綍涓嬶紝鍋囧畾瑕佹壘鐨勫瓧绗︿覆鏄痑bcd,杩愯鍚庡皢鎶婂湪姝や箣鍓嶇殑鎵鏈夊唴瀹(鍖呮嫭鏈涔嬪墠鐨勫強涓婇潰鎵鏈夎)鍒犲幓,鏈壘鍒拌繖瀛楃涓茬殑鏂囨湰鍒欎笉鍔:echo on&setlocal enabledelayedexpansion set str=abcd for /f "delims=" %%i in ('findstr/m /i "%str%" "*.txt"')do (for /f "tokens...
  • 璇烽棶鎵瑰鐞嗗浣曞綋鍓鏂囦欢澶规壒閲鍒犻櫎鏂囦欢鍓嶈緧?
    绛旓細涓嶆竻妤氫綘鐨勫疄闄呮枃浠/鎯呭喌锛屼粎浠ラ棶棰涓鐨勬牱渚/璇存槑鍙婄寽娴嬩负鎹紱浠ヤ笅浠g爜澶嶅埗绮樿创鍒拌浜嬫湰锛屽彟瀛樹负xx.bat锛岀紪鐮侀堿NSI/GB2312锛岃窡瑕佸鐞嗙殑澶氫釜鏂囦欢鎴栨枃浠跺す鏀句竴璧峰弻鍑昏繍琛<# :cls&echo off&cd /d "%~dp0"&mode con lines=5000rem 灏褰撳墠鐩綍涓嬫墍鏈夋枃浠剁殑鍚嶇О寮澶寸殑鎸囧畾鍓嶇紑瀛楃鍒犻櫎path %...
  • 姹bat鎵瑰鐞嗗垹闄ゅ綋鍓嶇洰褰涓嬫墍鏈塼xt鏂囦欢涓殑鏁板瓧鍐呭
    绛旓細濡傛灉鏂囦欢涓鍐呭閮芥槸浣犱笂闈妇渚嬬殑鏍煎紡锛氫腑鏂+鏁板瓧+鎵╁睍鍚嶏紝鍙互杩欐牱锛歟cho offfor %%i in (1 2 3 4 5) do ( (for /f "tokens=1* delims=0123456789" %%a in (%%i.txt) do echo %%a%%b)>tmp move /y tmp "%%i.txt")濡傛灉鏂囦欢涓唴瀹规湁涓枃+鏁板瓧娣峰悎鐨,濡傦細涓枃12瀛椾綋3.png,鍒欙細ec...
  • 鎵瑰鐞嗗浣鎼滅储骞鍒犻櫎鏂囦欢澶瑰唴鐨勬枃浠?
    绛旓細鎮ㄥ彲浠ヤ娇鐢鎵瑰鐞鐨 forfiles 鍛戒护鏉ュ湪鎸囧畾鐨勬枃浠跺す鍐呮悳绱㈡煇涓叧閿瓧锛屽苟鍒犻櫎鍖呭惈杩欎釜鍏抽敭瀛楃殑鏂囦欢鎴栨枃浠跺す銆傚叿浣撶殑鍋氭硶濡備笅锛氬湪鎵瑰鐞嗘枃浠朵腑锛岄鍏堜娇鐢 cd 鍛戒护鍒囨崲鍒拌鎼滅储鐨勬枃浠跺す鎵鍦ㄧ殑鐩綍銆傜劧鍚庯紝浣跨敤 forfiles 鍛戒护鏉ヨ繘琛屾悳绱傝鍛戒护鐨勮娉曞涓嬶細forfiles /P <path> /S /M *<keyword>* /C ...
  • 浣跨敤鎵瑰鐞鏂囦欢鍒犻櫎鍚鐩綍涓嬫寚瀹氭枃浠跺唴鎸囧畾鍐呭
    绛旓細for /f %%i in ('dir d:\test\*abc*.html /s/b') do del /f /q "%%i"鐢ㄨ繖涓彞瀛愬惂锛屽叿浣撴槸鏌ユ壘d鐩榯est鐩綍涓嬫墍鏈塰tml鏂囦欢锛屼笖鏂囦欢鍚嶄腑鍖呮嫭鏈塧bc瀛楃涓诧紝鏌ユ壘鍒扮劧鍚鍒犻櫎銆俛bc*.html杩欎釜閫氶厤绗﹀彲浠ユ悳绱㈡寚瀹氬瓧绗︿覆鐨刪tml銆俤el /f /q 鏄己鍒跺垹闄や笖涓嶇敤纭銆俤ir /s /b 杩欎釜鍙互鍦ㄥ悇涓瓙...
  • 鐢鎵瑰鐞嗗垹闄 褰撳墠鐩綍鐨勫瓙鐩綍鐨勭壒瀹氭枃浠跺す
    绛旓細echo off for /f %%i in ('dir /b /l /s "*version*" ') do del "%%i" /f /s /y%%rd /s /Qpause
  • 扩展阅读:编写批处理删除文件 ... 批处理强制删除文件夹 ... bat批处理命令大全 ... 批处理怎么删除文件夹 ... 批处理删除文件语法 ... 批处理命令教程 app ... 批处理删除指定文件夹 ... 删除文件名前缀 批处理 ... 批处理删除指定日期文件 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网